'

Инструмент реинжиниринга спецификаций трансляций

Понравилась презентация – покажи это...





Слайд 0

Инструмент реинжиниринга спецификаций трансляций Константин Андреевич Улитин Научный руководитель: Я.А. Кириленко Рецензент: Н.М. Тимофеев Санкт-Петербургский государственный университет Математико-Механический факультет Кафедра системного программирования 2011


Слайд 1

Предметная область Все ПО, использующее формальные грамматики Предметно-ориентированные языки Анализаторы кода Разметка Статический анализ Генерация документации Преобразователи кода Препроцессоры Форматирование кода Рефакторинг Трансляция в другой язык


Слайд 2

Реинжиниринг грамматик Зачем? Не удовлетворены выбранным генератором анализаторов Другой класс алгоритма разбора Неудобный синтаксис Проблемы с восстановлением после ошибок Скорость работы Как? Перейти на другой инструмент


Слайд 3

Постановка задачи Инструмент, позволяющий производить реинжиниринг грамматик Трансляция в другой формат Для ухода от проблем выбранного инструмента Для переиспользования разработанных грамматик Более удобная разработка, отладка


Слайд 4

YaccConstructor Common ExpandMeta ExpandEbnf ExpandBrackets ReplaceLiterals AddEOF BuildAST Внутреннее представление YardFrontend FsYaccFrontend IronyFrontend AntlrFrontend RACC FsYaccPrinter YardPrinter FParsecPrinter


Слайд 5

YaccConstructor Common ExpandMeta ExpandEbnf ExpandBrackets ReplaceLiterals AddEOF BuildAST LeaveLast AddAlter Внутреннее представление YardFrontend FsYaccFrontend IronyFrontend AntlrFrontend RACC FsYaccPrinter YardPrinter FParsecPrinter LINKER


Слайд 6

Применение В пилотном проекте SqlMigration Разработка на языке Yard с трансляцией в FsYacc Не нужно писать атрибуты Модульность грамматики LINKER proc.yrd common.yrd sql_stmt.yrd YardFrontend YardFrontend YardFrontend FsYaccPrinter ExpandMeta BuildAST ExpandEbnf ExpandBrackets ReplaceLiterals AddEOF parser.fsy


Слайд 7

Результаты Реализован инструмент, позволяющий Транслировать из ANTLR, FsYacc в Yard, FsYacc Генерировать атрибуты, строящие AST Задавать грамматику в нескольких файлах Проведена апробация в проекте SqlMigration Результаты представлены на конференциях «Технологии MS в теории и практике программирования» (диплом 1 степени) и «СПИСОК» 2011г.


×

HTML:





Ссылка: