2009-09-07 4 views

ответ

8

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

TinyPG - это полная компилятор-компилятор IDE с графическим интерфейсом Windows для RegExp, EBNF и C#/VB. Ниже описываются процедуры разработки собственного «компилятор» в пределах TinyPG:

Вы определяете терминалы с помощью Regular Expressions.

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

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

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

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

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

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

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

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

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

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