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

UptoLike

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

- 16 -
тическому выражению. Сущность алгоритма анализа сводится к выбору
действия в зависимости от входного символа и вершины анализирую-
щего стека.
Алгоритм с использованием стеков сводится к следующему: для
прочитанного операнда - сброс его в вычислительный стек; для про-
читанной скобки или операции - выбор действия в соответствие с
таблицей перехода анализирующего стека. В результате в вычисли-
тельном стеке формируется исходное выражение в обратной польской
записи.
Пример применения стековых методов к анализу
арифметических выражений
Выражение: (a + b)*c + (d - k) /l Таблица 2.1
+----------------------------------------------------------------+
¦ Т ¦ вх. симдействие ¦ Е ¦
+--------+---------+-----------------------+---------------------¦
¦ +-+ ¦ ( ¦ 1 ¦ ¦
+--------+---------+-----------------------+---------------------¦
¦ +-+ ( ¦ a ¦ ¦ а ¦
+--------+---------+-----------------------+---------------------¦
¦ +-+ ( ¦ + ¦ 1 ¦ ¦
+--------+---------+-----------------------+---------------------¦
¦ +-+ (+ ¦ b ¦ ¦ b ¦
+--------+---------+-----------------------+---------------------¦
¦ +-+ (+ ¦ ) ¦ 4 ¦ + ¦
+--------+---------+-----------------------+---------------------¦
¦ +-+ ( ¦ ) повт.¦ 3 ¦ ¦
+--------+---------+-----------------------+---------------------¦
¦ +-+ ¦ * ¦ 1 ¦ ¦
+--------+---------+-----------------------+---------------------¦
¦ +-+ * ¦ с ¦ ¦ c ¦
+--------+---------+-----------------------+---------------------¦
¦ +-+ * ¦ + повт.¦ 4 ¦ * ¦
+--------+---------+-----------------------+---------------------¦
¦ +-+ ¦ + ¦ 1 ¦ ¦
+----------------------------------------------------------------+