Что такое TinyPG и как он работает?

Что такое TinyPG и как он работает? Я знаю, что это "компилятор-компилятор", но как мне начать и создать свой собственный компилятор в C#?

1 ответ

Я приблизительно понял, как вы используете это, и вот краткое.

TinyPG - это полная IDE компилятор-компилятор с Windows GUI для RegExp, EBNF и C#/VB. Ниже описана процедура разработки вашего собственного "компилятора" в TinyPG:

Вы определяете терминалы, используя регулярные выражения.

  • Вы пишете эти ReyExps в TinyPG, который в основном извлекает токены из входного исходного кода.
  • RegExps изначально поддерживаются в.NET, что означает, что даже ваш сгенерированный код "компилятора" использует RegExps.NET.

Вы определяете нетерминалы и правила синтаксического анализатора в расширенном метасинтаксисе BNF.

  • Вы пишете EBNF в TinyPG, чтобы описать язык по вашему выбору.
  • Некоторые бесплатные грамматики BNF, которые описывают современные языки программирования.

Вы определяете компилятор в управляемом коде.

  • Вы пишете код C# / VB в TinyPG, чтобы преобразовать токены в вывод по вашему выбору.
  • Один блок кода C# / VB только для одного правила грамматики BNF.
  • TinyPG может скомпилировать и запустить ваш "tokenizer + parser + complier" с помощью компилятора командной строки.

TinyPG генерирует код C# для вашего нового "компилятора".

  • Создает дерево разбора из введенного исходного кода, используя ваш RegEx вместе с вашим EBNF.
  • Переводит это дерево разбора в вывод, используя ваш код C#/VB.

Вы разрабатываете интерфейс вашего компилятора на C# или VB.NET.

  • Базовый интерфейс будет вызывать сгенерированные классы C# с входным файлом и отображать вывод.

Для начала вы можете открыть файл "simple expression2.tpg" в предоставленных примерах TinyPG, чтобы увидеть демо калькулятора "компилятор".

Другие вопросы по тегам