ПОИСК Статьи Рисунки Таблицы Общая характеристика трансляторов из "Программирование и вычислительные методы в химии и химической технологии" Все трансляторы по способу переработки исходной программы разделяются на однопроходные и многопроходные. В совершенных многопроходных трансляторах иногда используются дополнительные просмотры исходной программы с целью оптимизации отдельных частей рабочей программы. Например, при составлении программы для вычисления значений арифметических выражений можно исходить из наилучшей последовательности выполнения арифметических операций. [c.163] Одной из наиболее важных характеристик трансляторов является метод, с помощью которого анализируется структура текста программы. Все методы можно разделить на две группы — прямые и синтаксические. [c.164] Прямые методы трансляции базируются на понятии основного символа языка Алгол. Символы языка по мере просмотра программы заносятся в так называемый магазин , где хранятся до тех пор, пока не будет закончен их перевод. Этот метод особенно эффективен при анализе скобочной структуры программы. Открывающая скобка хранится в магазине до тех пор, пока транслятор не выявит парную ей закрывающую скобку. Трансляция осуще- ствляется так, что внешние скобки помещаются в глубь магазина, а внутренние — снаружи, и переработка исходной программы будет выполняться с вложенных синтаксических конструкций. [c.164] Синтаксические методы трансляции основаны на переработке отдельных синтаксических конструкций Алгола. Транслятор в этом случае представляет набор подпрограмм, соответствующих отдельным операторам. Каждый оператор в исходной программе транслируется своей подпрограммой. В некоторых случаях в основу составления отдельных подпрограмм берется принцип синтаксических единиц языка, например выражение. Достоинством таких трансляторов является то, что исходная программа может задаваться в виде закодированных синтаксических правил перевода. [c.164] Вернуться к основной статье