编译原理课程第2讲

编译原理课程第2讲

ID:37973855

大小:760.81 KB

页数:30页

时间:2019-06-04

编译原理课程第2讲_第1页
编译原理课程第2讲_第2页
编译原理课程第2讲_第3页
编译原理课程第2讲_第4页
编译原理课程第2讲_第5页
资源描述:

《编译原理课程第2讲》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、温故知新编译原理的内容及学习意义翻译器、编译器的定义编译器的阶段划分及前端、后端的概念“遍”的概念下列程序中哪些不是编译程序的组成部分?A词法分析B代码读入C语法分析D代码生成对下列错误信息,请指出可能是编译的哪个阶段报告的。else没有匹配的if数组下标越界声明和使用的函数没有定义零做除数在数中出现非数字字符语法分析语义分析或代码生成语义分析代码优化或语义分析词法分析B代码读入判断高级语编写的源程序都必顺通过编译,产生目标代码后才能运行.多遍扫描的编译程序的多遍是指多次重复读源程序.就执行速度而言

2、,编译后再执行程序比解释执行程序慢.(×)(×)(×)第二章词法分析本章内容词法分析器:把构成源程序的字符流翻译成记号流,还完成和用户接口的一些任务围绕词法分析器的自动生成展开介绍正规式、状态转换图和有限自动机概念词法分析器语法分析器符号表记号取下一个记号源程序词法分析器的功能:词法分析器记号(token)流源代码2.1词法记号及属性2.1.1词法记号、模式、词法单元词法单元:又称单词,是源程序中的字符串。词法记号:满足某种规则的词法单元,采用同一种记法——词法记号。该规则称为模式。模式:描述词法单

3、元与词法记号对应关系的规则。是描述源程序中某个记号的词法单元集合的规则。源程序字符流顺序组合词法单元词法记号模式2.1词法记号及属性历史上词法定义中的一些问题忽略空格带来的困难DO8I3.75DO8I3.75DO8I3,75关键字是否保留IFTHENTHENTHEN=ELSE;ELSE…2.1词法记号及属性2.1.1词法记号、模式、词法单元源程序字符流顺序组合词法单元词法记号模式例:varcount:integer;count=5;词法单元C语言的标识符?x2,12,_12,_abc哪些是合法

4、的C标识符?C语言标识符的规则(模式):首字符必须是_或者字母,由_、字母或数字组成的字符串2.1词法记号及属性2.1.1词法记号、模式、词法单元词法记号词法单元例举模式的非形式描述varvarvarforforforrelation<,<=,=,…<或<=或=或…idsum,count,D5由字母开头的字母数字串num3.1,10,2.8E12任何数值常数literal“seg.error”引号“和”之间的任意字符串,但引号本身除外常见记号及模式的例子:2.1词法记号及属性2.1.1词法记号、模式

5、、词法单元词法记号词法单元例举模式的非形式描述relation<,<=,=,…<或<=或=或…idsum,count,D5由字母开头的字母数字串词法记号词法单元例举模式的非形式化描述名词大连软件大黑山表示名称的词连词和与或和与或….词法记号词法单元例举模式的非形式描述中国人胡锦涛毛泽东具有中国国籍的人美国人奥巴马克林顿具有美国国籍的人词法记号的属性词法分析器语法分析器符号表记号取下一个记号源程序存在的意义?词法记号的属性如果简单地把词法记号流传给语法分析器,会产生什么后果?语义被完全摒弃,只剩下一个

6、语法结构我是学生PronounVerbNoun翻译官说了什么呀????词法记号的属性每个词法记号具有一定的含义(属性)L1:x=IDCOLONIDASSGNy2+12;IDPLUSINTSEMI-COL第一个ID,名称是L1,表示的是标号(Label)第二个ID,名称是x,表示的是一个变量,类型是int第三个ID,名称是y2,表示的是一个变量,类型是int2.1词法记号及属性2.1.2词法记号的属性position:=initial+rate*60的记号和属性值:id,指向符号表中position

7、条目的指针assign_op,id,指向符号表中initial条目的指针add_op,+id,指向符号表中rate条目的指针mul_op,*num,整数值602.1词法记号及属性2.1.2词法记号的属性练习题(要求使用伪代码给出算法):编写一个程序,用于统计文件中单词的总数,不同单词的数目。eg:IloveDalianandIloveDLUT单词总数:7不同单词数目:52.1词法记号及属性2.1.3词法错误词法分析器对源程序采取非常局部的观点,难以发现下面的错误fi(a==

8、f(x))…但是也有例外,如在实数是a.b格式下,可以发现下面的错误123.2.1词法记号及属性2.1.3词法错误恢复策略“紧急方式”错误修补尝试删除一个多余的字符插入一个遗漏的字符用一个正确的字符代替一个不正确的字符交换两个相邻的字符2.2词法记号的描述与识别2.2.1串和语言字母表/字符类:符号(英文字母、标点符号等)的有限集合,例:={0,1}串:符号的有穷序列,例:0110,语言:字母表上的一个串集{,0,00,000,…},{},句子/字:属于语言

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。