我想知道如何创建语法树的最佳方法。
user216441
问问题
475 次
4 回答
3
The standard Stack Overflow resource for learning to write compilers and interpreters is Learning to write a compiler
于 2009-12-17T13:19:28.893 回答
3
这是LLVM 项目中关于抽象语法树(AST) 的一些解释。
预告片:
程序的 AST 以这样一种方式捕获其行为,以便编译器的后期阶段(例如代码生成)易于解释。我们基本上希望语言中的每个构造都有一个对象,并且 AST 应该对语言进行密切建模。
于 2009-12-17T13:12:12.213 回答
2
真的,与任何其他语言没有什么不同。解释语言和编译语言之间的区别主要在于后端,而不是前端。特定的语言可能有特定的解析要求,但您无法对两类语言的解析技术进行有意义的比较。
于 2009-12-17T13:08:27.167 回答
1
您没有列出解析器的语言要求,因此如果可以使用 C 或 C++,您应该首先查看 yacc:http ://en.wikipedia.org/wiki/Yacc
Yacc 为您的特定语法生成一个 C 解析器。开始使用它可能需要做一些额外的工作,但是一旦你启动并滚动它,它应该更容易维护。
免责声明:我只在一个项目中使用过 yacc,那是 10 多年前的事了,所以你的里程可能会有所不同。
于 2009-12-17T13:11:49.823 回答