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

Вариант 9.

Написать программу синтаксического анализа автоматного языка операторов присоединения языкаTurbo Pascal, имеющего вид:

WITH <переменная>DO <оператор присваивания>;

<переменная>:: =<идентификатор>[,<идентификатор>]<идентификатор>.<иден-тификатор>

<оператор присваивания>:: =<левая часть>:=<правая часть>

 [<идентификатор>]

<левая часть>:: =<идентификатор>

[<целая константа>]

<правая часть>:: =<оператор>[<операция><оператор>]

 [<идентификатор>]

<оператор>:: =<идентификатор>  <константа

[<константа целая>] любая>

 + 

 - 

<операция>:: = / 

 * 

 div 

 mod 

<идентификатор>- идентификатор языкаTurbo Pascal, начинается с буквы или знака подчеркивания, включает буквы, цифры, не допускает пробелы и специальные символы, ввести ограничение на длину (не более 8 символов) и не может быть зарезервированным словом (WITH, DO, DIV, MOD);

<константа целая>- целое число в диапазоне -32768+32767.

<константа любая>- целое число,число с фиксированной точкой, число с плавающей точкой.

Семантика:

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

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

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

WITH A DO B := 13.3E - 10;

WITH A, B DO C := ‘текст’;

WITH A.D DO L := 18.1 + D;

WITH A.D, C.M DO _A_N [-3] := 3E + 2 - _D1 [ I ];

Вариант 10.

Написать программу синтаксического анализа автоматного языка операторов описания файлов языкаTurbo Pascal, имеющего вид:

VAR<идентификатор переменной>:<описание файла>;

<описание файла>:: =FILE OF<идентификатор> FILE OF<тип>TEXTFILE<иденти-фикатор типа>

<тип>:: =CHARSTRING[[<целая константа>]]INTEGERREALDOUBLESINGLEBYTE

<идентификатор>- идентификатор языкаTurbo Pascal, начинается с буквы или знака подчеркивания, включает совокупность букв, цифр, подчеркиваний; не допускает пробелы и специальные символы, ввести ограничение на длину (не более 8 символов) и не может быть зарезервированным словом (VAR, FILE OF, TEXT, FILE, CHAR, STRING, DOUBLE, SINGLE, BYTE, REAL, INTEGER);

<целая константа>- число в диапазоне 0255;

Семантика:

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

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

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

VAR name : file of char;

VAR _A_B : file of mytype;

VAR _A_C : TEXT;

VAR C12 : file of STRING [10];

VAR D : myfile;