首页 > 试题广场 >

有文法 G 和 G 的语法制导翻译如下:

[问答题]

有文法 G G 的语法制导翻译如下:

E E1*T { E.place=newtemp;

emit(*,E1.place,T.place,E.place; }

| T   { E.place=T.place; }

T T1+F { T.place=newtemp;

emit(+,T1.place,F.place,T.place; }

| F   { T.place=F.place; }

F (E)    { F.place=E.place; }

| id   { F.place=id.name; }

(a) 求句型 (T+F)*id 的短语、直接短语以及句柄;

(b) 根据语法制导翻译写出句子 a*b+c*d 的中间代码;

(c) (若 a=3 b=5 c=7 d=8 ,请给出中间代码计算结果;

(d) 将文法 G 简化为: E E*T|T T T+F|F F id 。给出它的识别活前缀的 DFA
发表于 2017-05-17 01:01:01 回复(0)