语法制导翻译的实现2025 年 3 月 17 日 | 阅读 1 分钟 语法制导翻译是通过构造解析树并以从左到右的深度优先顺序执行操作来实现的。 SDT 通过解析输入并生成解析树来实现。 示例生产 | 语义规则 |
---|
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 的解析树 图:解析树
|