Конструирование трансляторов для языков программирования высокого уровня. Ярушкина Н.Г. - 24 стр.

UptoLike

Составители: 

- 25 -
Для СГ и КСГ такое соответствие следующее:
1) if [вх. символ] != терм then ошибка,
читать (входной символ)
2) нетерм S: вызов процедуры 'S'
3) ИЛИ: case..., if(if...)
4) И: оператор1; опреатор2; ...
5) повтор: while, for
Синтаксически-управляемые трансляторы
Строгое соответствие элементов синтаксических графов и прог-
рамм транслятора, позволяют осуществлять разработку трансляторов
автоматически. Такие программы называются генерат орами транслято-
ра или синтаксически-управляемыми трансляторами. В операционной
системе UNIX это утилиты lex, jaec.
+--------->
+-------+ +------------+
¦ терм ¦ ¦ <нетерм> ¦
+-------¦ И +------------¦
¦ - ¦ --+--->следующая ¦ - ¦ ---+--->следующая
+-+-----+ +--+---------+
ИЛИ альтернатива +-----------+ альтернатива
¦ ¦ +--------->
<имя> +-------------+ ¦ +--------------+
¦ ¦ <буква> ¦ ¦ ¦ <символ> ¦<---+
+-------+-------------¦ ¦ +--------------¦ ¦
¦ >< ¦ ---+--> ¦ ¦ - ¦ - ¦ ¦
+--+----------+ ¦ +---+-------+--+ ¦
¦ ¦ ¦ ¦ ¦
+----------------------------+ ¦ +-------+
¦ +-----+ +-----------+
+---¦ ¦ ¦ +--+ ¦
¦ ¦ +-----------¦
+-----+ ¦ >< ¦ >< ¦
+-----------+
Рис. 1. Пример ссылочной схемы размещения СГ в ОП