Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемse.math.spbu.ru
1 Инструмент реинжиниринга спецификаций трансляций Константин Андреевич Улитин Научный руководитель: Я.А. Кириленко Рецензент: Н.М. Тимофеев Санкт-Петербургский государственный университет Математико-Механический факультет Кафедра системного программирования 2011
2 Предметная область Все ПО, использующее формальные грамматики Предметно-ориентированные языки Анализаторы кода – Разметка – Статический анализ – Генерация документации Преобразователи кода – Препроцессоры – Форматирование кода – Рефакторинг – Трансляция в другой язык
3 Реинжиниринг грамматик Зачем? Не удовлетворены выбранным генератором анализаторов – Другой класс алгоритма разбора – Неудобный синтаксис – Проблемы с восстановлением после ошибок – Скорость работы Как? Перейти на другой инструмент
4 Постановка задачи Инструмент, позволяющий производить реинжиниринг грамматик Трансляция в другой формат – Для ухода от проблем выбранного инструмента – Для переиспользования разработанных грамматик Более удобная разработка, отладка
5 YaccConstructor Common ExpandMeta ExpandEbnf ExpandBrackets ReplaceLiterals AddEOF BuildAST Внутреннее представление YardFrontend FsYaccFrontend IronyFrontend AntlrFrontend RACC FsYaccPrinter YardPrinter FParsecPrinter
6 YaccConstructor Common ExpandMeta ExpandEbnf ExpandBrackets ReplaceLiterals AddEOF BuildAST LeaveLast AddAlter Внутреннее представление YardFrontend FsYaccFrontend IronyFrontend AntlrFrontend RACC FsYaccPrinter YardPrinter FParsecPrinter LINKER
7 Применение В пилотном проекте SqlMigration Разработка на языке Yard с трансляцией в FsYacc Не нужно писать атрибуты Модульность грамматики LINKER proc.yrd common.yrd sql_stmt.yrd YardFrontend FsYaccPrinter ExpandMeta BuildAST ExpandEbnf ExpandBrackets ReplaceLiterals AddEOF parser.fsy
8 Результаты Реализован инструмент, позволяющий – Транслировать из ANTLR, FsYacc в Yard, FsYacc – Генерировать атрибуты, строящие AST – Задавать грамматику в нескольких файлах Проведена апробация в проекте SqlMigration Результаты представлены на конференциях «Технологии MS в теории и практике программирования» (диплом 1 степени) и «СПИСОК» 2011г.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.