Что такое TinyPG и как он работает? Я знаю его «компилятор-компилятор», но как мне начать работу и создать собственный компилятор на C#?Что такое TinyPG и как оно работает?
4
A
ответ
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, чтобы посмотреть демо калькулятор «компилятор».