Programming§ 语法制导翻译概述E 设有文法 E∷=EE E∷=digit2在图所示子树中子树根处E·VAL的语义值是3这可用语义动作 E·VAL:=E(1)·VALE(2)·VAL算出使用这个语义动作时以底部最左的 E 的E·VAL的值来代替E(1)·VAL 而以右边 E 的E·VAL的值代替E(2)·VAL E2XTOPEE ? VAL=2状态栈S3E0
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级第五章 语法制导的翻译赵建华南京大学计算机系2010年3月介绍使用上下文无关文法引导语言的翻译CFG的非终结符号代表了语言的某个构造程序设计语言的构造由更小的构造组合而成一个构造的语义可以由小构造的含义综合而来比如:表达式xy的类型由xy的类型和运算符决定也可以从附近的构造继承而来比如:声明int x中x的类型由它左边的类型
3编译原理编译原理编译原理 := ? 编译原理编译原理 = 8产 生 式 例5.3 = 51517图5-7val 如果一个SDD的每个属性都是综合属性则它是S属性可以按照分析树的自底向上顺序来计算各属性值后序遍历postorder (N) { for (从左边开始对N的每个结点C) postorder (C) 计算N的属性值 }S属性
#
1与L→E相连的语义规则是一个过程打印E的值理解为L的属性是虚的或空的 2ETF的属性val都为综合属性3lexval 是单词 digit 的属性(由词法程序提供)id1addtypeval[top] := val[top]val[top2]FJ:表示按假转<左部><表达式的逆波兰式> ::=例 :AB(C-D)E(C-D)N格式: <序号> RJ<标号> LJx a b - := 无条件转移
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级编译原理之语义分析华东交通大学软件学院万仲保第八章 语法制导翻译和中间代码生成属性文法语法制导翻译概论中间代码的形式简单赋值语句的翻译布尔表达式的翻译控制结构的翻译说明语句的翻译数组和结构的翻译属性文法属性属性文法示例例8.1例8.2属性定义:文法符号x?V的语义性质称为该文法符
piler北京航空航天大学软件工程研究所第五章:语法制导翻译技术5.1 翻译文法(TG)5.2 语法制导翻译5.3 属性翻译文法(ATG)5.4 自顶向下语法制导翻译5.5 自底向上的语法制导翻译5.0 本章导言词法分析语法分析:解决单词和语言成分的识别及词法和语法结构的检查语法结构可形式化地用一组产生式来描述给定一组产生式我们能够很容易地将其分析器构造出来本章要介绍的是语义分析和代码生成技
单击 = 语法制导的定义 = 8L? = 10 = = 8 = 2 = 2 = 8分析树各结点属性的计算可以自下而上地完成 = 5 = = 5 = 语法制导的定义 = 8L?DLin 7D4 type2 entryL.5 属性计算次序2属性计算次序:构造输入的分析树id1in 5T10Lin 语法制导的定义 语法树语法树是分析树的浓缩表示:算符和关键字是作为内部结点语法制导翻译可以
语法制导翻译简介.1 语法与语义<1> 语法制导翻译的基本思想通俗地讲:以语法分析为基础伴随语法分析的各个步骤执行相应的语义动作具体方法:将文法符号所代表的语言结构的意思用附着于该文法符号的属性表示用语义规则规定产生式所代表的语言结构之间的关系(即属性之间的关系)即用语义规则实现属性计算语义规则的执行:.2 属性与语义规则(续2)产生式L→EE→E1E2E→num post:(3 5 8 )产生
单击此处编辑母版标题样式单击此处编辑母版文本样式第二级第三级第四级第五级第五章 语法制导翻译及中间代码生成5.1 引言在早期的一些编译程序中是在语法分析的基础上根据源程序中各语法成份的语义直接产生机器语言或汇编语言形式的目标代码现在的编译系统一般都将经过语法分析的源程序先翻译为某种形式的中间语言代码然后再将其翻译为目标代码 优点:使编译程序各组成部分功能更单一使得编译程序的逻辑结构更为清晰从而使编
违法有害信息,请在下方选择原因提交举报