- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
wsx(编译原理第04章节)词法分析
词 法 分 析 程 序 的 设 计 回顾 什麽是词法分析程序 词法分析(lexical analysis) 逐个读入源程序字符并按照构词规则切分成一系列单词。单词是语言中具有独立意义的最小单位,包括保留字、标识符、运算符、标点符号和常量等。 词法分析是编译过程中的一个阶段,在语法分析前进行。也可以和语法分析结合在一起作为一遍,由语法分析程序调用词法分析程序来获得当前单词供语法分析使用。 词法分析程序 单词符号 单词符号一般可分为下列五种: 基本字(关键字):begin, end, if, while, var等 标识符:各种名称,如常量名、变量名、过程名等 常数(量):25, 3.1415, TRUE, “ABC”等 运算符:如 + - * / =等 界符:逗号,分号,括号等 输出表示 词法分析程序所输出的单词符号常常采用二元式表示:(单词种别,单词自身的值)。 单词种别是语法分析需要的信息; 单词自身的值则是编译其它阶段需要的信息。 例: A:=B+2 (Id,指向A的符号表的入口指针) (Becomes, ) (Id,指向B的符号表的入口指针) (Num, 2) 词法分析工作独立的原因: 简化设计 改进编译效率 增加编译系统的可移植性 程序设计语言中的单词是基本语法符号。单词符号的语法可以用有效的工具加以描述,并且基于这类描述工具,可以建立词法分析技术,进而可以建立词法分析程序的自动构造方法。 正规文法: 多数程序设计语言的单词的语法都能用正规文法或3型文法来描述。 3型文法G=(VN,VT,P,S),P中每一产生式的形式都为:A→aB或A→a,其中A∈VN ,B∈VN ,a∈VT。 几类单词的描述 标识符:〈标识符〉→l | l〈字母数字〉〈字母数字〉→l | d | l〈字母数字〉| d 〈字母数字〉 无符号整数:〈无符号整数〉→d | d〈无符号整数〉 运算符:〈运算符〉→ + | - | * | / | = | 〈等号〉| 〈等号〉……〈等号〉→ = 界符:〈界符〉→ , | ; | ( | ) |…… 无符号实数:〈无符号实数〉→ d 〈余留无符号数〉| . 〈十进小数〉| e〈指数部分〉〈余留无符号数〉→ d 〈余留无符号数〉| . 〈十进小数〉| e〈指数部分〉|ε〈十进小数〉 → d 〈余留十进小数〉〈余留十进小数〉 → e〈指数部分〉| d 〈余留十进小数〉| ε〈指数部分〉 → d 〈余留整指数〉| s〈整指数〉〈整指数〉 → d 〈余留整指数〉〈余留整指数〉 → d 〈余留整指数〉 |ε其中s表示正或负号。 如 25.55e+5 和 2.1 正规式(regular expression) 正规式也称正则表达式,正规表达式(regular expression)是说明单词的模式(pattern)的一种重要的表示法(记号),是定义正规集的数学工具。我们用以描述单词符号。下面是正规式和它所表示的正规集的递归定义。 定义(正规式和它所表示的正规集): 设字母标为?,辅助字母表?={?,?,?,?,?,?,?}。 1。 ?和?都是?上的正规式,它们所表示的正规集分别为{?}和?; 2。任何a? ?,a是?上的一个正规式,它所表示的正规集为{a}; 3。假定e1和e2都是?上的正规式,它们所表示的正规集分别为L(e1)和L(e2),那么,(e1), e1?e2, e1?e2, e1?也都是正规式,它们所表示的正规集分别为L(e1), L(e1)∪L(e2), L(e1)L(e2)和(L(e1))?。 4。仅由有限次使用上述三步骤而定义的表达式才是?上的正规式,仅由这些正规式所表示的字集才是?上的正规集。 (e1), e1?e2, e1?e2, e1? L(e1), L(e1)∪L(e2), L(e1)L(e2)和(L(e1))?。 其中的“?”读为“或”(也有使用“+”代替 “?” 的);“? ”读为“连接”;“?”读为“闭包”(即,任意有限次的自重复连接)。在不致混淆时,括号可省去,但规定算符的优先顺序为“?”、“? ”、“?” 。连接符“? ”一般可省略不写。“?”、“? ”和“?” 都是左结合的。 例4.2 令?={a,b}, ?上的正规式和相应的正规集的例子有: 正规式 正规集 a {a} a?b {a,b} ab {ab} (
您可能关注的文档
最近下载
- 【一建经济】21-JG-冲关宝典(中).pdf VIP
- 石油工程-岩石力学-试卷.pdf VIP
- 【一建经济】21-JG-冲关宝典(上).pdf VIP
- 教师的专业成长课件.pptx VIP
- 西师版小学综合实践活动方案五年级上册.pdf VIP
- 2024年四川省巴中市中考数学试卷(含答案).doc VIP
- 生成式人工智能在初中生物学教学中的应用探究.pdf VIP
- 《装配式混凝土建筑构件生产》课件——本课程学习方法.pptx VIP
- 精品解析:2023-2024学年北京市海淀区人教版五年级上册期末测试数学试卷(解析版).docx VIP
- 2011年数学建模B题国家一等奖2011年数学建模B题国家一等奖.pdf VIP
文档评论(0)