Реферат: Интерпретатор 2
{
i:=i-1;
print i;
};
}
Выполнение данной программы приведет к тому, что на экран выведется 10 цифр – от 9 до 0.
Следует отметить, что операторы цикла, как и условные могут быть вложенными:
{
i:=10;
while(i>=1)
{
i:=i-1;
print i;
j:=i;
while(j<10)
{
j:=j+1;
print j;
};
};
}
Таким образом, язык NL позволяет реализовать довольно объемные вычисления и алгоритмы с ветвящейся структурой.
Описание модулей
Разработанная программа состоит из семи модулей:
1. main.c – специальная функция, которая открывает файл и выполняет запуск процедур обработки.
2. init.c – инициализация, выполняет действия, которые нужно произвести до начала анализа (занесение в таблицу символов зарезервированных ключевых слов).
3. lexer.c – лексический анализатор. Выделяет из входной последовательности слово (токен).
4. parser.c – синтаксический анализатор. Обрабатывает слово, выделенное ранее лексическим анализатором.
5. symbol.c – модуль реализует взаимодействие с таблицей символов и кодов (добавить запись, найти номер строки)
6. emitter.c – выполнение программы, по таблице кодов, с использованием таблицы символов.