编译原理课程设计-小型程序设计语言编译器的设计与实现.docVIP

编译原理课程设计-小型程序设计语言编译器的设计与实现.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
该设计论文已经通过各大高校老师审核认可并通过答辩,准确完整无误。欢迎大家下载学习交流。如有疑问可随时联系店主,竭诚为您解答!!

课 程 设 计 报 告 课程设计名称: 编译技术 系 : 三 系 学生姓名: 班 级: 09软件(1) 学 号: 20090307134 成 绩: 指导教师: 开课时间: 2011-2012 学年 二 学期 目录 一.设计题目---------------------------------------------------------------- 1 二.主要内容---------------------------------------------------------------- 1 三.具体要求---------------------------------------------------------------- 1 四.进度安排---------------------------------------------------------------- 1 五.成绩评定---------------------------------------------------------------- 2 六.设计思路---------------------------------------------------------------- 2 七.源程序及运行结果---------------------------------------------------- 3 八.设计体会---------------------------------------------------------------- 15 正文 设计题目 小型程序设计语言编译器的设计与实现 二.主要内容 自定义一种简单的小型高机程序设计语言,采用任意一种编程语言和编程工具设计并实现其编译器,展示编译系统中词法分析和语法分析(LR分析方法)的全过程。 三.具体要求 1、对单词的构词规则有明确的定义; 2、编写的词法分析程序能够正确识别源程序中的单词符号; 3、识别出的单词以种别码,值的二元式形式保存在符号表中并输出; 4、构造出程序设计语言各语法单位的SLR分析表;(其他分析表亦可) 5、能够对输入的源程序做出正确的语法分析并输出清晰的结果; 6、高级语言的规模不易过大,注重编译器内核的设计,对于界面无要求; 7、课程设计报告中应对所自定义高级语言进行简单描述,对编译器的设计进行简单的需求分析,给出设计说明和程序结构框架,阐明设计思路、用到的原理和方法。 8、不可更改课程设计报告中已有的字体和格式,课程设计报告中新加入内容,汉字采用宋体五号字,英文字符和数字采用Times New Roman五号字。 四.进度安排 序号 内 容 时间(天) 1 布置题目、查找资料 1 2 概要设计 1 3 详细设计 3 4 调试分析 1 5 测试结果 0.5 6 总结和完成设计报告 1 合 计 7.5 五.成绩评定 1、考核方法:通过结合学生的动手能力,独立分析解决问题的能力和创新精神,学习态度综合考评。成绩分优、良、中、及格和不及格五等。”\n”为一个readline),而我选择了按语句进行读取(读到”;”为一个readline)。因为有时候一行之间会有好几个语句。我可以把一行上的多个语句分开来,当然书上也可以只不过这一步她是在程序语句处理里面完成的。而我只有赋值语句。并且还要实现顺序结构所以就按照自己的思路做下去了。 然后是语法分析,由于词法分析和书上的有出路。所以一开始我就没打算用书上的思路去做。就按照自己的思路来解决,首先是对词法分析里的存储单词的数组进行拷贝和修改(添加了#号使其能区分出赋值语句)、然后正式的语法分析时,我是直接对拷贝后的数组进行分析的,中间出了不少错误,更关键的是语法分析时在顺序上出现了错误,这一点我无法用语言说清楚,解决顺序上的错误时我加入了add1()这个函数,同时这个函数也实现了将终结符改为非终结符的功能(也就是所谓的临时变量)。然后就是一个语句分析完后进行下一个语句的分析。这个就是个衔接问题,改动数组的坐标就能完成,大概的思路就是这样,中间调试时错误百出,对语法分析程序做了不少的小动作。然后就是将语法分析结果显示出来,为了和课本的相似,用了几个条件语句做约定。这个是第二天上午解决的,思考了一会。当然最关键的核心技术,还是和书上的一样。 符号 种别编码 说明 Pound_sign 7 “#” add 34 “+” sub 35 “-” mul 36 “*“ div 37 “/” equa

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档