Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
32
Добавлен:
02.05.2014
Размер:
189.44 Кб
Скачать

Варианты исходных грамматик

Ниже приведены варианты грамматик. Во всех вариантах символ S является начальным символом грамматики; S, F, T и E обозначают нетерминальные символы. Терминальные символы выделены жирным шрифтом. Вместо символаaдолжны подставляться лексемы.

1. S ® a := F; 2. S ® a := F;

F ® F+T | T F ® F or T | F xor T | T T ® T*E | T/E | E T ® T and E | E E ® (F) | -(F) | a E ® (F) | not (F) | a

 

3. S ® F; 4. S ® F;

F ® if E then T else F | if E then F | a := a F ® for T do F | a := a

T ® if E then T else T | a := a T ® (F; E; F) | (; E; F) | (F; E;) | (; E;)

E ® a<a | a>a | a=a E ® a<a | a>a | a=a

Варианты заданий

варианта

варианта грамматики

Допустимые лексемы входного языка

1

1

Идентификаторы, десятичные числа с плавающей точкой

2

2

Идентификаторы, константы trueиfalse

3

3

Идентификаторы, десятичные числа с плавающей точкой

4

4

Идентификаторы, десятичные числа с плавающей точкой

5

1

Идентификаторы, римские числа

6

2

Идентификаторы, константы 0и1

7

3

Идентификаторы, римские числа

8

4

Идентификаторы, римские числа

9

1

Идентификаторы, шестнадцатеричные числа

10

2

Идентификаторы, шестнадцатеричные числа

11

3

Идентификаторы, шестнадцатеричные числа

12

4

Идентификаторы, шестнадцатеричные числа

13

1

Идентификаторы, символьные константы (в одинарных кавычках)

14

2

Идентификаторы, символьные константы ‘T’ и ‘F’

15

3

Идентификаторы, строковые константы (в двойных кавычках)

16

4

Идентификаторы, строковые константы (в двойных кавычках)

Примечание:

  • римскими числами считать последовательности больших латинских букв X,VиI;

  • шестнадцатеричными числами считать последовательность цифр и символов ‘a’, ‘b’, ‘c’,’d’, ’e’ и ‘f’, начинающуюся с цифры (например: 89, 45ac9, 0abc4);

  • для выполнения работы рекомендуется использовать лексический анализатор, построенный в ходе выполнения лабораторной работы №2.

Рекомендуемая литература

  1. 1.  Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение – СПб.: Питер, 2001 (2002, 2003) - 736 с.

  1. 2.  Коровинский В.В., Жаков В.И., Фильчаков В.В. Синтаксический анализ и генерация кода – СПб.: ГААП, 1993.

  1. 3.  Бржезовский А.В., Корсакова Н.В., Фильчаков В.В. Лексический и синтаксический анализ. Формальные языки и грамматики - Л.: ЛИАП, 1990.

  1. 4.  Льюис Ф. и др. Теоретические основы построения компиляторов - М.: Мир, 1979.

  2. 5.  Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции - М.: Мир, 1978, т.1.

  3. 6.  Грис Д. Конструирование компиляторов для цифровых вычислительных машин - М.: Мир, 1975.

11