对于图 5-1 中的 SDD,给出下列表达式对应的注释语法分析树
(3+4)*(5+6)n
1*2*3*(4+5)n
扩展图 5-4 中的 SDD,使它可以像图 5-1 所示的那样处理表达式
产生式 | 语法规则 | |
---|---|---|
1) | L -> En | L.val = E.val |
2) | E -> TE' | E'.inh = T.val E.val = E'.syn |
3) | E' -> +TE_1' | E_1'.inh = E'.inh + T.val E'.syn = E_1'.syn |
4) | E' -> ε | E'.syn = E'.inh |
5) | T -> FT' | T'.inh = F.val T.val = T'.syn |
6) | T' -> *FT_1' | T_1'.inh = T'.inh * F.val T'.syn = T_1'.syn |
7) | T' -> ε | T'.syn = T'.inh |
8) | F -> (E) | F.val = E.val |
9) | F -> digit | F.val = digit.lexval |
使用你在练习 5.1.2 中得到的 SDD,重复练习 5.1.1
(3+4)*(5+6)n
1*2*3*(4+5)n