我有我的解析树,现在我已经在解析树上按顺序遍历了一个符号表。 但是我如何为此构建AST呢?
这是我收集的内容(一些不可靠的资源):
这就是我需要做的全部吗?
答案 0 :(得分:0)
根据评论更新
在您的示例中,解析树可能包含类似此
的语句节点(int) - > (ageArray) - > ([) - > (30) - > (]) - > (;)
教授期待像
这样的东西(intArray) - > (ageArray) - > (30)
我想。
您正在使解决方案变得简单。这不仅仅是遍历你的树并抛出一些东西的问题。 AST代表程序语言的结构。为了构建AST,首先必须设计AST的样子。
例如,“IF”节点可能被设计为具有布尔方程元素(这本身也可能是树),真正的语句树和假语句树。
您必须根据要编译的语言设计所有元素的外观。一旦你有了这个设计,那么通常在解析树上使用词法分析器来生成AST。