编译原理词法剖析论文.docVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《编译原理》结课大作业 《词法分析》 设计说明书 学生姓名 阿娜尔古丽·台外库力 学 号 5011110112 所属学院 信息工程学院 专 业 计算机科学与技术 班 级 计算机15-1 信息工程学院 摘要:计算机系统与人信息交换界面多数是应用高级语言来实现。一个高级语言程序的实现,必须依赖于相应的编译系统。所谓编译程序就是指能够把某一种语言程序转换成另一种与之等价的语言程序。它通常包括五个阶段:词法分析,语法分析,语义分析与中间代码的产生、优化,目标代码的生成。完成计算机翻译过程的关键阶段,它为后面的语法分析、语义分析做好准备,打好基础,以便快速地、高质量地生成目标语言程序。因此词法分析是编译的基础。 词法分析器所处理的对象即词法分析程序的输入数据,实际上是源程序经过编译预处理,去掉多余的符号后而形成的代码,这样给词法分析带来方便。词法分析的过程是线性的从头至尾扫描一遍,复杂度较低,易实现。 关键词:词法分析 C语言 标识符 目录 1、引言 1 2、基于c 语言词法分析器的设计 1 2.1词法分析器的设计原则 1 2.2词法分析器的设计对象 1 2.3词法分析器的任务及功能 2 - 2.4各种单词符号对应的种别码: 2 3、基于c 语言词法分析器的实现 3 3.1词法分析程序的算法思想: 3 3.2主程序示意图: 3 3.3函数定义说明 4 3.4程序设计实现及功能说明 5 4、词法分析程序的C语言程序源代码: 5 - 5、结果分析: 11 6、总结 12 参考文献 12 1、引言 计算机系统与人信息交换界面多数是应用高级语言来实现。一个高级语言程序的实现,必须依赖于相应的编译系统。所谓编译程序就是指能够把某一种语言程序转换成另一种与之等价的语言程序。它通常包括五个阶段:词法分析,语法分析,语义分析与中间代码的产生、优化,目标代码的生成。完成计算机翻译过程的关键阶段,它为后面的语法分析、语义分析做好准备,打好基础,以便快速地、高质量地生成目标语言程序。因此词法分析是编译的基础。 2、基于c 语言词法分析器的设计 2.1词法分析器的设计原则 在编译程序工作的五个阶段中,每个阶段都必须遵从功能等价的原则。词法规则与语法分析阶段依据的语法规则一同构成了一个语言的语法,而语法则是从形的角度衡量一个程序是否合法。所以在词法分析阶段,词法规则成为重要的研究对象。词法分析器所处理的对象即词法分析程序的输入数据,实际上是源程序经过编译预处理,去掉多余的符号后而形成的代码,这样给词法分析带来方便。词法分析的过程是线性的从头至尾扫描一遍,复杂度较低,易实现。 2.2词法分析器的设计对象 在计算机翻译中,词法分析的关键之一在于如何识别单词的种类,特别是面对定义形式一样、结构完全相同的标识符和保留字,如何正确地解决对它们的识别处理,是词法分析中的一项重要任务。由于我们规定的c 语言程序语句中涉及单词较少,故在词法分析阶段忽略了单词输入错误的检查,而将编译程序的重点放在中间代码生成阶段。词法分析器的功能是输入源程序,输出单词符号。规定输出的单词符号格式为如下的二元式:(单词种别,单词自身的值)。通常一种程序语言中定义的单词种类包括标识符(identifier)、保留字(reservedw ord) 、常数(literal)、 运算符(op erator)、界符等。C 语言中定义了属于这五种类型的大量的单词,但是由于预编译器只识别我们自定义的注释,因此预编译器处理的单词集只是C 语言中定义的单词集的一个真子集。 2.3词法分析器的任务及功能 2.3.1词法分析器的任务 从左至右逐个字符地对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序转换成为单词符号串的中间程序。词法分析程序的输出结果是组成语言的基本元素即单词,在实际处理的时候,输出并非单词,而是每个单词对应的二元式,形为单词种别,单词符号的属性,编码的方式由编译系统的研制者决定。故经过词法分析,在输出结果中并没有单词本身。 2.3.2 词法分析程序的功能: 输入:所给文法的源程序字符串。 输出:二元组(syn,token或sum)构成的序列。 其中:syn为单词种别码; token为存放的单词自身字符串; sum为整型常数。 例如:对源程序begin x:=9: if x9 then x:=2*x+1/3; end #的源文件,经过词法分析后输出如下序列: (1,beg

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档