2009-09-07 100 views

回答

8

我已经大致了解您如何使用它了,下面是一个简要说明。

TinyPG是一个完整的编译器编译器的IDE,与Windows图形用户界面的正则表达式,EBNF和C#/ VB。下面简单介绍一下发展中TinyPG自己的“编译”的过程:

您使用Regular Expressions.

  • 你写内TinyPG,基本上从输入源代码中提取令牌这些ReyExps定义终端。
  • RegExps本身在.NET中受支持,这意味着即使您生成的“编译器”代码也使用.NET的RegExps。

您可以在Extended BNF元语法中定义非终端和分析器规则。

  • 您在TinyPG中编写EBNF来描述您选择的语言。
  • 一些描述现代编程语言的免费BNF Grammers

您定义托管代码编译器。

  • 您可以在TinyPG中编写C#/ VB代码,将令牌转换为您选择的输出。
  • 每个BNF语法规则只有一个C#/ VB代码块。
  • TinyPG可以使用命令行编译器编译并运行“tokenizer + parser + complier”。

TinyPG生成新的 “编译” 的C#代码。

  • 使用您的RegEx和您的EBNF从输入的源代码生成parse-tree
  • 使用C#/ VB代码将此分析树转换为输出。

您在C#或VB.NET中开发编译器的前端。

  • 基本前端将调用生成的C#类与输入文件,并显示输出。

首先,你可以打开TinyPG的提供的示例中的“简单expression2.tpg”文件中看到一个计算器“编译”的演示。

相关问题