МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
Лабораторная работа №5
по дисциплине «Системное программное обеспечение»
Синтаксис языков программирования. Нисходящий синтаксический анализ, процедурная и автоматные реализации
Выполнил: Белоусов М.Ю. Преподаватель:
Группа: АМ-610 Малявко А.А.
Факультет: АВТ
Вариант: 3134212
Новосибирск 2009
Изучение основных идей и понятий нисходящих методов синтаксического анализа, выявление свойств формальных грамматик, необходимых для реализации нисходящего восстановления дерева грамматического разбора, приобретение навыков построения процедурной и различных автоматных реализаций нисходящего анализа, исследование поведения нисходящих синтаксических акцепторов.
II.1 Идентификаторы и константы
Вариант: |
3 |
Идентификаторы |
<пБ><пЦ> |
Константы |
Целые вещественные символьные 6-ричные L_0/L_1 |
II.2 Объявления примитивных типов (целое, вещественное, символьное, булево):
Вариант: |
1 |
int[e[g[e[r]]]] float char bool |
II.3 Объявления объектов и создание/уничтожение экземпляров
Вариант: |
3 |
Классов |
class |
Экземпляров |
new / delete |
II.4 Оператор присваивания:
Вариант: |
4 |
<И> <= <В> ; |
II.5 Условный оператор:
В-т: |
2 |
when <ЛВ> then <ОБ> [else <ОБ>] |
II.6 Переключатель
В-т: |
1 |
select <В> case (<К>) <ОБ> … end |
II.7 Оператор цикла:
В-т: |
2 |
repeat <ОБ> when <ЛВ> |
Выполнение работы
В ходе выполнения предыдущей работы было рассмотрено определение принадлежности грамматики к классу LL(1), которое определяется по отсутствию пересечения множеств выбора правил с одинаковым нетерминалом в левой части правила.
ü Построить конечный автомат со стековой памятью и несколькими состояниями (шаблон …SyntAsManySA…), разобраться в структуре управляющей таблицы автомата, уяснить способы формирования и использования всех полей;
Часть управляющей таблицы автомата с несколькими состояниями
Грамматика принадлежит классу LL(1)
N сост. |
flag_A |
flag_S |
flag_R |
flag_E |
Переход |
Множество выбора |
Действие |
0 SG |
73 |
class |
|||||
1 OneClass |
76 |
class |
|||||
2 NextClass |
1 |
82 |
class |
||||
3 NextClass |
84 |
main |
|||||
4 Main |
85 |
main |
|||||
5 Idents |
1 |
91 |
bool char float integer |
||||
6 Idents |
93 |
id |
|||||
7 Funcs |
94 |
id |
|||||
8 MainOp`s |
96 |
id bool char delete float integer |
|||||
9 Ident |
98 |
bool char float integer |
|||||
10 OneFunc |
101 |
id |
|||||
11 NextFunc |
1 |
108 |
id |
||||
12 NextFunc |
110 |
} |
|||||
13 MainOp |
1 |
111 |
bool char float integer |
||||
14 MainOp |
1 |
112 |
delete |
||||
15 MainOp |
115 |
id |
|||||
16 NMainOp |
1 |
118 |
id bool char delete float integer |
||||
17 NMainOp |
120 |
} |
|||||
18 Type |
1 |
121 |
integer |
||||
19 Type |
1 |
122 |
float |
||||
20 Type |
1 |
123 |
char |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.