编译原理课件汇总.ppt

带有继承属性L.inh的语法制导定义 产生式 语义规则 D?TL L?inh:=T ? type T ?int T ? type :=integer T ?float T ? type :=float L ?L1,id L1 ?inh :=L ?inh addtype(id ?entry,L ?inh) L ?id addtype(id ?entry,L ?inh) 5.2.5具有受控副作用的语义规则 属性文法没有副作用,但是会增加描述的复杂度 比如语法分析时如果没有副作用,符号表就必须作为属性传递。 可以把符号表作为全局变量,然后通过副作用函数来添加新标识符; 受控的副作用 不会对属性求值产生约束,即可以按照任何拓扑属性求值,不会影响最终结果。 添加部分简单的约束。 受控副作用的例子 L→En print(E.val) 通过副作用打印出E的值 总是在最后执行,且不会影响其它属性的求值 变量声明的SDD中的副作用 addType将标识符的类型

文档评论(0)

1亿VIP精品文档

相关文档