Cтраница 1
Фаза интерпретации - обычно набор программ, которые вызываются каждый раз, когда при синтаксическом анализе выявляется та или иная конструкция языка. Назначение этих программ ( называемых программами интерпретации) состоит в создании промежуточной формы исходной программы и в добавлении определенной информации в таблицу индентифика-торов. [1]
Фаза интерпретации результатов заключается в том, что на основании данных, полученных на предыдущих этапах, делаются выводы и даются рекомендации. На этом этапе часто получают объяснение потребностей и возможностей сокращения воздействия на окружающую среду в результате осуществляемой или предполагаемой промышленной деятельности. [2]
В фазе интерпретации необходимо не только обсудить и объяснить результаты, но также и проверить, соответствуют ли результаты физической модели и не является ли часть из них следствием формально проведенных вычислений, а не физических закономерностей. Кроме того, нужно объяснить все изменения в плане вычислений. Почему оказалась сильно отличающейся от предполагаемой функция фактически увиденная. Почему уравнения оказались трудны для решения. Значит ли это, что результаты очень чувствительны к исходной функции или к некоторым параметрам. Все эти вопросы требуют исследования. [3]
После описания фазы интерпретации будет дан подробный пример анализа нашей программы. [4]
Отделение синтаксической фазы от фазы интерпретации является чисто логическим. В действительности очень трудно определить, где кончается процесс распознавания синтаксической конструкции и начинается интерпретация ее смыслового значения. Другими словами, размер фразы, которой необходимо придать значение, может быть произвольным. [5]
Второй просмотр соответствует синтаксической фазе и фазе интерпретации. Просматривается таблица стандартных символов, создается матрица, и информация об идентификаторах помещается в таблицу идентификаторов. Первый и второй просмотры можно объединить в один, рассматривая лексический анализ как программу интерпретации, которая проводит грамматический разбор исходной программы и помещает лексические единицы по мере необходимости непосредственно в стек. [6]
Когда встречается обращение к такой переменной, фаза интерпретации просматривает таблицу идентификаторов в поисках идентификатора, описанного в этом блоке или в ближайшем внешнем, и затем заменяет этот идентификатор соответствующим стандартным символом. Используя предложенную схему, можно кратко описать реализацию такого свойства языка. [7]
![]() |
Структура таблицы идентификаторов для вложенных блоков. [8] |
Возможное решение может состоять в том, что фаза интерпретации должна заводить новые элементы в таблице идентификаторов для переменных, описанных в каждом блоке. [9]
Таблица временной памяти ( часть таблицы идентификаторов) создается фазой интерпретации, чтобы описать промежуточные результаты вычислений в матрице. Эта таблица может быть реализована как часть таблицы идентификаторов, поскольку большая часть информации имеет тот же формат. Это связано с тем, что никакие другие процедуры не ссылаются на нее, и память эта нужна только тогда, когда будет активирована процедура, которой она необходима. [10]
Таблица идентификаторов - создается фазой лексического анализа и заполняется информацией об атрибутах фазой интерпретации. Распределение памяти выделяет память всем идентификаторам, обозначающим данные. Следующие две фазы используют эту информацию для генерации ссылок к этим идентификаторам. [11]
![]() |
Распределение памяти для структуры. [12] |
Фаза интерпретации заменяет все обращения к структуре на стандартные символы. [13]
Лексическая фаза заполняет элементы в таблице имен. Когда фаза интерпретации в каком-либо блоке встречает оператор DECLARE, она заводит элементы в таблице идентификаторов. Каждый элемент снабжается указателем имени идентификатора в таблице имен и индикатором блока, в котором этот идентификатор описан. Кроме того ставятся индекс элемента таблицы идентификаторов, в котором эта переменная переопределяется другим блоком. Таким образом, любую ссылку к переменной внутри блока фаза интерпретации должна заменить стандартным символом. Она находит правильный элемент в таблице идентификаторов, просматривая в этой таблице все вхождения переменной, используя информацию - о блочной структуре и индекс следующего переопределения. [14]
Таблица стандартных символов - создается фазой лексического анализа и содержит исходную программу в форме стандартных символов. Она используется синтаксической, фазой и фазой интерпретации в качестве источника входной информации для стека. Каждый символ из таблицы стандартных символов помещается в стек только один раз. [15]