Цели работы:
проектирование и реализация простых интерпретаторов
Варианты заданий:
а) Для грамматики G( { a,b,c,+,-,*,/,(,) }, {S,T,F}, P, S )
P:
S → S+T | S-T | T
T → T*F | T/E | F
F → (S) | a | b | c
(или эквивалентной
ей грамматики) реализовать распознаватель задаваемых арифметических выражений с
одновременным построением соответствующего выражения в постфиксной форме (су-
компиляция). Используя заданные пользователем значения переменных a,b,c вычислить значение выражения,
применяя стековую организацию
б) По исходному
тексту программы нарисовать ее блок-схему.
в) Реализовать
лексический анализатор. Составить таблицу лексем. Составить таблицу
идентификаторов, построенную методом бинарных деревьев
г) Реализовать
лексический анализатор. Составить таблицу лексем. Составить таблицу
идентификаторов, построенную методом хеш-функции
д) Реализовать
лексический анализатор. Составить таблицу лексем. Составить таблицу
идентификаторов, построенную методом цепочек (хеш функций)
На выполнение
работы дается 6 часов