- 5
- 0
- 约7.31千字
- 约 67页
- 2019-10-31 发布于湖北
- 举报
第六章 属性文法和语法制导翻译 本章内容概要 属性文法 综合属性 继承属性 基于属性文法的处理方法 依赖图 属性的计算次序 树遍历的属性计算方法 一遍扫描的处理方法 抽象语法树 S-属性文法的自下而上计算 分析栈中的综合属性 L属性文法和自顶向下翻译 翻译模式 自顶向下翻译 递归下降翻译器的设计 自下而上计算继承属性 从翻译模式中去掉嵌入在产生式中间的动作 分析栈中的继承属性 模拟继承属性的计算 用综合属性代替继承属性 属性文法 属性翻译文法是在上下文无关文法的基础上,为每个文法符号(终结符或非终结符)配备若干相关的“值”(称为属性)。 这些属性代表与文法符号相关信息,例如它的类型、值、代码序列、符号表内容等等。 属性与变量一样,可以进行计算和传递。 属性加工的过程即是语义处理的过程。对于文法的每个产生式都配备了一组属性的计算规则,称为语义规则。 例如,考虑非终结符A,B和C,其中,A有一个继承属性a和一个综合属性b,B有综合属性c,C有继承属性d。产生式A→BC可能有规则 C .d:=B.c+1 A .b:=A.a+B.c 而属性A .a和B.c在其它地方计算。 综合属性 在语法树中,一个结点的综合属性的值由其子结点的属性值确定。因此,通常使用自底向上的方法在每一个结点处使用语义规则计算综合属性的值。仅仅使用综合属性的属性文法称S-属性文法 继承属性
原创力文档

文档评论(0)