align="justify">
Варіант № 6:
Синтаксичний аналіз пропозицій для регулярної граматики
Варіант № 6
Вихідний файл:
Laba0106.pas або Laba0106.c
Вхідний файл:
input.txt
Вихідний файл:
output.txt
Постановка завдання
Для заданої регулярної граматики написати і налагодити програму синтаксичного аналізу пропозицій породжуваного мови. У ході виконання завдання:
Розробити підпрограми, що забезпечують виділення лексичних одиниць з вхідного пропозиції;
Побудувати в програмі матриці змін станів і виклику підпрограм;
Забезпечити видачу повідомлень про різні види синтаксичних помилок у вхідних пропозиціях
/p>
Позначення термінальних символів при написанні граммматікі:
ц - термінальний символ "цифра" (0,1,2,3,4,5,6,7,8 , 9);
б - термінальний символ "буква" ('A' .. 'Z', 'a' .. 'z' );
/p>
Z - > P | A
T - > C | Tц
B - > T + | T-
P - > Bц | Pц
C - > P.
D - > Cц
A - > Dц | Aц
;
Граматика описує пропозиції види: < число > {+ | -} < число > [. < число >], причому число після крапки повинно містити не менше двох цифр.
У ході розбору пропозиції повинні бути отримані значення всього виразу і число знаків після точки.
/p>
Введення:
Введення вихідних даних здійснюється з файлу input.txt, який містить один рядок, яка містить пропозицію для розбору.
/p>
Висновок
Для рядка у вхідному файлі програма повинна вивести дві або три рядки рішення згідно следуюшего правилом:
Якщо пропозиція коректне, то програма повинна вивести в перший рядок вихідне вираз, у другий рядок число 0, і в третій рядок значення всього виразу ...