- 10
- 0
- 约1.54万字
- 约 47页
- 2017-01-08 发布于辽宁
- 举报
学 号: 0121410870922课 程 设 计课 程编译原理题 目For语句的翻译程序设计(简单优先法、输出三地址码)学 院计算机科学与技术学院专 业计算机科学与技术班 级计算机1404姓 名王承禹指导教师林泓2016年12月27日目录1 系统描述21.1设计目的21.2设计内容描述22 文法及属性文法的描述23 语法分析方法描述及语法分析表设计33.1语法分析方法描述33.2分析法操作步骤43.3优先关系矩阵54 中间代码形式的描述及中间代码序列的结构设计54.1中间代码形式55 编译系统的概要设计65.1数据结构65.2模块设计65.2.1词法分析模块75.2.2语法、语义分析模块75.2.3主控模块116 详细的算法描述116.1词法分析算法116.2语法分析算法126.3语义分析算法127 软件的测试方法和测试结果138 本设计的评价、特点、149 收获与体会1410 核心代码16成绩评定表27For语句的翻译程序设计(简单优先法、输出三地址码)1 系统描述1.1设计目的 通过学习编译原理的相关内容,设计并编写FOR循环语句的翻译程序,使用简单优先法,按三地址码输出,能够实现词法分析,语法和语义的分析,加深对所学知识的理解,并且能够熟练运用到实际当中。1.2设计内容描述FOR循环语句的基本格式如下:FOR i=E step E until E do Stmt根据所给题目要求,设计出符合FOR循环语句的文法及属性文法的描述,语法分析方法以及三地址码的输出方式,罗列出词法分析和语法分析的流程,根据语法规则设计输入输出方法,简单优先法中的优先关系表格。设计好并且进行编译,设计若干输入输出用例(包括正确的输入和错误的输入,用来检查程序的完整性)。 2 文法及属性文法的描述根据For语句的特点,制定的产生式规则及由产生式对应的语义动作如下:F1 - for i = E1{emit(entry(i) , = , E1.place);F1.place = entry(i);/*保存控制变量在符号表中的位置*/F1.chain = nextstat;emit(goto--);/*goto OVER*/F1.codebegin = nextstat;/*保存AGAIN的地址*/}F2 - F1 step E2{F2.codebegin = F1.codebegin;F2.place = F1.place;emit(F1.place = E2.place + F1.place);backatch(F1.chain,nextstat);}F3 - F2 until E3{F3.codebegin = F2.codebegin;q = nextstat;emit(if F2.place, = E3.place, goto q+2);/*若i=E3 转去执行循环体的第一个三地址码*/F3.chain = nextstat;emit(goto--)/*转离循环*/}S - F3 do Stmt{emit (goto F3.codebegin)/*goto AGAIN*/backpatch(Stmt.chain,F3.codebegin);Stmt.chain = F3.chain/*转离循环的转移目标留待外层S时再回填*/}3 语法分析方法描述及语法分析表设计3.1语法分析方法描述本次课内实践要求使用简单优先关系方法。简单优先分析法的基本思想史对一个文法按照一定原则求出该文法所有符号即包括终结符和非终结符之间的优先关系确定归约过程中的句柄,它的归约实际上是一种规范归约。一个文法是简单优先文法必须满足以下条件(1)在文法符号集V中,任意两个符号之间最多只有一种优先关系成立;(2)在文法中任意两个产生式没有相同的右部。三种优先关系及其判定方法如下所示:(1)X=Y 表示X和Y的优先关系相等,当且仅当G中存在产生式规则A→…XY…;(2)XY表示X的优先性比Y的优先性小,当且仅当G中存在产生式规则 A→…XB…,且BY…;(3)XY表示X的优先性比Y的优先性大,当且仅当G中存在产生式规则 A→…BD…,且B…X和DY…;(4)对任何X,若文法开始符号S→X…,则#X,若S→…X则X#。3.2分析法操作步骤(1)由简单优先分析法的基本思想设计的如下算法,首先要构造优先关系矩阵(如3.3所示),并将文法产生式保存,设置符号数组S:(2)将输入符号串a1a2…an # 依次逐个保存符号数组S中,直到遇到数组中第一个符号ai的优先性下一个待输入符号aj为止。(3)数组当前符号ai为句柄尾,由此向左在数组中找句柄的头符号ak,即找到ak-1ak为止。由句柄ak…ai在文法的产生式中查找右部为ak…ai的产生式,若找到则
您可能关注的文档
最近下载
- 2025新教材-译林版-七年级英语-上册-单词表.xlsx VIP
- 山西省农村信用社(农村商业银行合作银行)个人网上银行.pdf VIP
- XX市非公经济人才引进问题研究XX市重点软科学项目R2004A04研究报告 1【XX市重点软科学项目R2004A04研究报告】XX市非公经济人才引进问题研究执笔: XX大学经济学院 张一力课题主持人:张一力 副.doc VIP
- 船舶空调装置的实例与管理课件.PPT VIP
- 2025-2026学年黑龙江省大庆市高三上学期一模物理试题(附答案解析).docx VIP
- 软科学课题研究报告.doc VIP
- 高中物理必修2全册基础典型练习题(精品含答案).pdf VIP
- 便民摊点抓阄方案.doc VIP
- 中国领汇团队公开课一外汇通论.ppt
- 八年级物理 第6章 质量与密度 精选单元测试题(含答案).doc VIP
原创力文档

文档评论(0)