编译原理知识点记录

来源:互联网 发布:未识别的网络不能上网 编辑:程序博客网 时间:2024/05/17 02:21


仅仅作为记录,自己学到过什么知识


编译原理总体框架图

构造最简DFA:1、构造NFA   2、构造DFA  3、化简DFA

LL(1):1、消除左递归   2、找到FIRST集和FOLLOW集 3、画分析表

LR(0),SLR:1、找到目标集  2、画出框图I0   3、画表格s1 \r1 \1

翻译:1、MNES,一个词一个词地取出,对应写几句话  2、画四元式表格  3、遗留问题:表格中还含有0,根据下一条语句来决定0处填写的内容

DAG: 画图的方法类似于霍夫曼树,左右顺序不可颠倒

             1、化简:从上往下找到最低一层,把表达式写出来

             2、排序:从上往下,先找左边节点,如果节点父节点都在集合中,则放入,如果不是,则找上一层的右结点,直至所有节点都放入,则排序完成,此排序为逆序

                               之后要想写出目标代码,需要把这个逆序变为正序,然后依次写即可

死代码:计算的结果不被引用的语句

循环优化:1、代码外提:将循环不变语句提到循环的前置节点中,并不是所有的循环不变语句都可以外提

                     2、归纳变量删除

                     3、强度削弱



1 0