- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中国科大 第二章 词法分析 本章内容 词法分析器:把构成源程序的字符流翻译成记号流,还完成和用户接口的一些任务 介绍正规式、状态转换图和有限自动机概念 Lex与词法分析器的自动生成 回顾 词法分析概念 词法记号的描述 词法单元、词法记号 词法单元 又称单词,是编程语言中合法的字符串 词法记号 满足某种规则的词法单元,采用同一种记法——词法记号。 词法单元 词法记号 2.2 词法记号的描述与识别 2.2.1 串和语言 字母表:符号的有限集合, 例:? = {0,1} 串:符号的有穷序列,例:0110,? 语言:字母表上的一个串集 {?,0,00,000,…}, {?}, ? 2.2 词法记号的描述与识别 2.2.1 串和语言 串的运算 连接 xy,s? = ?s = s 积(指数) s0为?,si为si -1s(i 0) 2.2 词法记号的描述与识别 语言的运算 和:L∪M = {s | s ?L 或 s ? M } 连接:LM = {st | s ? L 且 t ? M} 指数:L0是{? },Li是Li -1L 闭包:L? = L0 ∪ L1 ∪ L2 ∪… 正闭包: L+ = L1 ∪ L2 ∪… 例2.2(p17) L: { A, B, …, Z, a, b, …, z }, D: { 0, 1, …, 9 } L∪D, LD, L6, L*, L(L∪D )*, D+ 本讲纲要 正规式 词法记号的识别 有限自动机定义 DFA构建方法 正规式 正规式,又称正则表达式,Regular Expression 2.2 词法记号的描述与识别 2.2.2 正规式 正规式:按照一组定义规则,由较简单的正规式构成的,每个正规式 r 表示一个语言 L(r).定义规则说明 L(r) 是怎样以各种方式从 r 的子正规式所表示的语言组合而成。 正规式用来表示简单的语言,叫做正规集。 2.2 词法记号的描述与识别 2.2.2 正规式 正规式 定义的语言 备注 ? {?} a {a} a ? ? (r) | (s) L(r)∪L(s) r和s是正规式 (r)(s) L(r)L(s) r和s是正规式 (r)* (L(r))* r是正规式 (r) L(r) r是正规式 运算符的优先级: * 连接运算 | ((a) (b)*)| (c)可以写成ab*| c 2.2 词法记号的描述与识别 正规式的例子 ? = {a, b} a | b {a, b} (a | b) (a | b ) {aa, ab, ba, bb} aa | ab | ba | bb {aa, ab, ba, bb} a* 由字母a构成的所有串集 (a | b)* 由a和b构成的所有串集 复杂的例子 ( 00 | 11 | ( (01 | 10) (00 | 11) ? (01 | 10) ) ) ? 句子:01001101000010000010111001 2.2 词法记号的描述与识别 2.2.3 正规定义 对正规式命名,使表示简洁。 d1 ? r1 d2 ? r2 . . . dn ? rn 各个di的名字都不同 每个ri都是? ?{d1, d2, …, di-1 }上的正规式 Pascal里面的标识符模式 正规式表示 letter ? A | B | … | Z | a | b | … | z digit ? 0 | 1 | … | 9 id ? letter(letter|digit)* C语言的标识符模式 模式的非形式描述 首字符必须是_或者字母,由_、字母或数字组成的字符串 请仿照Pascal标识符的例子,写出C语言的标识符的正规式表示 C语言的标识符模式 正规定义的例子 C语言的标识符是字母、数字和下划线组成的串 letter_ ? A | B | … | Z | a | b | … | z | _ digit ? 0 | 1 | … | 9 id ? letter_(letter_ |digit)* 2.2 词法记号的描述与识别 正规定义的例子 Pascal无符号数集合,例1946,11.28,63.6E8,1.99E?6 digit ? 0 | 1 | … | 9 digits ? digit digit* optional_fraction ? .digits|? optional_exponent ? (E ( + | ? | ? ) digits ) | ? num?digits optional_fraction optional_expon
您可能关注的文档
最近下载
- 减震器说明书.doc
- 饮料浓浆 团体标准.docx VIP
- 必威体育精装版中小学教师高级职称晋升初中语文学科讲课答辩真题汇编(附答案详解).pdf
- 电解质饮料 团体标准.docx VIP
- 东风雪铁龙C5汽车使用手册用户说明书pdf电子版下载.pdf
- CVP监测危重患者液体管理.ppt VIP
- 六年级数学分数混合运算专项练习题.pdf VIP
- 小学二年级上册道德与法制 道法 备课 学历案.docx VIP
- 基于“双高”背景下高职院校一流师资队伍建设的思考-来源:现代职业教育(高职高专)(第2020030期)-山西教育教辅传媒集团有限责任公司.pdf VIP
- 第二届全国数字化机房安装技能竞赛(电气设备安装工赛项)考试题库资料-下(多选、判断题汇总).pdf
文档评论(0)