编译原理词法分析论文精选.docVIP

  • 43
  • 0
  • 约7.41千字
  • 约 15页
  • 2018-01-17 发布于贵州
  • 举报
编译原理词法分析论文精选

《编译原理》结课大作业 《词法分析》 设计说明书 学生姓名 阿娜尔古丽·台外库力 学 号 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,begin)(10,x)(18,:=)(11,9)(26,;)(2,if)…… 2.4各种单词符

文档评论(0)

1亿VIP精品文档

相关文档