- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理课程设计报告 课程名称______编译原理____________________ 指导教师 _____李明新___________________ 设计起止日期 __2006-11___________________ 系 别 ___计算机科学与工程_______________ 专 业 ___计算机科学与技术_______________ 学生姓名 范海强0313419 班级/学号 __03134_______________ 成 绩 ___________________ 一:课程设计功能需求分析 编译课程设计的基本任务是设计一个mini-pascal语言的编译器,将mini-pascal 语言的源程序翻译成等价的中间代码。要求输入mini-pascal语言写的源程序(以文件形式存储),首先经过词法分析,输出原程序分析后的二元式文件,供语法制导翻译用。经过语法制导翻译将词法分析器产生的二元式翻译成等价的四元式形式,也就是中间代码的生成。要求能进行正常的关键字如:begin,end, if ,else 等的识别。例: 程序结构为: program 标识符 ; [ 变量说明 ] procedure 标识符 [ 参数表 ] [ 变量说明 ] begin [ 语句部分 ] end; begin [ 语句部分 ] end. 过程可以嵌套定义,每个过程最后以“;”为结束符,主程序最后以“·”为结束符。 可执行语句:赋值语句、条件语句(if…then 和 if …then….else 两种形式)、当型循环语句、for语句(此语句可不必做)、过程调用语句(有参和无参两种)、读语句、写语句、复合语句。 数据类型:只有一种整型数据。 数据结构:只有简单变量(整型) 二:课程设计总体设计 编译程序的任务是将高级语言程序翻译成低级语言程序(汇编语言或者机器语言).也就是说编译程序接受的对象是以字符串形式存在文件中的高级语言,经过编译处理生成一个等价的汇编语言或者机器语言程序. 三 课程实际模块详细设计 词法分析器模块的详细设计 词法分析器的任务 词法分析器的任务是将一个字符流文件按词法规则改造成一个单词流文件,也就是说输入词法分析器的是一个由字符组成的源文件,通过词法分析器识别分析后输出由若干个单词名称和单词编码组成的记录文件: 单词符号用如下二元组表示: (单词名称, 单词种类) 词法分析原理及程序设计 词法分析原理 采用直接分析法进行词法分析,根据单词的第一个字符划分单词类型: ( 若第一个字符为字母,这将紧接在字母后面的字母、数字逐一拼接成“字母数字串”直到遇到非字母也非数字的其他字符为此单词拼接完成,这可能是用户定义的标识符和保留字。 ( 若第一个字符为数字,同样向后识别,将紧接在后面的数字和前面的数字拼接在一起,直到非数字的其它字符为止,这个单词为整数。 ( 若第一个字符为其它类型,则根据字符本身就可识别,有的双字符运算符(如= , :=等)需要再向后设备一个字符才能识别。 测试简例 begin ab2a:=9; if x=0 then x:=x+1; while a=0 do b:=a*x/33455; end # 词法分析测试结果 递归下降分析法模块详细设计 递归下降法的设计思想: 用递归下降法进行语法分析时对文法的产生式有两点限制: 1.文法的产生式不含有左递归 2.提取文法中的公因子 mini –pascal 语言中的程序结构部分符合上述限制,用递归下降法进行分析。 以下为mini –pascal 语言“程序结构”部分的文法表示: { }中内容可有可无,[ ] 中内容重复0次到1 次,{ }n0 中内容重复0次到n 次 (1) 程序 → program 名字 ; 过程. PROG → program ident ; PP. (2) 过程 → [ 变量说明 ] { 子程序 } begin 语句 end PP → [IDP ] { PRP } begin PL end (3) 子程序 → procedure 名字 [ 参数说明 ] ; 过程 PRP → procedure ident [ PARL ] ; PP; (4) 变量说明 → var 变量名 { 变量名 } IDP → Var ident { , ident } ; (5) 参数说明 → (变量名 { 变量名 }) PARL → ( ident { , ident } ) 递归下降法即是对文法的每一个非终
您可能关注的文档
- 操作系统课程设计--微型操作系统的设计.doc
- 操作系统课程设计--文件系统的模拟.doc
- 操作系统课程设计--系统调用.doc
- 操作系统课程设计--信息发布管理系统.doc
- 操作系统课程设计--用多进程同步方法解决生产者-消费者问题.doc
- 程控交换课程设计_IP电话系统.doc
- 程序设计基础课程设计--数制的转换程序设计.doc
- 大气污染工程课程设计报告书--某生料磨排风除尘系统的工艺设计.doc
- 大气污染控制工程课程设计--垃圾焚烧厂的选址和吸收塔的设计.doc
- 单片机技术课程设计说明书--128×64LCD液晶显示.doc
- 计算机操作系统课程设计说明书--Linux-ext文件系统.doc
- 计算机程序课程设计报告--最小二乘法曲线拟合程序设计.doc
- 计算机控制课程设计--数字PID闭环直流电机调速控制系统.doc
- 计算器课程设计-用汇编语言(8086-DOS)编计算器程序、所设计的计算器能实现加、减、乘、除的计算.doc
- 继电保护课程设计--继电保护设计说明及计算书.doc
- 继电保护课程设计--35kV降压变电所继电保护配置与线路保护整定计算.doc
- 继电保护课程设计讲义.ppt
- 绩效管理课程设计报告--没房地产公司(A)绩效考核体系设计.doc
- 课程设计-《建设项目策划与管理》.doc
- 课程设计--“连杆”零件的加工工艺及钻销φ10mm孔的加工的夹具设计.doc
最近下载
- 城市轨道交通车站屏蔽门系统有一种安全感叫做屏蔽门课件.pptx VIP
- 外贸单证实务信用证.ppt VIP
- DBJ 15-65-2021 广东省建筑节能与绿色建筑工程施工质量验收规范 conv.docx VIP
- 高处作业的基础知识.pptx VIP
- UbuntuLinux操作系统(第3版)(微课版)-习题(理论题)参考答案 陈杰.doc
- 征信报告模板带水印可编辑2025年4月版.pdf
- 儿科停水停电应急预案演练脚本.docx VIP
- 广东省绿色建筑评价标准DBJ∕T15-83-2017_20191023_164147 conv.docx VIP
- 【JTG 3410-2025公路沥青及混合料试验规程》新旧变化解读.docx
- 1《七律二首 送瘟神》课件(共50张PPT).pptx VIP
文档评论(0)