УНИВЕРСИТЕТ ИТМО
Кафедра «Технологии программирования»



Главная

Новости
 Новости науки
 Важное
 Почетные доктора
 Инновации
 Культура
 Люди
 Разное
 Скартел-Yota
 Стрим
 Смольный
Учебный процесс
 Образование
 Дипломы
 Курсовые проекты
 Лабораторные работы
 Учебные курсы
 Визуализаторы
 Unimod-проекты
 Семинары
 Стипендии
Наука
 События и факты
 Госконтракты
 Статьи
 Диссертации
 Книги
 Презентации
 Свидетельства
 Сотрудничество
Исследования
 Автоматы
 Верификация
 Геном
 Искусственный интеллект
 Генетические алгоритмы
 Движение
 UniMod
 Роботы и агенты
 Нейронные сети
 ФЦП ИТМО-Аалто
 Разное

О нас
 Премии
 Сертификаты и дипломы
 Соревнования по программированию
 Прорыв
 Автографы
 Рецензии

Беллетристика
 Мотивация
 Мысли
Медиа
 Видео
 Фотографии
 Аудио
 Интервью

English
 Home

 Articles
 Posters
 Automata-Based Programming
 Initiatives
 Projects
 Presentations
 UniMod
 UniMod Projects
 Visualizers


Поиск по сайту

Яndex



   Главная / Курсовые проекты / Совместное использование теории компиляторов и Switch-технологии (на примере разработки интерпретатора сконструированного авторами языка программирования) (версия для печати)


Совместное использование теории компиляторов и Switch-технологии (на примере разработки интерпретатора сконструированного авторами языка программирования)



© Е.А. Цымбалюк, Р.Г. Зубаиров, А.А. Шалыто

Санкт-Петербургский государственный университет информационных технологий, механики и оптики

Проектная документация
Исполняемая программа

Аннотация

В компьютерных технологиях все чаще используются различные интерпретируемые языки программирования (например, скриптовые). Их цель, как правило, решение вспомогательных задач.

Основное отличие скриптовых языков программирования от языков общего назначения, как C++ и Java, состоит в том, что программа на скриптовом языке не компилируется в исполняемый код (exe-файл для Windows или class-файл для JVM (Java Virtual Machine), а выполняется сразу после компиляции без создания промежуточного файла.

Практика показывает, что использование скриптовых языков ускоряет решение прикладных задач (например, написание сценариев в Web-дизайне, искусственного интеллект в играх). Скриптовые языки удобны для интеграции в приложение и запуска в виде внешних скриптов. Помимо скорости разработки скриптовые языки хороши еще и своей простотой. Человеку не требуется быть профессиональным программистом, чтобы использовать эти языки.

В данной работе описывается процесс создания интерпретатора простого языка.

Исходный текст программы транслируется в байт-код – набор микрокоманд интерпретатора с последующим их выполнением. Для построения байт-кода используется лексический и синтаксический анализаторы. С помощью лексического анализатора исходный текст преобразуется в конечное множество символов, из которых состоит грамматическое описание языка [1]. Далее полученный набор символов обрабатывается синтаксическим анализатором. При этом происходит проверка на соответствие грамматике и генерация инструкций интерпретатора.

Идеи и методы, использованные для создания интерпретатора [1, 2], реализованы с помощью SWITCH-технологии [3].

Литература

  1. Хопкрофт Д., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычислений. СПб.: Вильямс, 2002;
  2. Ахо А., Сети Р., Ульман Д. Компиляторы. Принцип, технологии, инструменты. М.: Вильямс, 2001;
  3. Шалыто А. А., SWITCH-технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука, 1998.




© 2002—2017 По техническим вопросам сайта: vl.ulyantsev@gmail.com