我知道控制流图(CFG)可以从抽象语法树(AST)构建。
但是,我不清楚CFG是否是AST的一个子集?
例如,给定一个CFG,我们可以返回到AST吗?
发布于 2021-07-31 17:44:43
然而,我不清楚CFG是否是
的一个子集?
不,AST完全是一个语法结构。但CST与语言的语义很好地集成在一起。此外,它们代表了不同的东西。
例如,给定一个CFG,我们可以回到
吗?
这取决于语言,以及该语言中的构造如何映射到控制流。例如,这两个片段将构造完全不同的AST;
print('a') if a else print('b')if a:
print('a')
else:
print('b')但是生成的CFG对于这两个都是相等的。
https://stackoverflow.com/questions/68094976
复制相似问题