Обсуждение:Интерпретатор

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Пожалуйста, добавляйте новые темы снизу


определение[править код]

Интерпрета́тор (языка программирования) — программа для 
интерпрета́ции (выполнения вычислений по заданным алгоритмам)
программы по её исходному коду.

Не совсем корректно дано определение. В определении нельзя использовать определяемое или однокоренное к нему слово, в данном случае слово "интерпретация".81.1.243.193 09:32, 16 сентября 2008 (UTC)[ответить]

Сейчас совсем другое дело. 81.1.243.193 06:20, 17 сентября 2008 (UTC)[ответить]

Уникальность Forth-а[править код]

Уникальным является язык Forth, который способен работать как в режиме интерпретации, так и компиляции входных данных, позволяя переключаться между этими режимами в произвольный момент, как во время трансляции исходного кода, так и во время работы программ.

— вообще-то уникальность сомнительная, поскольку режимы интерпретации и компиляции есть во многих интерпретаторах, особенно интерактивных. Взять, к примеру, Бейсик: вы пишете

10 PRINT "Hello, world!"

и оператор добавляется в программу (режим компиляции), пишете

PRINT "Hello, world!"

и он сразу же выполняется (режим интерпретации) и, опять-таки, произвольно. Аналогичные примеры, думаю, можно найти и для Lisp и Smalltalk. То, что режимы интерпретации и компиляции Forth различаются значением всего одной переменной — особенность внешнего интерпретатора языка, не более того. 81.30.81.200 11:52, 10 октября 2008 (UTC)[ответить]

  • Не всё так просто. Во-первых, в бейсике невозможно заменить обработчик ввода пользователя своим обработчиком - только если только написать свой интерпретатор (то есть ввести ещё один уровень интерпретации). А в форте обработка ввода является регулярной (заменяемой) компонентой, работающей наравне с (другими) "пользовательскими" процедурами ("словами"). Во-вторых, программа на бейсике не может обратиться ко встроенному обработчику ввода. Насчёт лиспа - я с ним плохо знаком, поэтому не в курсе, насколько там процедура обработка ввода равноправна (или нет) с другими списками. -- AVBtalk 23:05, 22 октября 2008 (UTC)[ответить]

PHP/Python/Perl and byte-code[править код]

PHP, Python and Perl doesn't create any byte-code. RTFM 77.123.57.80 01:22, 9 ноября 2008 (UTC) CS[ответить]


Недостатки интерпретатора[править код]

Почему внесён пункт

  • Практически отсутствует оптимизация кода, что приводит к дополнительным потерям в скорости работы интерпретируемых программ

? Код на скриптовых языках, которые выполняются через интерпретатор, вполне поддаётся оптимизации. Если кто-то не хочет его оптимизировать, то это не недостаток интерпретатора, а недостаток программиста. Такие программисты и код на компилируемых языках не будут оптимизировать. Предлагаю убрать этот пункт. --91.221.60.102 05:57, 15 февраля 2012 (UTC)[ответить]