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

Содержание

Слайд 2

Предметная область

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

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

Слайд 3

Реинжиниринг грамматик

Зачем?
Не удовлетворены выбранным генератором анализаторов
Другой класс алгоритма разбора
Неудобный синтаксис
Проблемы с восстановлением

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

Слайд 4

Постановка задачи

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

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

Слайд 5

YaccConstructor

Common

ExpandMeta
ExpandEbnf
ExpandBrackets
ReplaceLiterals
AddEOF
BuildAST

Внутреннее представление

YardFrontend

FsYaccFrontend

IronyFrontend

AntlrFrontend

RACC

FsYaccPrinter

YardPrinter

FParsecPrinter

YaccConstructor Common ExpandMeta ExpandEbnf ExpandBrackets ReplaceLiterals AddEOF BuildAST Внутреннее представление YardFrontend FsYaccFrontend

Слайд 6

YaccConstructor

Common

ExpandMeta
ExpandEbnf
ExpandBrackets
ReplaceLiterals
AddEOF
BuildAST
LeaveLast
AddAlter

Внутреннее представление

YardFrontend

FsYaccFrontend

IronyFrontend

AntlrFrontend

RACC

FsYaccPrinter

YardPrinter

FParsecPrinter

LINKER

YaccConstructor Common ExpandMeta ExpandEbnf ExpandBrackets ReplaceLiterals AddEOF BuildAST LeaveLast AddAlter Внутреннее представление

Слайд 7

Применение

В пилотном проекте SqlMigration
Разработка на языке Yard с трансляцией в FsYacc
Не нужно

Применение В пилотном проекте SqlMigration Разработка на языке Yard с трансляцией в
писать атрибуты
Модульность грамматики

LINKER

proc.yrd

common.yrd

sql_stmt.yrd

YardFrontend

YardFrontend

YardFrontend

FsYaccPrinter

ExpandMeta
BuildAST
ExpandEbnf
ExpandBrackets
ReplaceLiterals
AddEOF

parser.fsy

Имя файла: Инструмент-реинжиниринга-спецификаций-трансляций.pptx
Количество просмотров: 75
Количество скачиваний: 0