- •Лабораторная работа.
- •Вариант 1.
- •Вариант 2.
- •Вариант 3.
- •Вариант 4.
- •Вариант 5.
- •Вариант 6.
- •Вариант 7.
- •Вариант 8.
- •Вариант 9.
- •Вариант 10.
- •Вариант 11.
- •Вариант 12.
- •Вариант 13.
- •Вариант 14.
- •Вариант 15.
- •Вариант 16.
- •Вариант 17.
- •Вариант 18.
- •Вариант 19.
- •Вариант 20.
- •Вариант 21.
- •Вариант 22.
- •Вариант 23.
- •Вариант 24.
- •Вариант 25.
Вариант 14.
Написать программу синтаксического анализа автоматного языка операторов цикла с предусловием языка QBasic, имеющих вид:
DO WHILE <логическое выражение>
<оператор присваивания>
LOOP
<логическое выражение>:: =<операнд>[<логическая операция><операнд>]
<операнд>:: =<терм><операция отношения><терм>
<терм>:: =<идентификатор>|<константа>
<
>
<операция отношения>:: = <=
>=
=
<>
AND
<логическая операция>:: = OR
XOR
<оператор присваивания>:: =<идентификатор>=<константа>
<идентификатор>- идентификатор, начинается с буквы, включает последовательность букв, цифр, ввести ограничение на длину (не более 8 символов) и не может быть зарезервированным словом (DO, WHILE, LOOP, OR, AND, XOR);
<константа >- целое число в диапазоне -32768+32767 или число с фиксированной точкой.
Семантика:
Построить и вывести на печать таблицы идентификаторов и констант. Учесть перечисленные выше ограничения на идентификаторы и константы.
Сообщать об ошибках при анализе цепочек языка, указывая курсором место ошибки и ее содержание.
Примеры правильных цепочек:
1. DO WHILE A > B AND C = D
A = 18
LOOP
DO WHILE 12.3 > C
A49 = 13.001
LOOP
Вариант 15.
Написать программу синтаксического анализа автоматного языка операторов цикла с постусловием языка QBasic, имеющих вид:
DO
<оператор присваивания>
LOOP UNTIL <логическое выражение>
<оператор присваивания>:: =<идентификатор>=<константа>
<логическое выражение>:: =<операнд>[<логическая операция><операнд>]
<операнд>:: =<терм><операция отношения><терм>
<терм>:: =<идентификатор>|<константа>
<
>
<операция отношения>:: = <=
>=
=
<>
AND
<логическая операция>:: = OR
XOR
<идентификатор>- идентификаторQBasic, начинается с буквы, включает последовательность букв, цифр, ввести ограничение на длину (не более 8 символов) и не может быть зарезервированным словом (DO, LOOP, UNTIL, OR, AND, XOR);
<константа >- целое число в диапазоне -32768+32767 или число с фиксированной точкой.
Семантика:
Построить и вывести на печать таблицы идентификаторов и констант. Учесть перечисленные выше ограничения на идентификаторы и константы.
Сообщать об ошибках при анализе цепочек языка, указывая курсором место ошибки и ее содержание.
Примеры правильных цепочек:
DO
A10 = 13.3
LOOP UNTIL C
DO
D = -40
LOOP UNTIL A = 10 OR B10 < 18