《编译原理》第3章-词法分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《编译原理》第3章-词法分析

第三章有穷自动机与词法分析器 词法分析基础 有穷自动机 正则表达式 词法分析器的设计和构造 1. 词法分析的基础 词法分析器功能: 读源程序的字符序列,逐个拼出单词,并构造相应的内部表示TOKEN.同时检查源程序中的词法错误. 引入Token的原因: 编译程序总是用某种程序语言书写的程序,语言的操作对象只能是该语言规定的各种数据。而编译程序的操作对象是程序中的各种语法单位,因此,必须把它们表示成某种数据结构形式。 词法分析器的两种形式 CharList Token定义 Token表示最小的语义单位-单词的信息。即 单词内部表示的数据结构形式。 单词不是程序设计语言中的语法概念,是编译程序中引进的一个概念。是最小的语义单位,不能分割 Token中需要记录有关单词的信息: 单词的标志码($id,$intC,…)标识单词的种类---词法信息 单词的特征属性(标识符名,符号表地址等) ---语义信息 标识符和常量的处理: 词法信息可确定,语义信息形式的确定: a 语义信息的长度有限制时,直接用 标识符或常量本身 b 没有长度限制时,构造标识符或常 量表,语义信息中为其在表中的地 址(字符串空间节省存贮空间) 保留字的处理:识别保留字的方法: 1.建立保留字表;顺序、散列、散列+顺序 2.拼写的同时进行判断 自动机 运算符的处理: 不区分,统一成一类 区分,每个运算符为一类 空格符和制表符以及换行符的处理 1.无用的空格符和制表符要删掉; 2.字符串内的空格不能删; 3.换行符不能删。用于错误定位 复合型特殊符,如“:=”的处理 读到“:”时不能判断是否为冒号,必须读下 一字符。 括号类配对预检 括号类: begin …end ,if … then,[ ],{ },( ) 处理方法: 对每类括号设置一个计数器(初值=0) 每当遇到开括号,则计数器加1 每当遇到闭括号时,计数器减1 词法分析结束时,如果计数器?0,则 表明括号不匹配。 字符串空间 目的:减少冗余,节省空间,提高访问速度 方法:字符数组存放字符串,描述字符串信息: 下标 长度 词法错误校正 词法错误种类: 语言不允许的符号:# 括号类配对错误: 单词的后继符错(偶尔): 词法错误校正: a 删除已被读过的字符,并重新扫 描未被读过的字符 b 删除已读过的第一个字符,重新 扫描它的后继部分的字符。 校正后的标示 词法分析的结束 程序结束标志‘end’ 文件结束符Eof. 2.有穷自动机FA 描述程序设计语言中的单词字,进一步为词法 分析程序的自动构造寻找特殊的方法和工具。 主要内容: 确定有限自动机DFA 确定有限自动机DFA的实现 非确定有限自动机NFA NFA到DFA的转换 DFA的化简 确定有限自动机DFA 确定有限自动机(DFA:Deterministric Finite Automata ) 为一个五元组 (?,SS,S0,f,TS),其中: ?是一个有穷字母表,它的每个元素称为一个输入字符; SS是一个有穷集,它的每个元素称为一个状态; S0? SS是唯一的一个初始状态; f是在SS? ?? SS上的转换函数 TS?SS,是一个终止状态集,又称为接受状态集 DFA的两种表示方式 状态转换图: 结点表示状态,转换边表示转换函数,边 的箭头方向指向转换函数中定义的转换方 向。标识出初始状态和终止状态。 状态转换表: 可用二维数组描述。标识出初始状态和终 止状态。 Trans( SI ,a)= SJ 一个DFA的例子 DFA M=({a,b},{S,U,V,Q}, S,f,{Q}),其中 f 定义为: f ( S, a )=U f ( V, a )=U f ( S, b )=V f ( V, b )=Q f ( U, a )=Q f ( Q, a )=Q f ( U, b )=V f ( Q, 1 )=Q DFA接受的

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档