编译原理
文章平均质量分 71
向上的yyy
路漫漫其修远兮,吾将上下而求索
展开
-
编译原理——基本块、流图、基本块优化、循环优化(代码优化)
把后面用的H、I的换为根(源头),H的源头是D,那么把下面用到H的换成D;I的源头是E,那么把下面用到I的换成E;常量B,可以直接删掉,把用到B的都替换成3即可;然后只写G、L、M用到的基本块,其余的不用写;由于A+C、A*C已经计算过,故将H=D,I=E;把循环中,一直不变的量(常量)移出循环,可以放在循环的上一个基本块中;把没用的代码直接删掉;B=J+1与循环无关,那么直接提出去即可;首先观察四元式程序,发现不用进行。,讲的挺不错的,可以去看看;,那么就可以直接通过上面的。,那么就可以直接通过上面的。原创 2022-12-27 16:38:05 · 8265 阅读 · 0 评论 -
编译原理——参数传递—传名、传地址、得结果、传值
这个传参方式不太好理解,就是P(X,Y,Z),P函数内部还是对局部变量进行操作,和传值一样,但是需要多一步操作,就是把形参X,Y,Z值传给主函数的实参(A+B,A,A),也就是执行完P函数的X的值赋给A+B,Y的值赋给A,Z的值也赋给A,注意A有两次赋值操作,那么后赋值的会覆盖之前的,所以A的取值就是Z的值,而不是Y的值;X、Y、Z的操作当成局部变量来做(当成传值来做),最后对应着把形参的值赋给实参,后赋值的覆盖之前的;原创 2022-12-26 21:09:57 · 4600 阅读 · 1 评论 -
编译原理——求后缀表达式、三元式、四元式
多了一个运算结果,其实就是个变量,所以他叫四元式;然后三元式引用的(x)换成Tx;可能就是一填空题,考试应该也不会太复杂,要会,掌握着由外到内求解思想即可;间接三元式其实就是对三元式做一个小改动,通过上图可以发现。其实就是二叉树的后序遍历,左右根;每个四元式的前面有一个地址编号,用于跳转用;三元式的拆分求解顺序和后缀表达式相反,以上题的表达式为例,写出其四元式。后面三道的具体步骤就不写了;:(运算符,参数1,参数2,(运算符,参数1,参数2,,和三元式不一样的就是。,小括号内的最后拆(原创 2022-12-26 19:49:21 · 13744 阅读 · 3 评论 -
编译原理——求短语、直接短语(简单短语)、素短语、句柄
然后通过一些例题,实战一下;根据上面介绍的概念、求法,应用一下即可;原创 2022-12-26 16:35:58 · 6134 阅读 · 9 评论 -
编译原理——正规式、NFA转换构造DFA、DFA的化简
我这里刚开始写的比较繁琐,主要是方便理解,做熟悉的话,可以直接写出不成立条件,从集合里拆分出来即可,没必要把成立的也写一遍;把删除的点的自环传给替代它的点,把2的入边(原来指向2的边,现在指向它的替代,也就是指向1),2的出边(就是由2引出去的边)不用管;第一问,对于图a,和上面一样,先画出状态转换矩阵,对矩阵进行编号,然后画出DFA,然后通过分割法进行化简,然后画出化简后的DFA即可;比如这个图就是NFA,因为0可以通过输入一个字符a到达本身,还可以通过a到达1,这就是在同一状态,有多条出边;原创 2022-12-24 21:10:07 · 23824 阅读 · 14 评论