Cтраница 1
Процессор ATNL-интерпретатора состоит из двух блоков: ПОДГ и ИНТ. В блоке ПОДГ реализуется анализ директив языка отладки и подключение соответствующих им РЕФАЛ-модулей к промежуточному представлению ATNL-программы. Таким образом, при реализации языка отладки в ATNL-интерпретаторе используется принцип конвертирования директив отладки в обращения к специальным отладочным функциям. [1]
Между ATNL-интерпретатором и ATNL-конвертором, как следует из общей схемы последнего, представленной па рис. 5.20, имеется много общего. Действительно, блоки ЛЕКС, СИНТ и формирование ТИ из интерпретатора переходят в конвертор полностью. Кроме того, в конверторе используется и та часть блока 11ОДГ, где обрабатывается задание на отладку ATNL-программ. Однако теперь блок ПОДГ значительно усложняется в целях получения внутреннего представления ATNL-программ, удобного для генерации эквивалентной выходной программы на языке РЕФАЛ. Вместо блока ИНТ в ATNL-конверторе используется блок ГЕНЕР, основные функции которого связаны с регулярной заменой конструкций промежуточного представления на соответствующие им фрагменты РЕФАЛ-программы. [2]
Общий объем ATNL-интерпретатора примерно 20 К, при этом собственно процессор занимает 5 7 К. [3]
В основу собственно процессора ATNL-интерпретатора положена модульная структура. При этом каждая дуга, форма, действие, условие интерпретируются отдельными блоками в соответствии с их семантикой. [4]
Как следует из приведенного предложения, первым блоком ATNL-интерпретатора является блок лексического анализа ( самой внутренней, а следовательно, и исполняемой в первую очередь будет функция К. Все преобразования, выполняемые здесь, вытекают из требований к ЛЕК. [5]
В проекте МИВОС все три транслятора ATNL-системы базируются на метаалгоритмическом языке рекурсивных функций РЕФАЛ, разработанном в ИПМ АН СССР. При этом ATNL-интерпретатор реализован на версии этого языка РЕФАЛ / 2 для ЭВМ БЭСМ-6; этот же язык используется и для реализации, и в качестве выходного языка ATNL-конвертора. Что же касается ATNL-компилятора, то он реализуется также на языке РЕФАЛ / 2, но в качестве выходного, здесь используется макроассемблер мини - ЭВМ СМ-4, что позволяет перейти к многомашинному варианту системы. [6]
Заметим, что исходная программа очень хорошо структурирована скобками в силу LISP-подобности языка ATNL. Поэтому дополнительной скобочной структуризации в ATNL-интерпретаторе не делается. [7]
Как следует из приведенной выше структуры ATNL-си-стемы, трансляция ATNL-программ может быть выполнена по одной из трех схем ( интерпретация, конвертирование или компиляция), каждая из которых обладает своими достоинствами и недостатками. Так, для схемы интерпретации характерны, по-видимому, самая большая простота реализации ATNL и внесения изменений во входной язык ATNL-интерпретатора, но минимальная скорость решения задач анализа. С другой стороны, при компиляции скорость решения определяется уровнем выходного языка компилятора и глубиной оптимизации ATNL-программ и может быть максимизирована в определенных пределах, но изменения входного языка ATNL-компилятора существенно более сложны. В схеме конвертирования, которая по указанным критериям занимает промежуточное положение, скорость решения определяется качеством реализации выходного языка ATNL-конвертора. Простота изменений входного языка определяется уровнем его отличия от выходного языка. [8]
Заметим, что обработка форм, / ц) и ф на этапе СИНТ, как следует из приведенных выше функций, ничем не отличается от обработки других форм. Это достигается заменой их на стандартную форму GETR, аргументом которой является специальная системная переменная, еще в процессе ЛЕКС. Таким образом, увеличивается однородность последующих блоков ATNL-интерпретатора. [9]
Процессор ATNL-интерпретатора состоит из двух блоков: ПОДГ и ИНТ. В блоке ПОДГ реализуется анализ директив языка отладки и подключение соответствующих им РЕФАЛ-модулей к промежуточному представлению ATNL-программы. Таким образом, при реализации языка отладки в ATNL-интерпретаторе используется принцип конвертирования директив отладки в обращения к специальным отладочным функциям. [10]