Автор работы: Пользователь скрыл имя, 15 Апреля 2014 в 00:23, лабораторная работа
Цель работы:
Научиться переводить исходный текст программы в коды лексем.
МИНОБРНАУКИ РОССИИ
Воткинский филиал
федерального государственного образовательного учреждения
высшего профессионального образования
"Ижевский государственный
(ВФ ФГБОУ ВПО ИжГТУ имени М.Т. Калашникова)
Кафедра ОВПиСУ
ОТЧЁТ
По лабораторной работе №1 «LexAN – лексический анализатор»
Выполнил: студент группы Б04-782-1 Мельников Г.С.
Проверил: доцент, к.т.н Кучерова Е.А
г. Воткинск
2014
Цель работы:
Научиться переводить исходный текст программы в коды лексем.
Скриншет программы LexAN:
Листинг программы:
Текст программы
Program chalk;
var i, x:integer;
begin
x:=0;
for i:=1 to 10 do
if x>i
then x:=x+i;
write (i);
end.
Таблица терминальных символов
------------------------------
| Код | Терминальн. символ | Комментарий |
| 1 | PROGRAM | Объявление программы |
| 27 | ; | Конец операции |
| 2 | VAR | Объявление переменных |
| 29 | , | Разделение идентификаторо |
| 31 | : | Разделитель идентификат. |
| 5 | INTEGER | Тип целое |
| 3 | BEGIN | Начало тела |
| 8 | FOR | Цикл с параметром - ДЛЯ |
| 9 | TO | Цикл с параметром - ДО |
| 14 | IF | Условный оператор - ЕСЛИ |
| 28 | := | Присвоение |
| 40 | > | Больше |
| 15 | THEN | Условный оператор - ТО |
| 18 | WRITE | Вывести на консоль |
| 30 | . | Конец программы/отделение |
| 32 | + | Сложение |
| 35 | ( | Открытая скобка |
| 36 | ) | Закрытая скобка |
| 4 | END | Конец тела |
| 10 | DO | ВЫПОЛНИТЬ |
------------------------------
Таблица символических имен
------------------------------
| Спец | Идентификатор |
| 1 | chalk |
| 2 | i |
| 3 | x |
------------------------------
Таблица литералов
------------------------------
| Специф. | Литерал | Тип | Размер в п |
| 1 | 0 | INTEGER | 2 |
| 2 | 1 | INTEGER | 2 |
| 3 | 10 | INTEGER | 2 |
------------------------------
Таблица выходных кодов
------------------------------
| № по | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| № та | 1 | 2 | 1 | 1 | 2 | 1 | 2 | 1 | 1 |
| Код, | 1 | 1 | 27 | 2 | 2 | 29 | 3 | 31 | 5 |
------------------------------
Таблица выходных кодов, продолжение
------------------------------
| 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 1 | 1 | 2 | 1 | 3 | 1 | 1 | 2 | 1 | 3 |
| 27 | 3 | 3 | 28 | 1 | 27 | 8 | 2 | 28 | 2 |
------------------------------
Таблица выходных кодов, продолжение
------------------------------
| 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 1 | 3 | 1 | 1 | 2 | 1 | 2 | 1 | 2 | 1 |
| 9 | 3 | 10 | 14 | 3 | 40 | 2 | 15 | 3 | 28 |
------------------------------
Таблица выходных кодов, продолжение
------------------------------
| 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
| 2 | 1 | 2 | 1 | 1 | 1 | 2 | 1 | 1 | 1 |
| 3 | 32 | 2 | 27 | 18 | 35 | 2 | 36 | 27 | 4 |
------------------------------
Таблица выходных кодов, продолжение
------------------------------
| 40 | 41 | | | | | | | | |
| 1 | | | | | | | | | |
| 30 | | | | | | | | | |
------------------------------
Сообщения
Проверка удачна. Таблица выходных кодов лексем заполнена верно