Описание тега tinypg

TinyPG (Tiny Parser Generator) - это небольшой простой генератор синтаксического анализатора рекурсивного спуска LL(1), который генерирует код C# или VB из простого грамматика. Он был написан Herre Kuijpers и доступен здесь http://www.codeproject.com/Articles/28294/a-Tiny-Parser-Generator-v1-2

На странице CodeProject для TinyPg можно прочитать гораздо больше. Вот введение

@TinyPG расшифровывается как "Tiny Parser Generator". Этот конкретный генератор является генератором синтаксического анализатора LL(1). Это означает, что вместо генерации конечного автомата из грамматики, как большинство компиляторов компилятора, он будет генерировать исходный код напрямую; в основном генерирует метод для каждого нетерминала в грамматике. Терминалы выражаются с помощью мощных регулярных выражений.NET. Чтобы помочь программисту создавать регулярные выражения.NET, в TinyPG встроен инструмент регулярных выражений (Regex). Грамматика может быть написана с использованием расширенной нотации BNF.

Это ключевые особенности TinyPG

  • Обеспечивает проверку синтаксиса и семантики грамматики
  • Генерирует крошечный набор источников для анализатора / сканера /parsetree (всего три файла.cs или.vb без каких-либо внешних зависимостей)
  • Позволяет каждому сгенерированному файлу оставаться легко читаемым и отлаживаемым с помощью Visual Studio(!)
  • Включает в себя инструмент оценки выражений, который генерирует проходимое дерево разбора, имеет возможность включать блоки кода C#
  • Внутри грамматики добавление немедленной функциональности всего несколькими строками кода
  • Включает в себя крошечный инструмент регулярных выражений, старающийся сделать вещи максимально простыми и крошечными