在编译器中,经过词法分析和语法初步分析,会生成语法树,在进一步对语法树的处理中,会用到一个叫做“有向无环图”的数据结构。
何为有向无环图
1,首先它是一个图,然后它是一个有向图,其次这个有向图的任意一个顶点出发都没有回到这个顶点的路径,是为有向无环
2,DAG不一定能转化为树,但是树一定是一个DAG,
3,DAG可以执行拓扑排序,关于拓扑排序的的相关内容,参考另一篇blog:http://blog.youkuaiyun.com/yejing_utopia/article/details/40681191
如何判断一个图为有向无环图图:
因为DAG可以执行拓扑排序,所以可以用拓扑排序相关算法来推到一个图是否DAG。
本文详细介绍了有向无环图(DAG)在编译器中的作用,包括其定义、特点及如何通过拓扑排序判断是否为DAG。重点阐述了DAG在语法树处理过程中的应用,及其对编译过程的影响。
&spm=1001.2101.3001.5002&articleId=40402313&d=1&t=3&u=6697818e009e4a9e90229508329379b5)
252

被折叠的 条评论
为什么被折叠?



