Лекция: Расширение возможностей транслятора С0

 

Цель работы — получение навыков разработки простейших типовых программ транслятора.

Изменения компилятора С0 удобно разрабатывать и реализовать в том же порядке, в каком он проектировался, и в каком дается его описание в пособиях [1-3, 6]. Таким образом, план разработки изменений транслятора состоит из следующих этапов.

1. Разработать изменения грамматики входного языка С0. Придумать примеры программ с использованием новых конструкций. Они облегчают разработку программ транслятора и послужат тестами для их отладки.

2. Определить, как изменится семантика входного языка, т. е. структура объектного кода программы в целом, новых конструкций языка, а возможно, и ранее существовавших конструкций. Составить объектный код для разработанных на этапе 1 тестовых примеров С0-программ.

2. Продумать, как изменения входного языка и объектного кода повлияют на структуры данных транслятора, в частности, на описание глобальных данных.

3. Уточнить модульную структуру, в частности, определить множество модулей (подпрограмм) транслятора, которые потребуется изменить.

4. Разработать программы новых и изменяемых модулей.

5. Выписать список всех заменяемых, вставляемых и удаляемых строк транслятора с указанием номеров строк в порядке возрастания этих номеров.

Вносить же эти изменения необходимо, наоборот, в порядке убывания номеров строк, чтобы ранее сделанные изменения не влияли на номера строк последующих изменений.

6. Провести отладку измененного транслятора на разработанных тестах.

еще рефераты
Еще работы по информатике