首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制流图(CFG)是抽象语法树(AST)的子集吗?

控制流图(CFG)是抽象语法树(AST)的子集吗?
EN

Stack Overflow用户
提问于 2021-06-23 14:58:46
回答 1查看 45关注 0票数 0

我知道控制流图(CFG)可以从抽象语法树(AST)构建。

但是,我不清楚CFG是否是AST的一个子集?

例如,给定一个CFG,我们可以返回到AST吗?

EN

回答 1

Stack Overflow用户

发布于 2021-07-31 17:44:43

然而,我不清楚CFG是否是

的一个子集?

不,AST完全是一个语法结构。但CST与语言的语义很好地集成在一起。此外,它们代表了不同的东西。

例如,给定一个CFG,我们可以回到

吗?

这取决于语言,以及该语言中的构造如何映射到控制流。例如,这两个片段将构造完全不同的AST;

代码语言:javascript
复制
print('a') if a else print('b')
代码语言:javascript
复制
if a:
    print('a')
else:
    print('b')

但是生成的CFG对于这两个都是相等的。

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

https://stackoverflow.com/questions/68094976

复制
相关文章

相似问题

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