Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_tlpt_12_2.doc
Скачиваний:
8
Добавлен:
27.11.2019
Размер:
391.68 Кб
Скачать

3. Содержание отчета

3.1. Название работы и ее исполнители.

3.2. Цель работы.

3.3. Краткое (по 2-3 предложения) описание процедур (функций) программы генерации кода.

3.4. Листинг программы.

3.5. В случае необходимости, информация о доработке программ лексического и синтаксического анализа.

3.6. Распечатки контрольных примеров и результатов их выполнения.

3.7. Выводы по проделанной работе.

Лабораторным работам

Во всех вариантах все переменные должны быть объявлены до начала вычислений. <Буква> – буква латинского алфавита (a...z). <Цифра> – цифра от 0 до 9.

Вариант 1

<Программа> ::= <Объявление переменных> <Описание вычислений> <Оператор печати>

<Описание вычислений> ::= <Список присваиваний> <Объявление переменных> ::= Var <Список переменных> <Список переменных> ::= <Идент> | <Идент> , <Список переменных> <Список присваиваний> ::= <Присваивание> | <Присваивание> <Список присваиваний>

<Присваивание> ::= <Идент> = <Выражение>

<Выражение> ::= <Ун.оп.> <Подвыражение> | <Подвыражение>

<Подвыражение> :: = ( <Выражение> ) | <Операнд> |

< Подвыражение > <Бин.оп.> <Подвыражение>

<Ун.оп.> ::= "-"

<Бин.оп.> ::= "-" | "+" | "*" | "/"

<Операнд> ::= <Идент> | <Const>

<Идент> ::= <Буква> <Идент> | <Буква>

<Const> ::= <Цифра> <Const> | <Цифра>

<Оператор печати>::=Print <Идент>

На одной строке может быть только объявление переменных или один оператор присваивания

Вариант 2

<Программа> ::= <Объявление переменных> <Описание вычислений> <Оператор печати>

<Описание вычислений> ::= Begin <Список присваиваний> End

<Объявление переменных> ::= Var <Список переменных> ;

<Список переменных> ::= <Идент> | <Идент> , <Список переменных> <Список присваиваний>::= <Присваивание> |

<Присваивание> <Список присваиваний>

<Присваивание> ::= <Идент> := <Выражение> ;

<Выражение> ::= <Ун.оп.> <Подвыражение> | <Подвыражение> <Подвыражение> :: = ( <Выражение> ) | <Операнд> |

< Подвыражение > <Бин.оп.> <Подвыражение>

<Ун.оп.> ::= "-"

<Бин.оп.> ::= "-" | "+" | "*" | "/"

<Операнд> ::= <Идент> | <Const>

<Идент> ::= <Буква> <Идент> | <Буква>

<Const> ::= <Цифра> <Const> | <Цифра>

<Оператор печати>::=Print <Идент>

На одной строке может быть только объявление переменных или один оператор присваивания

Вариант 3

<Программа> ::= <Объявление переменных> <Описание вычислений> <Оператор печати> <Описание вычислений> ::= [ <Список присваиваний> ] <Объявление переменных> ::= Var <Список переменных> ; <Список переменных> ::= <Идент> | <Идент> , <Список переменных> <Список присваиваний>::= <Присваивание> | <Присваивание> <Список присваиваний> <Присваивание> ::= <Идент> = <Выражение> ;

<Выражение> ::= <Ун.оп.> <Подвыражение> | <Подвыражение>

<Подвыражение> :: = ( <Выражение> ) | <Операнд> |

< Подвыражение > <Бин.оп.> <Подвыражение>

<Ун.оп.> ::= "-"

<Бин.оп.> ::= "-" | "+" | "*" | "/"

<Операнд> ::= <Идент> | <Const>

<Идент> ::= <Буква> <Идент> | <Буква>

<Const> ::= <Цифра> <Const> | <Цифра>

<Оператор печати>::=Print <Идент>

На одной строке может быть только объявление переменных или один оператор присваивания

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]