编译原理课程第2讲.ppt_第1页
编译原理课程第2讲.ppt_第2页
编译原理课程第2讲.ppt_第3页
编译原理课程第2讲.ppt_第4页
编译原理课程第2讲.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

温故知新,编译原理的内容及学习意义翻译器、编译器的定义编译器的阶段划分及前端、后端的概念“遍”的概念,下列程序中哪些不是编译程序的组成部分?A词法分析B代码读入C语法分析D代码生成对下列错误信息,请指出可能是编译的哪个阶段报告的。else没有匹配的if数组下标越界声明和使用的函数没有定义零做除数在数中出现非数字字符,语法分析,语义分析或代码生成,语义分析,代码优化或语义分析,词法分析,B代码读入,判断高级语编写的源程序都必顺通过编译,产生目标代码后才能运行.多遍扫描的编译程序的多遍是指多次重复读源程序.就执行速度而言,编译后再执行程序比解释执行程序慢.,(),(),(),第二章词法分析,本章内容词法分析器:把构成源程序的字符流翻译成记号流,还完成和用户接口的一些任务围绕词法分析器的自动生成展开介绍正规式、状态转换图和有限自动机概念,词法分析器的功能:,2.1词法记号及属性,2.1.1词法记号、模式、词法单元词法单元:又称单词,是源程序中的字符串。词法记号:满足某种规则的词法单元,采用同一种记法词法记号。该规则称为模式。模式:描述词法单元与词法记号对应关系的规则。是描述源程序中某个记号的词法单元集合的规则。,2.1词法记号及属性,历史上词法定义中的一些问题忽略空格带来的困难DO8I3.75DO8I3.75DO8I3,75关键字是否保留IFTHENTHENTHEN=ELSE;ELSE,2.1词法记号及属性,2.1.1词法记号、模式、词法单元,源程序字符流,顺序组合,词法单元,词法记号,模式,例:,varcount:integer;count=5;,词法单元,C语言的标识符?x2,12,_12,_abc哪些是合法的C标识符?,C语言标识符的规则(模式):首字符必须是_或者字母,由_、字母或数字组成的字符串,2.1词法记号及属性,2.1.1词法记号、模式、词法单元词法记号词法单元例举模式的非形式描述varvarvarforforforrelation,=,=,或=或=或idsum,count,D5由字母开头的字母数字串num3.1,10,2.8E12任何数值常数literal“seg.error”引号“和”之间的任意字符串,但引号本身除外,常见记号及模式的例子:,2.1词法记号及属性,2.1.1词法记号、模式、词法单元,词法记号词法单元例举模式的非形式描述relation,=,=,连接运算|(a)(b)*)|(c)可以写成ab*|c,2.2词法记号的描述与识别,正规式的例子=a,ba|ba,b(a|b)(a|b)aa,ab,ba,bbaa|ab|ba|bbaa,ab,ba,bba*由字母a构成的所有串集(a|b)*由a和b构成的所有串集复杂的例子(00|11|(01|10)(00|11)(01|10)句子:01001101000010000010111001,2.2词法记号的描述与识别,2.2.3正规定义对正规式命名,使表示简洁。d1r1d2r2.dnrn各个di的名字都不同每个ri都是d1,d2,di-1上的正规式,这样就保证了,每个名字对应的正规式中使用的各种符号已经在前面定义了,从而可以避免递归定义的情况。,2.2词法记号的描述与识别,正规定义的例子Pascal语言的标识符集合letterA|B|Z|a|b|zdigit0|1|9idletter(letter|digit)*,2.2词法记号的描述与识别,正规定义的例子Pascal无符号数集合,例1946,11.28,63.6E8,1.99E6digit0|1|9digitsdigitdigit*optional_fraction.digits|optional_exponent(E(+|)digits)|numdigitsoptional_fractionoptional_exponent简化表示numdigit+(.digit+)?(E(+|)?digit+)?,简化规则:r+=rr*r?=r|a-z=a|b|c|zabc=a|b|c,2.2词法记号的描述与识别,正规定义的例子,whilewhiledodorelop|=idletter(letter|digit)*numdigit+(.digit+)?(E(+|)?digit+)?delimblank|tab|newlinewsdelim+,前面所提到的词法记号,实际上就是正规式的名字!,小结,词法分析器工作原理:,习题,作业习题2.3练习题(要求

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论