Зачетная работа по курсу ЯП и МТ за осенний семестр
Предмет
Программирование
Тип работы
контрольная работа
Объем работы
10
Дата поступления
12.12.2012
690 ₽
Содержание
Зачетная работа по курсу ЯП и МТ за осенний семестр
Компилятор PasCompiler ver 1.0
Автор: Милькин Владимир ДВГУ ИМКН гр. 236
Входной язык: подмножество языка Pascal
Выходной язык: TASM-совместмый язык ассемблера
Язык реализации: Object Pascal
Платформа реализации: Delphi 6.0
Платформа компилятора: Windows
Целевая платформа: Windows
Реализован компилятор подмножества языка Pascal в TASM-совместимый язык ассемблера.
Компиляция происходит на стековую машину, что в сочетании с простотой кодогенерации приводит зачастую к
неэффективности полученного кода, но разработанный оптимизатор, позволяет устранить большую часть подобных проблем.
Кроме оптимизации на уровне кода, на уровне парсера происходит свертка констант, а также если в условии операторов
if then else, while do , repeat until стоит заведомо ложное или, наоборот, заведомо правдивое условие, то это
учитывается и происходит соответствующее преобразование оператора в форму, приводящую к минимальному коду.
Аналогичное действие происходит с оператором for := to/downto.
Оптимизация кода по умолчанию отключена. Чтобы ее включить необходимо указать ключ +o в опциях компилятора.
При включенной оптимизации код не комментируется, даже если указать опцию /c.
(*********************************************************************************************************)
Назовем данное подмножество Pascal SmallPascal