Телематика'2003

X Всероссийская
научно-методическая
конференция


 

 

СОВМЕСТНОЕ ИСПОЛЬЗОВАНИЕ ТЕОРИИ ПОСТРОЕНИЯ КОМПИЛЯТОРОВ И SWITCH-ТЕХНОЛОГИИ

А.А.Штучкин, А.А.Шалыто

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

Тел.: (812) 247-95-45, e-mail: sh2chkin@rain.ifmo.ru

При использовании теории компиляторов [1] возникает ряд проблем, которые могут быть устранены при совместном применении указанной теории и SWITCH-технологии [2, 3], которая базируется на применении конечных автоматов.
Перечислим недостатки, которые позволяет устранить указанная технология.
В работе [1], как и в других работах по теории компиляторов [4], излагаются основы их проектирования, но переход от проекта компилятора к его программной реализации недостаточно формализован.
Еще один недостаток известного подхода состоит в том, что используемые алгоритмы описываются традиционным путем с помощью псевдоязыка, в то время как это может быть сделано с помощью автоматов.
Изложенный подход позволяет устранить указанные недостатки:
– совместное применение теории построения компиляторов и SWITCH-технологии позволяет объединить математическую строгость проектирования этого класса программ с формальностью их реализации;
– на всех этапах создания компилятора используются конечные автоматы в форме графов переходов;
– разработка компилятора полностью документирована;
– получаемый исходный код весьма прост и понятен, так как структура каждого из его основных модулей изоморфна структуре схемы связей автомата и его графа переходов;
– если автоматическое построение лексических и синтаксических анализаторов целесообразно выполнять с помощью генераторов Lex и Yacc соответственно (или их аналогов) [1], то ручное проектирование – на основе предлагаемого подхода.
Подход апробирован на примере программной реализации калькулятора, описание функциональности которого приведено в работе [5]. Проектная документация на программное обеспечение приведена на сайте http://is.ifmo.ru в разделе “Проекты”.
Работа выполнена при поддержке Российского фонда фундаментальных исследований по гранту 02-07-90114 «Разработка технологии автоматного программирования».
Литература
1. Ахо А., Сети Р., Ульман Д. Компиляторы. Принципы, технологии, инструменты. М.: Вильямс, 2001.
2. Шалыто А.А. SWITCH-технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука, 1998.
3. Шалыто А.А., Туккель Н.И. От тьюрингова программирования к автоматному. // Мир ПК, 2002, №2.
4. Легалов А.И. Трансляторы. Методы разработки. http://www.softcraft.ru/translat.shtml.
5. Страуструп Б. Язык программирования C++. М.: Бином, СПб.: Невский диалект, 2001.


 



Санкт-Петербург, 14-17 апреля 2003 г.
X Всероссийская научно-методическая конференция "Телематика'2003"