- •УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
- •Синтаксический анализатор выполняет две основные задачи:
- •Блок-схема добавления элемента в таблицу идентификаторов методом хеш-адресации
- •Блок-схема поиска элемента в таблице идентификаторов методом хеш-адресации
- •Блок-схема алгоритма добавления элемента в таблицу идентификаторов на основе метода цепочек
- •Блок-схема алгоритма поиска элемента в таблице идентификаторов на основе метода цепочек
- •Результаты
- •Алгоритм работы лексического анализатора:
- •Результат работы лексического анализатора
- •Проектирование синтаксического анализатора
- ••В курсовом проекте КС-грамматика является грамматикой операторного предшествования. Для построения анализатора на основе
- •Результирующее множество крайних левых и крайних правых символов.
- •Матрица операторного предшествования
- •Дерево разбора
- •Выводы
•В курсовом проекте КС-грамматика является грамматикой операторного предшествования. Для построения анализатора на основе этой грамматики, необходимо построить матрицу операторного предшествования. Для этого на первом шаге нужно получить множество крайних левых и крайних правых символов из
правил грамматики G.
Множество крайних левых и крайних правых символов
Символы U |
L(U) |
R(U) |
|
|
|
F |
(, a |
) , a |
|
|
|
E |
E, T, (, a |
T, ) , a |
|
|
|
D |
(, not, E, T, a |
E, T, ) , a |
|
|
|
C |
C, D, (, not, E, T, a |
D, E, T, ) , a |
|
|
|
B |
B, C, D, (, not, E, T, a |
C, D, E, T, ) , a |
|
|
|
O |
if, begin, for, a, ( |
O, end, E, ), T, a |
|
|
|
L |
O, L, if, begin, for, a, ( |
O, ;, end, E, ), T, a |
|
|
|
S |
prog |
end. |
|
|
|
Результирующее множество крайних левых и крайних правых символов.
Символы U |
Lt(U) |
Rt (U) |
|
|
|
F |
(, a |
) , a |
|
|
|
E |
-, +, (, a |
-, +, <<,>>, ) , a |
|
|
|
D |
<, >, =, (, not, -, +, a |
<, >, =, ), -, +, <<, >>, a |
|
|
|
C |
and, <, >, =, (, not, -, +, a |
and, <, >, =, ), -, +, <<, |
|
|
>>, a |
|
|
|
B |
or, and, <, >, =, (, not, -, +, a |
or, and, <, >, =, ), -, +, <<, |
|
|
>>, a |
|
|
|
O |
if, begin, for, a |
else, end, ),do,then, :=, -, |
|
|
+, <<, >>, a |
|
|
|
L |
;, if, begin, for, a |
;, else, end, ), :=, -, +, <<, |
|
|
>>, a, do |
|
|
|
S |
prog |
end. |
|
|
|
Матрица операторного предшествования
Дерево разбора
Выводы
В процессе выполнения курсового проекта…
…было проведено сравнение двух методов построения таблиц идентификаторов
…построен лексический анализатор, который формирует таблицу лексем
…построен синтаксический анализатор, который строит дерево разбора.
