Cтраница 1
Интерпретация программы осуществляется покомандно в один проход. [1]
Интерпретация программы ( или командной строки в диалоговом режиме) происходит покомандно, в один проход. Если необходимы операции обмена с внешними устройствами или с базой данных на диске, интерпретатор формирует запросы к монитору ввода-вывода или к супервизору базы данных. [2]
Интерпретация программ JVM ( и любых других программ) происходит медленно. Альтернативный подход - сначала скомпилировать апплет или другую программу JVM для вашей собственной машины, а затем запустить скомпилированную программу. Такая стратегия требует наличия компилятора с JVM на машинный язык внутри браузера и возможности активизировать его, когда необходимо. Эти компиляторы называются JIT-компиляторами ( Just In Time - как раз вовремя), и они широко распространены. Однако эта система создает некоторую задержку между получением JVM-программы и ее выполнением, поскольку JVM-программа компилируется на машинный язык. [3]
Принцип интерпретации программ как объектов вычислений, введенный фон Нейманом, положен в основу построения компиляторов и других компонентов операционной системы. Входными данными и результатом работы компилятора являются символы и комбинации символов, записанные в соответствии с грамматическими правилами исходного и объектного языка ( см. гл. Фактически компиляторы явились одними из первых систем символьных вычислений на цифровых машинах. [4]
При первом способе интерпретация программы производится на универсальной ЦВМ и при выполнении каждой команды на регистрацию ( печать) выдается состояние имитируемых устройств ЦВМ и используемых ячеек памяти. Интерпретирующая программа реализует команды управляющей ЦВМ программным способом в командах и разрядной сетке универсальной ЦВМ. При этом программа интерпретации команд управляющей ЦВМ должна обеспечить возможность выделения и запоминания перед выдачей на печать, а также преобразование в удобную для анализа форму, всей информации, характерной для выполнения каждой конкретной команды - состояние сумматоров, регистров, модификаторов, рабочих ячеек, участвующих в реализации данной команды. Основным недостатком этого способа является значительное ( на 2 - 3 порядка) снижение производительности реальной ЦВМ, что может в ряде случаев делать этот способ практически не применимым. [5]
Блок БМУ управляет процессом интерпретации программы, записанной на входном алгоритмическом языке, а также системой оперативного и профилактического контроля. [6]
Модули транзитной библиотеки во время интерпретации программы динамически загружаются в основную память по мере необходимости. [7]
В основе типичной реализации АПЛ лежит чисто программ-ная интерпретация выполняемой программы. Программы хранятся по существу в том виде, в котором вводятся, подвергнувшись лишь минимальной трансляции. Выделяются две статические области памяти: одна для системных программ и одна для рабочей области, используемой программистом в данный момент. С системными программами обычно работают сразу несколько пользователей, однако у каждого из них имеется своя собственная рабочая область. Память, выделяемая под рабочую область, включает статическую подобласть, содержащую системные данные и три динамические подобласти: стек для записей активаций подпрограмм ( локальные среды ссылок и точки возврата), куча для массивов и тел определений подпрограмм и таблица ассоциаций для глобальных идентификаторов. Когда необходимо, выполняется сбор мусора и полное уплотнение памяти. Для хранения массивов применяется обычное последовательное представление с полными дескрипторами, используемыми во время выполнения программы. [8]
Подкоманда REFERENCE может использоваться только во время интерпретации программы. [9]
Обработка программ обычно сложнее ( например, перед интерпретацией программы могут частично компилироваться) и при исполнении необходима более мощная и тонкая поддержка. Этими вопросами занимаются специалисты одной из самых сложных и специфических областей программирования, называемой системным программированием. [10]
Режим DIAGNOSE NODIAGNOSE указывает, что транслятор во время интерпретации программы должен осуществлять проверку двоичных переменных с фиксированной точкой и строковых символьных переменных фиксированной длины на их инициализацию, то есть на присвоение им конкретных значений. [11]
В главе 9 рассматриваются основвные понятия продукционного программирования и особенности интерпретации продукционных программ, связанные с их трансфинитностью. [12]
Как правило, Бейсик реализуется в диалоговых ( интерактивных) системах с интерпретацией программы. Интерпретация в отличие от компиляции обеспечивает простую диагностику ошибок: характер ошибки и место, где она обнаружена, легко описываются не в терминах прерываний и адресов памяти машины, а в терминах языка, на котором написана программа. При работе в режиме диалога имеется возможность, получив сообщение об ошибке, проверить значения переменных, изменить их и попытаться продолжить выполнение программы или повторно запустить ее. При решении несложных задач разработка, тестирование и отладка программы проводятся непосредственно за терминалом. [13]
Выполнение BREAK сигнализирует программисту прежде всего о том, что управление в ходе интерпретации программы дошло цо определенной точки. Таким образом, команда BREAK позволяет проследить последовательность исполнения программы. [14]
Память оперативная - память, в которой размещаются данные, обрабатываемые в ходе интерпретации программ, и, как правило, интерпретируемые программы. [15]