




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编译原理研究性教学学习内容一、 研究性学习目标编译系统是计算机系统重要的系统软件之一,编译原理课程主要讲授编译系统重要组成部分程序设计语言编译程序的设计原理和实现技术,是计算机科学与技术专业学生的必修专业课程,也是每个优秀的计算机专业人员必修的一门课程,更重要的是,编译原理课程中蕴含着计算机科学中解决问题的思路、抽象问题和解决问题的方法,其内容可让计算机专业学生“享用一辈子”。本课程开展研究性教学的目是,在教师的引导下以问题回朔与思维启发的方式,使学生在不断的探究过程中掌握编译程序设计和构造的基本原理和实现技术,启迪学生的抽象思维、激发学生的学习兴趣、培养学生的探究精神和专业素养,从而提高学生发现问题、分析问题和解决问题的能力。二、研究性学习任务 以理论与教学紧密结合的六个研究性学习专题作为教学载体,这六个研究专题是:1、 词法分析程序构造原理与实现技术2、 递归下降语法分析设计原理与实现技术3、 LL(1)语法分析设计原理与实现技术4、 算符优先语法分析设计原理与实现技术5、 LR(0)语法分析设计原理与实现技术6、 语义分析及中间代码生成程序设计原理与实现技术以上内容专题1必做,专题2、3、4选择2个完成,占期末总成绩的30分。专题5和6为附加选做题,完成后可加分3分和5分。三、研究性学习内容设计 n 研究性学习专题一 词法分析程序构造原理与实现技术1、 理论传授源程序输入与词法分析程序输出的基本方法;正则文法及其状态转换图的基本概念,正则表达式及有限自动机的基本概念;正规文法构造相应的状态转换图的基本方法;正则表达式构造有限自动机的基本方法及不确定有限自动机确定化的基本方法;词法分析程序的设计与编写。2、 目标任务实验项目 完成以下正则文法所描述的Pascal语言子集单词符号的词法分析程序。字母 字母 数字 数字 数字 + * ; () =* = : /该语言的保留字 :begin end if then else for do while and or not 设计说明 (1)该语言大小写不敏感;(2)字母为a-z A-Z,数字为0-9;(3)可以对上述文法进行扩充和改造;(4) /*/为程序的注释部分。设计要求 (1)给出各单词符号的类别编码;(2)词法分析程序应能发现输入串中的错误;(3)词法分析作为单独一遍编写,词法分析结果为二元式序列组成的中间文件;(4)设计两个测试用例(尽可能完备),并给出测试结果。提交文档 (1)程序功能描述;(2)主要数据结构描述;(3)程序结构描述:设计方法、函数定义及函数之间的调用关系、程序总体执行图;(4)程序测试:测试用例、测试结果;(5)学习总结:实验过程中遇到的主要问题、如何克服、对你的程序进行评价、对问题的深入理解和实验的收获。3、 任务分析 重点解决正则文法到状态转换图的转化问题。4、 能力培养 深入理解理论对实践的指导作用;基本原理、实现技术和方法的正确运用。n 研究性学习专题二 递归下降语法分析设计原理与实现技术1、理论传授语法分析的设计方法和实现原理;LL(1)文法及其判定;无回朔的递归下降分析的设计与实现;2、目标任务实验项目完成以下描述算术表达式的LL(1)文法的递归下降分析程序GE: ETE EATE| TFT TMFT| F (E)|i A+|- M*|/设计说明 终结符号i为用户定义的简单变量,即标识符的定义。设计要求(1)输入串应是词法分析的输出二元式序列,即某算术表达式“实验项目一”的输出结果,输出为输入串是否为该文法定义的算术表达式的判断结果;(2)递归下降分析程序应能发现输入串出错;(3)设计两个测试用例(尽可能完备,正确和出错),并给出测试结果。提交文档(1)设计文档(提交书面文档);(2)程序功能描述;(3)主要数据结构描述;(4)程序结构描述:设计方法、函数定义及函数之间的调用关系、程序总体执行图;(5)程序测试:测试用例、测试结果;(5)学习总结:实验过程中遇到的主要问题、如何克服、对你的程序进行评价、对问题的深入理解和实验的收获。4、任务分析 重点解决LL(1)文法到递归子程序框图的设计。5、能力培养 深入理解理论对实践的指导作用;基本原理、实现技术和方法的正确运用。n 研究性学习专题三 LL(1)语法分析设计原理与实现技术1、理论传授语法分析的设计方法和实现原理;LL(1)分析表的构造;LL(1)分析过程;LL(1)分析器的构造;2、目标任务实验项目 实现LL(1)分析中控制程序(表驱动程序);完成以下描述算术表达式的LL(1)文法的LL(1)分析程序。GE: ETE EATE| TFT TMFT| F (E)|i A+|- M*|/ 说明:终结符号i为用户定义的简单变量,即标识符的定义。设计要求(1)输入串应是词法分析的输出二元式序列,即某算术表达式“实验项目一”的输出结果。输出为输入串是否为该文法定义的算术表达式的判断结果;(2)LL(1)分析过程应能发现输入串出错;(3)设计两个测试用例(尽可能完备,正确和出错),并给出测试结果。提交文档 (1)程序功能描述;(2)主要数据结构描述:LL(1)分析表及其存储结构;(3)程序结构描述:设计方法、函数定义及函数之间的调用关系、程序总体执行图;(4)程序测试:测试用例、测试结果;(5)学习总结:实验过程中遇到的主要问题、如何克服、对你的程序进行评价、对问题的深入理解和实验的收获。3、任务分析 重点解决LL(1)表的构造和LL(1)分析器的实现。4、能力培养 深入理解理论对实践的指导作用;基本原理、实现技术和方法的正确运用。n 研究性学习专题四 算符优先语法分析设计原理与实现技术1、理论传授语法分析的设计方法和实现原理,算符优先文法、最左素短语、算符优先矩阵、优先函数的基本概念;算符优先文法句型最左素短语的确定;算符优先分析算法的实现;2、目标任务实验项目 实现算符优先分析算法,完成以下描述算术表达式的算符优先文法的算符优先分析过程。GE:EE+TE-T TT*FT/FF F(E)i说明:终结符号i为用户定义的简单变量,即标识符的定义。 设计要求(1)构造该算符优先文法的优先关系矩阵或优先函数;(2)输入串应是词法分析的输出二元式序列,即某算术表达式“实验项目一”的输出结果。输出为输入串是否为该文法定义的算术表达式的判断结果。(3)算符优先分析过程应能发现输入串出错。(4)设计两个测试用例(尽可能完备,正确和出错),并给出测试结果。提交文档(1)程序功能描述;(2)主要数据结构描述:优先关系矩阵或优先函数及其存储结构;(3)程序结构描述:设计方法、函数定义及函数之间的调用关系、程序总体执行图;(4)程序测试:测试用例、测试结果;(5)学习总结:实验过程中遇到的主要问题、如何克服、对你的程序进行评价、对问题的深入理解和实验的收获。3、任务分析 重点解决算符优先矩阵的构造和算符优先酸法的实现。4、能力培养 深入理解理论对实践的指导作用;基本原理、实现技术和方法的正确运用。n 研究性学习专题五 LR分析方法程序设计原理与实现技术1、理论传授LR语法分析法的逻辑结构及工作原理,活前缀的概念、LR(0)项目集规范簇等概念。LR(0)的原理、设计方法和实现;2、目的与要求通过设计、编写和构造LR(0)项目集规范簇和LR分析表、对给定的符号串进行LR分析的程序,了解构造LR(0)分析表的步骤,对文法的要求,能够从文法G出发生成LR(0)分析表,并对给定的符号串进行分析。要求以表格或图形的方式实现。3、目标任务实验项目 实现LR(0)分析法,完成以下文法。GE:EaAbB AcAd BcBd 设计要求(1)构造LR(0)项目集规范簇;要求输入LR(0)文法时,可以直接输入,也可以读取文件,并能够以表格的形式输出项目集规范簇集识别活前缀的有穷自动机(2)构造LR(0)分析表。要求要求输入LR(0)文法时,可以直接输入,也可以读取文件;输出项目集规范簇,可以调用前一处理部分的结果,输出为LR(0)分析表(3)LR(0)分析过程【移进、归约、接受、报错】的实现。要求调用前一部分处理结果的分析表,输入一个符号串,依据LR(0)分析表输出与句子对应的语法树,或直接以表格形式输出分析过程。提交文档(1)程序功能描述;(2)主要数据结构描述:LR(0)分析表及其存储结构;(3)程序结构描述:设计方法、函数定义及函数之间的调用关系、程序总体执行图;(4)程序测试:测试用例、测试结果;(5)学习总结:实验过程中遇到的主要问题、如何克服、对你的程序进行评价、对问题的深入理解和实验的收获。3、任务分析 重点解决LR(0)表的构造和LR(0)分析器的实现。4、能力培养 深入理解理论对实践的指导作用;基本原理、实现技术和方法的正确运用。n 研究性学习专题六 语义分析及中间代码生成程序设计原理与实现技术1、理论传授 语法制导的基本概念,目标代码结构分析的基本方法,赋值语句和控制语句语法制导生成四元式的基本原理和方法。2、目标任务实验项目 完成以下描述赋值语句和算术表达式文法的语法制导生成中间代码四元式的过程。GA:AV:=EEE+TE-T TT*FT/FF F(E)i Vi说明:终结符号i为用户定义的简单变量,即标识符的定义。可以改写文法加入其它语句。设计要求(1)给出每一产生式对应的语义动作;(2)设计中间代码四元式的结构(暂不与符号表有关)。(3)输入串应是词法分析的输出二元式序列,即某算术表达式“实验项目一”的输出结果。输出为输入串的四元式序列中间文件。(4)设计两个测试用例(尽可能完备),并给出程序执行结果四元式序列。提交文档(1)程序功能描述;(2)主要数据结构描述:四元式及其存储结构;(3)程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025四川省绵阳第一中学第三次考核招聘教师9人笔试模拟试题及答案解析
- 2025西安医专附属医院8月招聘(41人)笔试备考题库及答案解析
- 2025广西桂林市兴安县帝禾牲畜屠宰有限公司招聘1人笔试模拟试题及答案解析
- 2025贵州六盘水市教育局招聘城镇公益性岗位笔试模拟试题及答案解析
- 2025四川川航航空发动机维修工程有限责任公司招聘1人笔试备考试题及答案解析
- 2025内蒙古西部天然气蒙东管道有限公司招聘20人考试模拟试题及答案解析
- 2025年吉安市吉州区创新产业投资集团有限公司面向社会公开招聘1名网格巡防员笔试参考题库附答案解析
- 2025云南省交通运输综合行政执法局文山支队招聘(3人)考试模拟试题及答案解析
- 地产项目建设监理协议
- 2025四川宜宾市筠连县考调公务员 (参照管理工作人员)30人笔试模拟试题及答案解析
- 2024-2025学年广东省河源市小升初分班考试数学试卷(附答案解析)
- 《中国现代农业发展》课件
- 2024-2025学年九年级化学人教版教科书解读
- 《植物资源学》课件
- 交通运输概论教学教案
- 餐饮业的舆情管理
- 台达DELTA变频器VFD-EL系列使用说明书和手册(完整中文版)VFD007EL23A
- 《急性心肌梗死急诊》课件
- 中控室培训课件
- 产品研发流程指南
- 2025年中考语文复习之小题狂练300题(名著阅读):《艾青诗选》《水浒传》(10题)
评论
0/150
提交评论