计算机编译原理模拟试卷三套
2页1、计算机编译原理模拟试卷三套一、处于/* 和 */之间的串构成注解,注解中间没有*/,请根据词法分析基本方法,画出接受这种注解的DFA的状态转换图。二、根据自上而下的语法分析方法,构造下面文法的LL(1)分析表。D TLT int | realL id RR , id R | e三、根据自下而上的语法分析方法,为下面文法构造规范LR(1)分析表,画出状态转换图就可以了。然后说明它是否有动作冲突。S V = E | EV * E | idE V(2)合并同心项目集(I4和I11,I5和I12,I7和I13,I8和I10)后没有动作冲突。四、何谓语法制导的定义?为下面文法写一个语法制导的定义,它完成一个句子的while-do最大嵌套层次的计算并输出这个计算结果。S EE while E do E | id := E | E + E | id | (E)五、请根据数据流分析方法,对下面的程序片段作出其程序流图并计算: (1)各基本块的到达_定值集INB;(2)各基本块中各变量引用点的ud链; I := 1 J := 0 L1: J := J + I read I if I 100 goto L
2、2 write J halt L2 : I := I * Igoto L1(2)求各基本块中各变量引用点的ud链: 假设在程序中某点u引用了变量a,则把能到达u的a的所有定值点,称为a在引用点u的引用-定值链(简称ud链)。可以利用到达-定值信息来计算各个变量在任何引用点的ud链。 由图9.6(1)的程序流图可知,I的引用点是d3、d5和d6,J的引用点是d3和d8。 B2中I和J的引用点d3前面没有对I和J的定值点,其ud链在INB2= d1, d2, d3, d6 中,所以I在引用点d3的ud链是 d1, d6 ;J在引用点d3的ud链是 d2, d3 。 在B2中I的引用点d5前面有I的定值点d4,且在d4定值后到达d5,所以I在引用点d5的ud链是 d4 。 B3中I的引用点d6前面没有I的定值点,其ud链是INB3中I的所有定值点,所以是 d4 。 B4中J的引用点d8前面没有对J的定值点,其ud链是INB4中J的所有定值点。已知INB4 = d3, d4 ,所以,J的引用点d8的ud链是 d3 。模拟试卷B一、叙述下面的正规式描述的语言,并画出接受该语言的最简DFA的状态转
3、换图。( 1 | 01 )* 0*二、(1)通过构造识别活前缀的DFA和构造分析表,来证明文法E E + id | id是SLR(1)文法。(2)下面左右两个文法都和(1)的文法等价E E + M id | idE M E + id | idM eM e请指出其中有几个文法不是LR(1)文法,并给出它们不是LR(1)文法的理由。(1) 先给出接受该文法活前缀的DFA如下:再构造SLR分析表如下:表中没有多重定义的条目,因此该文法是SLR(1)的。(2)只有文法E M E + id | idM e不是LR(1)文法。因为对于句子id+id+id来说,分析器在面临第一个id时需要做的空归约次数和句子中+id的个数一样多,而此时句子中+id的个数是未知的。三、为下面的算术表达式文法写一个语法制导的翻译方案,它将每个子表达式E的符号(即值大于零还是小于零)记录在属性E.sign中(属性值分别用POS或NEG表示)。你可以假定所有的整数都不为零,这样就不用担心零的符号。E E *E | +E | -E | unsigned_integerE E1 *E2if E1.sign= E2.sign t
4、hen E.sign := POS else E.sign := NEG E +E1 E.sign := E1.sign E -E1 if E1.sign= POS then E.sign := NEG else E.sign := POSE unsigned_integer E.sign := POS四、一个C语言程序如下:func(i1,i2,i3)long i1,i2,i3;long j1,j2,j3; printf(Addresses of i1,i2,i3 = %o,%o,%on,&i1,&i2,&i3);printf(Addresses of j1,j2,j3 = %o,%o,%on,&j1,&j2,&j3);main()long i1,i2,i3;func(i1,i2,i3);该程序在某种机器的Linux上的运行结果如下:Addresses of i1,i2,i3 = 27777775460,27777775464,27777775470Addresses of j1,j2,j3 = 27777775444,27777775440,27777775434从上面的结果可以看
《计算机编译原理模拟试卷三套》由会员jay****li分享,可在线阅读,更多相关《计算机编译原理模拟试卷三套》请在金锄头文库上搜索。
2023-01-01 5页
2024-04-02 100页
2023-01-08 5页
2023-10-31 14页
2022-11-24 4页
2022-11-16 3页
2023-02-04 4页
2022-12-02 3页
2023-10-26 3页
2023-12-11 4页