- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理读书工程报告黑龙江大学
“编译原理课程设计”读书报告
学院 年级 专业 学号 姓名 报告日期 成绩
软件学院软件工程
黑龙江大学计算机科学技术学院
黑龙江大学软件学院
一、开发环境简介
开发平台:Microsoft visual C++ 6.0.
开发环境:是指在基本硬件和数字软件的基础上,为支持系统软件和应用软件的工程化开发和维护儿使用的一组软件,简称SDE。它有软件工具和环境继承机制构成,前者用以支持软件开发的相关过程、活动和人物,后者为工具集成和软件的开发、维护及管理提供统一的支持。
1.支持开发完备模型 2.可视化 3.灵活控制
二、基本理论阐述、当前理论或实践应用现状
《编译原理》理论和实践并重,叙述严谨、简明,富有启发性,且内容深入浅出,便于自学。《编译原理》不仅可以作为高等院校相关专业的教材,也可以作为计算机专业人员的参考用书。
编译器的构造工具是根据用户输入的语言的文法,编译器的构造工具可以生成程序来处理以用户输入的文法书写的文本。随着计算机应用范围的扩大,在软件自动生成,文档处理,特定专业的语言等领域,编译器的构造工具这一技术显得越来越重要.
在分析语法成分时比较方便直观,更便于操作。运行程序的同时不断修正改进程序,直至的到最优源程序。
三、小型编译器系统架构
它是一个编译器的架构.通俗的来说,它实现了一个库,在这个库上,可以很容易的实现不同的编译相关的程序,当然,编译器自然是其中最重要的一个. 当然其他像编译时间的代码分析也是很容易实现的。构造识别符号串的自动机、词法分析程序的构造、语法分析程序的构造、中间语言的生成程序、编译程序的代码生成
四、小型编译器主要功能模块与实现
词法分析
1
(1)功能介绍
词法分析(英语:lexical analysis)是计算机科学中将字符序列转换为单词(Token)
序列的过程。进行词法分析的程序或者函数叫作词法分析器(Lexical analyzer,简称Lexer),也叫扫描器(Scanner)。词法分析器一般以函数的形式存在,供语法分析器调用。词法分析阶段是编译过程的第一个阶段,是编译的基础。这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号)。词法分析程序实现这个任务。词法分析程序可以使用Lex等工具自动生成。
单词:这里的单词是一个字符串,是构成源代码的最小单位。从输入字符流中生成单词的过程叫作单词化(Tokenization),在这个过程中,词法分析器还会对单词进行分类。词法分析器通常不会关心单词之间的关系(属于语法分析的范畴),举例来说:词法分析器能够将括号识别为单词,但并不保证括号是否匹配。针对如下C语言表达式:
单词经常使用正则表达式进行定义,像lex一类的词法分析器生成器就支持使用正则表达式。语法分析器读取输入字符流、从中识别出语素、最后生成不同类型的单词。其间一旦发现无效单词,便会报错
扫描器词法分析的第一阶段即扫描器,通常基于有限状态自动机。扫描器能够识别其所能处理的单词中可能包含的所有字符序列(单个这样的字符序列即前面所说的“语素”)。例如“整数”单词可以包含所有数字字符序列。很多情况下,根据第一个非空白字符便可以推导出该单词的类型,于是便可逐个处理之后的字符,直到出现不属于该类型单词字符集中的字符(即最长一致原则)。
(2)相关理论
从源程序中依次读入字符并解析。与关键字,运算符,界符,结束符等进行比较,得出其中的关键字,运算符等并存入数组中。 (3)算法描述
写入词法程序在C盘中,判断是否是标示符,保留字,运算符,数字。如果是关
2
键字则直接把信息存入四元组,如果不是则是标示符,把相关信息存入四元组,如果是数字则跳转到数字拼接函数,拼接结束后把信息存入四元组,如果是运算符,界符则直接把信息存入四元组,
最后把标示符,和常数信息写入标示符表,和常数表的相关文件。
(4)程序流程图
3
(5)
(5)测试用例与实验结果
(6)
五、读书工程心得总结
1.收获:通过本次试验,我对编译原理理论有了更深的理解掌握了此法分析,变异程序工作的基本构成及各个阶段的基本任务,熟悉编译程序钱应该先建立程序流程图,建立基本框架,分开编译各个部分程序,让复杂的程序简单化,调理清晰,对该里路实现中的应用有了很深的理解,熟悉了其中的算法;
2.不足:部分老师要求的功能没有实现,文件处理部分的实现还有欠缺,让我意识到哪方面应该加强,
六、参考文献
书目名称:编译原理(第2版)
原书名: Compilers:Principles,Techniques,and Tools原出版社: Pearson Education
作者: [美]Alfred V.Aho,Ravi Sethi,Jeffr
您可能关注的文档
- 班长岗位竞聘演讲稿.doc
- 班组长培训心得体会(1200字).doc
- 班长转正申请书.doc
- 畅想十三五演讲稿.doc
- 班长的自我检讨书(2100字).doc
- 畜牧兽医创先争优工作汇报会交流材料.doc
- 班集体集体秋游策划书.doc
- 班风竞赛系列活动策划书.doc
- 瓷厂社区第二季度工作汇报(1300字).doc
- 畜牧兽医局办公室创先争优演讲稿.doc
- 秋九年级数学人教版上册课件:第22章 22.1.4 第2课时.ppt
- 五年级上册数学课件-5.2小数除以整数∣苏教版.pptx
- 人教版数学八年级上册习题课件:第15章 分式15.2.3第1课时 负整数指数幂.pptx
- 五年级上册英语课件-Unit 12 The Spring Festival|湘少版.pptx
- 秋人教版八年级上册数学作业课件:十五章 第4课时分式的乘除.ppt
- 秋人教版九年级英语作业课件:Unit5 Grammar Focus 语法专练.ppt
- Unit1Newschoolnewbeginning!Lesson3Lookatthephoto!课件冀教版七年级英语上册.pptx
- 2132平均变化率与销售问题课件-人教版数学九年级上册.pptx
- 河流与湖泊第二课时课件-八年级地理上册粤人版.pptx
- 金属材料课件-高一上学期化学人教版_1.pptx
原创力文档


文档评论(0)