Программно-методический комплекс для обучения процессу создания компиляторов
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?ца 1);
литералов (таблица 3);
лексического анализа (выходных символов);
- Проверить правильность заполнения таблиц встроенным анализатором;
- При наличии ошибок, исправить имеющиеся, и повторно обработать программой LEXAN;
- Получить листинг полученных результатов.
- Сохранить результат в файл.
Сначала производится анализ, какие терминальные символы входят в грамматику: тАЭPROGRAMтАЭ, тАЭVARтАЭ, тАЭBEGINтАЭ, тАЭENDтАЭ, тАЭ.тАЭ, тАЭINTEGERтАЭ, тАЭ;тАЭ, тАЭ:=тАЭ, тАЭ+тАЭ, тАЭ-тАЭ, тАЭFORтАЭ, тАЭDOтАЭ, тАЭTOтАЭ.
Исходная программа, написанная с использованием терминов исходной грамматики:
program prog1;
var
i, x:integer;
begin
x:=0;
for i:=1 to 10 do
x:=x+i;
end.
Далее выбираются терминальные символы, использованные в программе, заполняется таблица выбранных терминальных символов. Примерное представление таблицы выбранных терминальных символов показано в таблице 19.
Таблица 19
№ стр.Терминальный символКомментарий (обозначение)Код1PROGRAM12;273VAR24,29Продолжение таблицы 19
№ стр.Терминальный символКомментарий (обозначение)Код5:316INTEGER57BEGIN38:=289FOR810TO911DO1012+3213END414.30
Определяются символические имена, встречающиеся в программе, и заполняется таблица 20 в порядке их появления в тексте
Таблица 20
СпецифИдентификаторТипРазмер, занимаемый в памяти, байтОтносительный адрес в памяти1prog12i3x
В тексте определяются литералы и заносятся в таблицу 21 в порядке их появления.
Таблица 21
СпецифЛитералТипРазмер, занимаемый в памяти, байт10Integer221Integer2310Integer2
Во время заполнения этих трех таблиц заполняется четвертая таблица 22 (таблица выходных кодов лексем): в поле Таблица подставляются номера таблиц (таблица терминальных символов №1, таблица символических имен №2, таблица литералов №3), в поле строка код элемента (из таблицы 1), спецификаторы (из таблицы 2 и 3). Поле №п.п. заполняется автоматически.
Таблица 22
№ п.п.123456789101112131415Таблица121121211112131Строка112722293315273328127
№ п.п.161718192021222324252627282930Таблица121313121212111Строка822829310328332227430
Copyright © 2008-2014 geum.ru рубрикатор по предметам рубрикатор по типам работ пользовательское соглашение