语法定向翻译

在语法指导的翻译中, 连同语法一起, 我们关联了一些非正式的符号, 这些符号称为语义规则。
所以我们可以说

Grammar + semantic rule = SDT (syntax directed translation)

  • 在语法定向翻译中, 每个非终结符都可以获取一个或多个属性, 有时还可以获取0个属性, 具体取决于属性的类型。这些属性的值由与生产规则关联的语义规则评估。
  • 在语义规则中, 属性为VAL, 属性可以包含任何内容, 例如字符串, 数字, 存储位置和复杂记录
  • 在语法定向翻译中, 每当构造体遇到编程语言时, 就会根据该特定编程语言中定义的语义规则对其进行翻译。

生产 语义规则
E→E + T E.val:= E.val + T.val
E→T E.val:= T.val
T→T * F T.val:= T.val + F.val
T→F T.val:= F.val
F→(F) F.val:= F.val
无论是在F→ F.val:= num.lexval
【语法定向翻译】E.val是E的属性之一。
num.lexval是词法分析器返回的属性。

    推荐阅读