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

2 Цели и требования

Необходимо разработать программу, удовлетворяющую заданию. Критичным является размер программы. Дать спецификацию к основным процедурам верхнего уровня, обозначить порядок вызова процедур. Произвести тестирование процедуры нижнего уровня и 2 внешних теста.

3 Внешний проект

3.1 Входные и выходные данные

Пользователь запускает программу с одним параметром – имя исполняемого файла на языке Паскаль. Ход компиляции (генерация кода) выводится на экран. Если встречается ошибка, на экран выводится ее номер, текстовое описание, и работа компилятора прерывается. Код программы на языке Ассемблера выводится в файл, носящий то же имя, что и заданное в параметре программы и с расширением “.asm”

3.2 Определение синтаксиса языка

Подмножество языка Паскаль, транслируемое программой, описывают нижеследующие диаграммы Вирта:

Идентификатор:

Буква

Буква

Цифра

_

Программа:

Заголовок Описание Описание тело

переменных функций программы

Заголовок:

program идентификатор ;

Описание переменных:

var идентификатор : integer ;

;

Описание функций:

function идентификатор формальные : integer ;

параметры

описание составной

переменных оператор

Формальные параметры:

( var идентификатор : integer )

,

;

Тело программы:

begin оператор end .

Оператор:

оператор

присваивания

составной

оператор

пустой

оператор

функция ;

exit ;

Вызов функции:

идентификатор фактические

параметры

Фактические параметры:

( идентификатор )

константа

,

Оператор присваивания:

идентификатор : = значение ;

Значение:

идентификатор

константа

выражение

функция

Выражение:

( значение математический значение )

оператор

значение математический значение

оператор

Математический оператор:

+

-

*

mod

div

Составной оператор:

begin оператор end ;

Пустой оператор:

;