Page 46 - 4625
P. 46
роботи синтаксичного аналізатора необхідно закрити вхідний
файл за допомогою функції scaner_close().
8. Реалізувати методом магазинного синтаксичний ана-
лізатор мови програмування С. Врахувати, що на вхід синтак-
сичного аналізатора надходить програма після обробки
препроцесором. Інтерфейс виклику для реалізації функції:
int prepr_std(q,r)
struct node *q; // список КС-правил
struct dnode *r; // початок хеш-таблиці
9. Реалізувати методом магазинного синтаксичний ана-
лізатор мови програмування TURBO PASCAL 5.x. Врахувати,
що на вхід синтаксичного аналізатора надходить програма
після обробки препроцесором. Інтерфейс виклику для
реалізації функції:
int prepr_std(q,r)
struct node *q; // список КС-правил
struct dnode *r; // початок хеш-таблиці
5.3. Блок лабораторних робіт № 3
Наведений нижче перелік лабораторних робіт - це
дослідницькі роботи, які передбачають вивчення додаткового
матеріалу та практичних навичок попередніх розділів.
1. Побудувати LL(k)-граматику (k=1 или k=2) для мови
програмування Delphi. Реалізувати синтаксичний аналізатор
мови програмування Delphi.
2. Скористайтесь інструментальним комплексом LEX/
YACC та реалізуйте синтаксичний аналізатор мови програму-
вання Turbo Pascal 5.xx.
3. Скористайтесь інструментальним комплексом LEX/
YACC та реалізуйте синтаксичний аналізатор мови програ-
мування C.
4. Скористайтесь інструментальним комплексом LEX/
YACC та реалізуйте синтаксичний аналізатор мови програ-
мування C++.
5. Реалізуйте препроцесор мови програмування С++.
6 Реалізуйте препроцесор мови програмування С.
45