使用TinyPG!它是一个令人惊叹的一体化编译器编译器,具有轻量级GUI,您可以使用RegEx,EBNF和编写C#/ VB代码构建解析器,以便对解析树执行某些操作!
这是我之前做过的简短而翔实的总结,它也将您链接到下载.
我对TinyPG的理解:
TinyPG允许您编写和开发:
它有一个内置的IDE,Windows Only (在C#.NET中创建,开源).
它允许您使用内置的RegEx工具试用和预览正则表达式..NET支持RegEx语法,这意味着即使输出的解析器代码也使用.NET的正则表达式.
您编写EBNF来描述您选择 的语言(以下是一些免费提供的BNF Grammer,它们描述了现代编程语言(C,Java,JavaScript,C#,VB.NET,SQL-89)
使用TinyPG,您的RegEx和您的EBNF输出一个解析树 (参见此图).
那么你用解析树做什么?您为编译器/解释器/转换器编写C#/ VB代码 (在TinyPG中,根据BNF语法规则). (在TinyPG内部,打开提供的示例中的"simple expression2.tpg"文件,以查看计算器 '编译器' 的演示)
TinyPG允许您在TinyPG IDE中编译和测试您的tokenizer +解析器+编译器,它最终输出C#.NET或VB.NET (您选择)中的解析器源代码,并带有现成的类.
适用于大众的优秀的一体化编译器编译器.请享用!
PS:如果我错了,请纠正我.