是否有任何 (E)BNF 解析器能够生成 AST 的 XML 树?
改写:将 (E)BNF 定义的语言编译成某种 XML 的最快方法是什么?
奖励:使用 Javascript :-)
是否有任何 (E)BNF 解析器能够生成 AST 的 XML 树?
改写:将 (E)BNF 定义的语言编译成某种 XML 的最快方法是什么?
奖励:使用 Javascript :-)
到目前为止,我最好的选择似乎是使用AntLR和 StringTemplate 接口。它还支持JavaScript 目标。
不是免费的,但会生成 XML: DMS Software Reengineering Toolkit。提供多种预定义的语言定义(C、C++、C#、Java、COBOL、Javascript、XML 等)。
问题是,你会用它做什么?如果您正在认真处理某些语言,那么您需要的不仅仅是 AST(几乎总是需要一个符号表)。