Ирония (каркас)


Irony — это фреймворк парсера для языковой реализации на платформе .NET . В отличие от большинства существующих решений в стиле yacc / lex , он не использует генерацию кода (таким образом, Irony не является генератором парсеров ) сканера / парсера из грамматик , написанных на внешнем DSL . Вместо этого грамматики для целевого языка написаны непосредственно на C# . Фреймворк реализует синтаксический анализатор LALR(1) . [1]

Терминальные и нетерминальные символы и продукционные правила определяются в объектно-ориентированном варианте EBNF с использованием перегрузки операторов . Платформа позволяет генерировать абстрактное синтаксическое дерево , которое можно просмотреть с помощью шаблона посетителя или оценить с помощью интерпретатора .