ВУЗ:
Составители:
- 13 -
ЭТАП ПРОЕКТИРОВАНИЯ N 2
Изучение блока синтаксического аналиэа
тpанслятоpов языков пpогpаммиpования
Цель этапа:
Изучить методы констpуиpования синтаксических анализатоpов,
методы использования контекстно-свободных гpамматик, постpоить
синтаксический анализатоp для заданного фрагмента языка програм-
мирования.
Теоретическая часть:
Синтаксический анализ арифметических выражений
1. Тройки как метод представления арифметических выражений
Трансляция арифметического выражения - это построение после-
довательности операторов, которая при означивании неизвестных пе-
ременных дает такой же результат как и вычисленное выражение.
1 3 2 1. a + b
(a + b) + b * c <-------> 2. b * c
t1 t2 3. t1 + t2
Тройкой при вычислении арифметических выражений называют од-
ну операцию и два операнда. Для получения корректной последова-
тельности троек необходимо решить две проблемы: учет приоритетов
операций; порождение промежуточных элементов.
t1 = a + b
t2 = b * c t1 = t1 + t2 (оптимизация про-
t3 = t1 + t2 <-------> межуточных переменных t)
2. Методы обработки бесскобочных арифметических выражений
Методы анализа бесскобочных арифметических выражений сводят-
ся к расстановке скобок вручную или автоматически в бесскобочной
структуре. Существуют различные спецпроцессоры, расставляющие
скобки в выражении.
3. Алгоритм обработки скобок (алгоритм Рутисхаузера)
Алгоритм Рутисхаузера использует для обработки скобочных
структур уровни вложенности скобок.
Страницы
- « первая
- ‹ предыдущая
- …
- 10
- 11
- 12
- 13
- 14
- …
- следующая ›
- последняя »