📜  语法定向翻译

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

语法定向翻译

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

所以我们可以说

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

Production Semantic Rules
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 → num F.val := num.lexval

E.val是E的属性之一。

num.lexval是词法分析器返回的属性。