什么是该进程分析的一个解释编程语言?
-
20-09-2019 - |
题
我想知道如何是最好的方式来创建的语法树。
解决方案 2
有关学习书写编译器和解释的标准堆栈溢出资源是学习编写编译器
其他提示
下面是有关抽象语法树(AST)
预告:
有关的程序的AST捕获其以这样的方式行为,它很容易适合编译器(例如,代码生成)来解释的后期阶段。我们基本上要在语言中的每个构造一个对象,而AST应的语言准确地模拟。
这是任何其他语言没有什么不同,真的。解释和编译语言之间的差别主要在后端,而不是前端。具体的语言可能有具体的解析要求,但你不能让一个有意义的比较在这两类语言之间的解析技术。
你不清单的语言要求你解析,因此,如果C或C++的可能性,您应该先看看yacc: http://en.wikipedia.org/wiki/Yacc
Yacc产生的C分析器为你的特定语法。开始使用,可能是一个小小的额外工作,但一旦你得到的东西和轧制,应该更容易维护。
免责声明:我只有用yacc在一个项目,这是10年以前,所以你的里程数可能有所不同。
不隶属于 StackOverflow