Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТФЯГ задания.DOC
Скачиваний:
15
Добавлен:
16.03.2015
Размер:
195.07 Кб
Скачать

Вариант 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

  1. 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 или число с фиксированной точкой.

Семантика:

Построить и вывести на печать таблицы идентификаторов и констант. Учесть перечисленные выше ограничения на идентификаторы и константы.

Сообщать об ошибках при анализе цепочек языка, указывая курсором место ошибки и ее содержание.

Примеры правильных цепочек:

  1. DO

A10 = 13.3

LOOP UNTIL C

  1. DO

D = -40

LOOP UNTIL A = 10 OR B10 < 18