实验三 分析调试语义分析程序
更新时间:2023-11-01 14:03:01 阅读量: 综合文库 文档下载
- 实验三中推荐度:
- 相关推荐
实验三 分析调试语义分析程序
3.1实验类型
验证型实验。 6学时(2学时分析理解语义及代码生成程序、2学时分析理解抽象机模拟程序、2学时调试、测试前面两个程序)
3.2实验目的
通过分析调试TEST语言的语义分析和中间代码生成程序,加深对语法制导翻译思想的理解,掌握将语法分析所识别的语法范畴变换为中间代码的语义翻译方法。
3.3背景知识
3.3.1属性文法
属性文法A=(G,V,F),其中:
G:一个上下文无关文法, 属性文法的基础。
V:有穷的属性集,每个属性与一个文法符号相关联,这些属性代表与文法符号相关的语义信息,如:类型、地址、值、代码、符号表内容等等。属性与变量一样,可以进行计算和传递,属性加工的过程即语义处理的过程,属性加工与语法分析同时进行。
属性有两类:
综合属性:归约型属性,用于“自下而上”传递信息。 继承属性:推导型属性,用于“自上而下”传递信息。
F:关于属性的属性断言或一组属性的计算规则(称为语义规则)。断言或语义规则与一个产生式相联,引用该产生式左端或右端的终结符或非终结符相关联的属性。 3.3.2属性翻译文法
属性翻译文法以上下文无关文法为基础,为每个文法符号引进一组属性(语义值),对文法的每个产生式都配备一组与之相关联的属性计算规则(语义规则)而得到的文法。 或者说:符号具有属性并带有属性求值规则的翻译文法称为属性翻译文法 其具体定义如下:
1)文法的每个终结符、非终结符和动作符号都可以有一个有穷的属性集。 2)每个非终结符和动作符号属性可分为综合属性和继承属性。 3)继承属性的求值规则:
①开始符号的继承属性具有初始值。
②对产生式左部的非终结符,其继承属性则继承前面产生式中该符号已有的继承属性值。 ③右部的符号,其继承属性由产生式中其它符号属性值进行计算。 4)综合属性的求值规则:
① 终结符号的综合属性具有指定的初始值。在具体实现中,初始值由由词法分析程序提供。 ② 产生式右部的非终结符号的综合属性值,则取后面以该非终结符号为产生式左部时求得的综合属性值。
③ 产生式的左部的非终结符号的综合属性值,由产生式中左部或右部的某些符号的属性值进行计算。
④给定一动作符号,其综合属性值用该动作符号的其它属性值进行计算。 3.3.3 L-属性文法
一个属性文法称为L-属性文法,如果对于每个产生式A→X1X2…Xn,满足: 1. 右部符号Xi(1≦i≦n)的继承属性之值,仅依赖于X1,X2,?,Xi-1的任意属性或A的继承
属性;
2. 左部符号A的综合属性之值仅依赖于A的继承属性或(和)右部符号Xi(1≦i≦n)的任意
属性 ;
3. 对一动作符号而言,其综合属性之值是以该动作符号的继承属性或产生式右部的任意属
性为变元的函数。 3.3.4 S-属性文法
一个属性文法称为S-属性文法,当且仅当满足如下条件: 1. 所有非终结符只具有综合属性;
2. 在一个产生式中,每一个符号的各个综合属性的定义互不依赖;
3. 在一个产生式中,若某个文法符号X具有继承属性,则此继承属性之值仅依赖于该产
生式右部且位于X左边的符号之属性。 3.3.5语法制导翻译的基本思想
为每个产生式配上一个语义子程序(该子程序描述一个产生式所对应的翻译工作。这些工作包括:生成中间代码,查填符号表,检查和报错,修改编译程序某些工作变量的值等)。在语法分析过程中,每当一个产生式用于匹配或归约时,就调用该产生式所对应的语义子程序,以完成翻译任务。
3.4实验内容
1、分析调试教材上附录D的语义及代码生成程序,增加功能:检查变量是否赋初值,对没赋初值的变量引用时报告语义错误; 2、熟悉教材上TEST语言抽象机的指令系统;
3、分析调试教材上附录E的TEST抽象机模拟器程序;
4、对下列TEST语言代码进行编译,得到中间代码并在抽象机上运行,要求能得到正确的输出结果。 {
int sum; int product; int i; int a;
for ( i =1; i<10; i + i =1) {
read a;
sum = sum +a;
product = product*a; }
write sum; write product; }
注:键盘输入时,依次输入1, 2, 3, 4, 5, 6, 7, 8, 9, 10
3.5实验思考
1、语义及代码生成程序中的符号表管理方案存在什么问题?提出改进方案。 2、你是如何检查变量是否赋初值的?给出你的处理方案。 3、给出
3.6 实验报告要求
1、反映调试分析过程,突出对代码的修改; 2、展现实验结果;
3、回答所有实验思考问题。
正在阅读:
实验三 分析调试语义分析程序11-01
浅议高校预算管理05-12
我战胜了自私作文550字06-21
2015年全国中考化学真题分类汇编—化学方程式计算05-14
配套K122019年高考地理二轮复习 专题01 地球的运动规律押题专练01-05
不止一次我努力尝试作文700字06-23
村监督委员会制度01-31
新目标八年级英语下册知识点归纳(1)04-28
- 清真菜谱
- 我国国民经济和社会发展十二五规划纲要(全文)
- 高三物理机械振动和机械波复习2
- 浙江省公路山岭隧道机械化装备应用指导手册 doc - 图文
- 2018届高三数学文科二轮复习:专题检测(九) 导数的简单应用
- 2015年上海市公务员录用考试《行政职业能力测验》试卷(B类)
- 七年级道德与法制下册
- 大班户外游戏教案
- 病虫害预警 - 图文
- 某养鱼场为了提高经营管理水平
- 汉中市勉县尧柏余热汽机规程 10
- 烹饪试卷
- 事业单位考试公共基础知识专项分类题库训练
- 语文:第2课 走一步,再走一步 课堂导学案(人教版 七上)
- 天汉使用手册
- 人教版小学三年级数学下册教学计划
- 房地产销售管理完全操作手册122页
- 2009年评审通过具有中学高级教师专业技术资格人员名单...
- 《15秋公共关系学》作业1
- 2017最新版监理公司三标一体管理手册
- 分析
- 语义
- 调试
- 实验
- 程序
- 河广及硕鼠古注
- 办公室 - 教你如何把打印稿变成电子稿
- 二年级下册语文单元测试卷第一单元B卷人教部编版(2016)(附答案)
- 财务管理复习题及答案
- 平面镜成像 光的折射
- 2014-2015学年高一语文语文版必修4学案:4-14 原君 Word版含解析
- 中国中小企业品牌建设的重要意义5方面
- 六相继电保护测试仪 - 图文
- 2018-2019年唐山市迁安市蔡园镇孟官营中心完全小学三年级上册科学模拟复习题无答案
- 高中语文第一单元第一课窦娥冤课下能力提升新人教版必修4 含答案
- 2015考研政治 试卷分值及各科目题型
- 鸟类的繁殖、生态及迁徙
- 海船船员适任证书(二三管轮)模拟试题 - 2
- 历年专四语法真题总结 - 11-04-09版 - 附答案
- 2018秋湘教版初中物理九年级上册第一次月考试卷1
- FATFS文件系统剖析2
- 六年级数学第五讲 比例的应用
- 安全评价师一级理论试卷A
- 浙江省生产建设项目水土保持管理办法
- 刑事侦查学教学大纲