Санкт-Петербургский государственный университет информационных технологий, механики и оптики
Проектная документация
Исполняемая программа
В компьютерных технологиях все чаще используются различные интерпретируемые языки программирования (например, скриптовые). Их цель, как правило, решение вспомогательных задач.
Основное отличие скриптовых языков программирования от языков общего назначения, как C++ и Java, состоит в том, что программа на скриптовом языке не компилируется в исполняемый код (exe-файл для Windows или class-файл для JVM (Java Virtual Machine), а выполняется сразу после компиляции без создания промежуточного файла.
Практика показывает, что использование скриптовых языков ускоряет решение прикладных задач (например, написание сценариев в Web-дизайне, искусственного интеллект в играх). Скриптовые языки удобны для интеграции в приложение и запуска в виде внешних скриптов. Помимо скорости разработки скриптовые языки хороши еще и своей простотой. Человеку не требуется быть профессиональным программистом, чтобы использовать эти языки.
В данной работе описывается процесс создания интерпретатора простого языка.
Исходный текст программы транслируется в байт-код – набор микрокоманд интерпретатора с последующим их выполнением. Для построения байт-кода используется лексический и синтаксический анализаторы. С помощью лексического анализатора исходный текст преобразуется в конечное множество символов, из которых состоит грамматическое описание языка [1]. Далее полученный набор символов обрабатывается синтаксическим анализатором. При этом происходит проверка на соответствие грамматике и генерация инструкций интерпретатора.
Идеи и методы, использованные для создания интерпретатора [1, 2], реализованы с помощью SWITCH-технологии [3].