📜  语法定向翻译的实现

📅  最后修改于: 2020-12-06 07:21:13             🧑  作者: Mango

语法定向翻译的实现

语法直接转换是通过构造一个解析树并以从左到右的深度第一顺序执行动作来实现的。

SDT通过解析输入来实现,并生成一个解析树作为结果。

Production Semantic Rules
S → E $ { printE.VAL }
E → E + E {E.VAL := E.VAL + E.VAL }
E → E * E {E.VAL := E.VAL * E.VAL }
E → (E) {E.VAL := E.VAL }
E → I {E.VAL := I.VAL }
I → I digit {I.VAL := 10 * I.VAL + LEXVAL }
I → digit { I.VAL:= LEXVAL}

解析SDT的树:

无花果:解析树