1 / 41
文档名称:

语法制导翻译生成中间代码培训.ppt

格式:ppt   页数:41
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

语法制导翻译生成中间代码培训.ppt

上传人:陈晓翠 2011/8/1 文件大小:0 KB

下载得到文件列表

语法制导翻译生成中间代码培训.ppt

文档介绍

文档介绍:第四章语法制导翻译生成中间代码
语法制导翻译是处理语义的基本方法,它以语法分析为基础,在语法分析得到语言结构的结果时,对附着于此结构的语义进行处理,如计算表达式的值、生成中间代码等。
与语法分析部分的讨论不同,本章的内容更注重于实际方法的讨论。
主要内容包括:
<1> 语法制导翻译的基本概念
<2> 中间代码简介
<3> 符号表简介
<4> 典型声明语句与可执行语句的翻译
<5> 上机作业-第三部分:语法制导翻译绘制函数图形
1
语法制导翻译简介 语法与语义
<1> 语法与语义的关系
语法是指语言的结构、即语言的“样子”;语义是指附着于语言结构上的实际含意,即语言的“意义”。
对于语法和语义:
语义不能离开语法独立存在;
语义远比语法复杂;
同一语言结构可包含多种含意,不同语言结构表示相同含意;
语法与语义之间没有明确的界线。
例1:猫吃老鼠与老鼠吃猫
例2:程序设计语言中的分情况结构:
condition is
case1: stat1;
case2: stat2;
...
end case;
(condition) {
case condition1:stat1;
case condition2:stat2;
...
}
break;
break;
2
语法与语义(续1)
<2> 语义分析的两个作用
检查是否结构正确的句子所表示的意思也合法;
执行规定的语义动作,如:
表达式求值
符号表填写
中间代码生成等
<3> 语义分析的方法
语法制导翻译
3
属性与语义规则
<1> 语法制导翻译的基本思想
通俗地讲:以语法分析为基础,伴随语法分析的各个步骤,执行相应的语义动作。
具体方法:
将文法符号所代表的语言结构的意思,用附着于该文法符号的属性表示;
用语义规则规定产生式所代表的语言结构之间的关系(即属性之间的关系),即用语义规则实现属性计算。
语义规则的执行:在语法分析推导或归约的每一步骤中,执行附着在对应产生式上的语义规则,实现对语义的处理,如查添符号表、生成中间代码、发布错误信息等。
4
属性与语义规则(续1)
<2> 属性的抽象表示
.attr
例如:(值)
(类型)
(代码序列)
(存储空间)
<3> 对文法的约定
本章关注的是语法分析的基础上的语义处理,忽略语法分析。
为了简单,本章的文法一般为二义文法。默认解决二义的方法是规定常规意义下的优先级和结合性。
5
属性与语义规则(续2)
对于产生式A→α,其中α是由文法符号X1X2...Xn组成的序列,它的语义规则可以表示为()所示关于属性的函数:
b := f(c1, c2, ..., ck) ()
语义规则中的属性存在下述性质与关系。
(1) 若b是A的属性,c1, c2, ..., ck是α中文法符号的属性,或者A的其它属性,则称b是A的综合属性。
(2) 若b是α中某文法符号Xi的属性,c1, c2, ..., ck是A的属性,或者是α中其它文法符号的属性,则称b是Xi的继承属性。
(3) 称()中属性b依赖于属性c1, c2, ..., ck。
(4) 若语义规则的形式如下述(),则可将其想像为产生式左部文法符号A的一个虚拟属性。属性之间的依赖关系,在虚拟属性上依然存在。
f(c1, c2, ..., ck) () ■
()中属性之间的依赖关系,实质上反映了属性计算的先后次序,即所有属性ci被计算之后才能计算属性b。
E→E1+E2 :=+
E→E1+E2 print()
<3> 属性的定义**
6
语义规则的两种形式
<1> 语法制导定义
用抽象的属性和运算符号表示的语义规则;(公式,做什么)
<2> 翻译方案
用具体属性和运算表示的语义规则。(程序段,如何做)
语义规则也被习惯上称为语义动作。
忽略实现细节,二者作用等价。(设计与实现)
7
语义规则的两种形式(续1)
将中缀形式的算术表达式转换为后缀表示的语法制导定义和翻译方案。虚拟属性print():=print()。
产生式
L→E
E→E1+E2
E→num
语法制导定义
print()
:=
||||'+';
:=;
翻译方案1
print_post(post)

最近更新

2025年沈阳北软信息职业技术学院单招职业倾向.. 41页

2025年沙洲职业工学院单招职业适应性考试模拟.. 39页

2025年沧州职业技术学院单招职业适应性测试模.. 39页

2025年河北交通职业技术学院单招职业倾向性测.. 39页

2025年河北化工医药职业技术学院单招职业适应.. 40页

2025年河北政法职业学院单招职业适应性考试模.. 40页

2025年河北正定师范高等专科学校单招职业技能.. 40页

2025年河北省沧州市单招职业倾向性考试模拟测.. 39页

2025年河北石油职业技术大学单招职业倾向性测.. 39页

2025年河北艺术职业学院单招职业技能测试模拟.. 39页

2025年河北青年管理干部学院单招综合素质考试.. 40页

2025年河南交通职业技术学院单招职业适应性测.. 40页

2026年上海政法学院单招职业倾向性测试模拟测.. 41页

2025年河南女子职业学院单招职业技能测试模拟.. 40页

2025年河南工业和信息化职业学院单招职业倾向.. 42页

2026年上饶职业技术学院单招职业倾向性考试模.. 42页

2026年中药学单招测试题及答案1套 43页

2025年河南省商丘市单招职业倾向性测试模拟测.. 40页

2025年河南省新乡市单招职业适应性测试模拟测.. 39页

2025年河南省省直辖行政单位单招职业倾向性测.. 40页

2025年河南省鹤壁市单招职业适应性测试模拟测.. 39页

2025年河南经贸职业学院单招职业适应性测试模.. 41页

2025年河南轻工职业学院单招职业倾向性测试模.. 41页

2025年泉州华光职业学院单招职业倾向性测试模.. 40页

2026年云南省文山壮族苗族自治州单招职业适应.. 42页

2026年云南能源职业技术学院单招职业适应性测.. 41页

2025年泉州纺织服装职业学院单招职业倾向性测.. 41页

2025年泉州轻工职业学院单招职业适应性测试题.. 40页

2025年泰山职业技术学院单招职业适应性考试模.. 40页

2025年泸州医疗器械职业学院单招职业适应性测.. 40页