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



Главная

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

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

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

English
 Home

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


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

Яndex



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


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



(C) 2003 г. А.А.Штучкин, А.А.Шалыто

Санкт-Петербургский государственный институт точной механики и оптики (технический университет)

Отсюда можно скачать полный текст документации в формате pdf (275 кб)
Отсюда можно скачать приложение (84 кб)
Исходные тексты (7 кб)

Аннотация

При использовании теории компиляторов [1] возникает ряд проблем, которые могут быть устранены при совместном применении указанной теории и SWITCH-технологии [2, 3], которая базируется на применении конечных автоматов.

Перечислим недостатки, которые позволяет устранить указанная технология.

В работе [1], как и в других работах по теории компиляторов [4], излагаются основы их проектирования, но переход от проекта компилятора к его программной реализации недостаточно формализован.

Еще один недостаток известного подхода состоит в том, что используемые алгоритмы описываются традиционным путем с помощью псевдоязыка, в то время как это может быть сделано с помощью автоматов.

Изложенный подход позволяет устранить указанные недостатки:

  • совместное применение теории построения компиляторов и SWITCH-технологии позволяет объединить математическую строгость проектирования этого класса программ с формальностью их реализации;
  • на всех этапах создания компилятора используются конечные автоматы в форме графов переходов;
  • разработка компилятора полностью документирована;
  • получаемый исходный код весьма прост и понятен, так как структура каждого из его основных модулей изоморфна структуре схемы связей автомата и его графа переходов;
  • если автоматическое построение лексических и синтаксических анализаторов целесообразно выполнять с помощью генераторов Lex и Yacc соответственно (или их аналогов) [1], то ручное проектирование - на основе предлагаемого подхода.

Подход апробирован на примере программной реализации калькулятора, описание функциональности которого приведено в работе [5].

Литература

  1. Ахо А., Сети Р., Ульман Д. Компиляторы. Принципы, технологии, инструменты. М.: Вильямс, 2001.
  2. Шалыто А.А. SWITCH-технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука, 1998.
  3. Шалыто А.А., Туккель Н.И. От тьюрингова программирования к автоматному. // Мир ПК, 2002, №2.
  4. Легалов А.И. Трансляторы. Методы разработки. http://www.softcraft.ru/translat.shtml
  5. Страуструп Б. Язык программирования C++. М.: Бином, СПб.: Невский диалект, 2001.



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