- 1、本文档共102页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
引论复习
第二章主要内容
词法分析的软件工程
引入的数学模型 正规式
状态转换图
2
第二章 词法分析
while ,_
( ,_
id ,指向i的符号表指针
= ,_
id ,指向j的符号表指针
) ,_
id ,指向i的符号表指针
- - ,_
; ,_
源程序
扫描器
scanner
1、关键字
2、标识符
5、界符
4、运算符
3、常数
由程序语言定义的具有固定意义的标识符。也可称为保留字或基本字。例如:Pascal中的begin,end,if等。
界符:如逗号、分号、括号、/*,*/ 等。它是确定的。
运算符:如+、-、*、/ 等。它是确定的。
常数的类型一般有整型、实型、布尔型、文字型等。它是不限的。
用来表示各种名字,如变量名、数组名、过程名等。它是不限的。
词法分析与语法分析的关系
词法分析器的设计
词法记号、模式、词法单元
记号名 词法单元例举 模式的非形式描述
if if 字符i, f
for for 字符f, o, r
relation , = , = , … 或 = 或 = 或 …
id sum, D5 由字母开头的字母数字串
number 3.1, 2.8E12 任何数值常数
literal “seg. error” “和”之间任意不含
引号本身的字符串
id,指向符号表中position条目的指针
assign _ op
id,指向符号表中initial条目的指针
add_op
id,指向符号表中rate条目的指针
mul_ op
number,整数值60
position = initial + rate * 60的记号和属性值
例题
position = initial + rate * 60
id, 1 = id, 2 + id, 3*60
字符流
语法分析
position = initial + rate * 60
id, 1 = id, 2 + id, 3*60
position = initial + rate * 60
id, 1 = id, 2 + id, 3*60
三地址中间代码
MOVF id3, R2
MULF #60.0, R2
MOVF id2, R1
ADDF R2, R1
MOVF R1, id1
历史上词法定义中的一些问题
忽略空格带来的困难
DO 8 I = 3. 75 等同于 DO8I = 3. 75
DO 8 I = 3, 75
关键字不保留
IF THEN THEN THEN=ELSE;ELSE …
关键字、保留字和标准标识符的区别
保留字是语言预先确定了含义的词法单元
标准标识符也是预先确定了含义的标识符,但程序可以重新声明它的含义
词法错误
词法分析器对源程序采取非常局部的观点
例:难以发现下面的错误
fi (a == f (x) ) …
在实数是“数字串.数字串”格式下,可以发现下面的错误
123.x
紧急方式的错误恢复
删掉当前若干个字符,直至能读出正确的记号
错误修补
进行增、删、替换和交换字符的尝试
2.2.1 串和语言
字母表:符号的有限集合, 例: ∑ = { 0, 1}
串: 符号的有穷序列,例:0110, ε
语言: 字母表上的一个串集
{ε, 0, 00, 000, …}, {ε}, ∅
句子: 属于语言的串
串的运算
连接(积): xy,sε = εs = s
幂: s0为ε,si为si-1s(i 0)
语言的运算
并: L ∪ M = {s | s ∈L 或 s ∈ M }
连接: LM = {st | s ∈ L 且 t ∈ M}
幂: L0是{ε},Li是Li-1L
闭包: L∗ = L0 ∪ L1 ∪ L2 ∪ …
正闭包: L+ = L1 ∪ L2 ∪ …
例
L: { A, B, …, Z, a, b, …, z }, D: { 0, 1, …, 9 }
L ∪ D, LD, L6, L*, L(L ∪ D )*, D+
含有偶数个0和偶数个1的01串
(00|11)* ( (01|10) (00|11)* (01|10) (00|11)*)*
作业解答2.3
叙述由下列正规式描述的语言
0(0|1)*0
((ε|0)1*)*
(0|1)*0(0|1)(0|1)
0*10*10*10*
(00|11)*((01|10)(00|11)*(01|10)(00|11)*)*
2
您可能关注的文档
- (北科)力学大作业剖析.docx
- 4-金属2剖析.ppt
- 毕业设计答辩-田丹剖析.ppt
- 毕业设计翻译120801422剖析.docx
- 毕业设计幻灯片展示剖析.ppt
- 毕业设计汇报剖析.pptx
- 毕泽:经典:波的图像(教科版)剖析.ppt
- 闭合电路的欧姆定律(第1课时)剖析.ppt
- 闭合电路的欧姆定律1剖析.ppt
- 闭合电路的欧姆定律教学剖析.ppt
- GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 中国国家标准 GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 《GB/T 22069-2024燃气发动机驱动空调(热泵)机组》.pdf
- GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- 《GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法》.pdf
- GB/T 1148-2024内燃机 铝活塞.pdf
- 中国国家标准 GB/T 1148-2024内燃机 铝活塞.pdf
文档评论(0)