首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构造抽象语法树

构造抽象语法树
EN

Stack Overflow用户
提问于 2012-03-26 08:19:26
回答 1查看 1.7K关注 0票数 0

我有我的解析树,现在我已经按照解析树上的顺序遍历了,并且生成了一个符号表。但我该如何构建AST呢?

以下是我收集到的(一些不可靠的资源):

在您的解析树中,您可以转到I。e取最左边的子节点,然后是父节点,然后是其他子节点的列表。如果遇到任何类似SEMICOL的情况,则不要将其添加到inOrder I。如果节点中只有一个子节点,则删除该节点,然后使用子节点。。

这就是我要做的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-26 08:32:20

基于评论的更新

在您的示例中,解析树可能包含如下语句节点

(int) -> (ageArray) -> () -> (30) -> () -> (;)

教授希望有这样的事情

(intArray) -> (ageArray) -> (30)

我想是的。

你在做简单的解决方案。这不仅仅是一个穿越你的树和扔出一些东西的问题。AST表示程序语言的结构。为了构建AST,首先必须设计AST的外观。

例如,一个"IF“节点可能被设计为具有一个布尔方程元素(它本身也可能是一棵树)、一个真语句树和一个假语句树。

您必须根据正在编译的语言设计所有元素的外观。一旦您有了这个设计,那么通常会在解析树上使用一个lexer来生成AST。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9868735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档