符号串集合.PPTVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
符号串集合

词法分析 符号和符号串 正规式和正规集 状态转换图 有限自动机 正规式与有限自动机 词法分析器的设计 例: 对下图所示的NFA M求正规式R,使L(R)=L(M)。 (1)对NFA M的状态转换图加上x和y两个结点,形成下图所示的NFA M’ 消去结点1和3后NFA M’如图所示 消去结点2和4后NFA M’如图所示 正规式R转化为NFA M :在这个方法中按正规式的语法结构指引构造过程,将正规式分解为一系列子表达式,然后将子表达式对应的NFA依次连接而成,构造规则如下: 1. (a)对正规式ф,对应的NFA为: (b)对正规式ε,对应的NFA为: (c)对正规式a,对应的NFA为: 2.正规式R,首先表示成拓广状态转换图: 例如: 设有正规式R=(a|b) *abb,试构造NFA N,使得L(N)=L(R) 六、词法分析 1词法分析器的设计 词法分析的主要工作: 从源程序的第一个字符开始,从左到右扫描源程序,一次读一个字符,根据词法规则将有关字符组合成单词,并识别各类单词,当确定单词类别后,将单词输出。 在词法分析过程中还要完成其它任务,如: 过滤掉源程序中的注释和空白; 记录读入字符的行号,以便发现错误后能报告出错位置; 进行预编译工作(对宏进行展开等工作); 符号表操作。 错误处理等。 单词的输出: (1)单词的种类: 保留字:如,program begin end var const for …… 标识符:如,程序名、变量名、常量名、类型名、过程名等 常数:如,125、0.745、15.2E+5 算符 :如,+、– 、*、/、等 界符:如,分号、逗号等 (2)词法分析器的输出形式: 为了便于编译程序进一步加工,单词的输出形式一般采用二元式: 单词类别 单词值 用整数编码表示,如何分类以处理方便为原则,如: 标识符归为一类; 常数按类型分类; 保留字一字一类,或将全体定位一类; 界符可单独作为一类,或一符一类。 采用什么样的输出形式也是取决于后续处理的方便,如: 标识符用字符串编码或对应地址; 常数用其自身值的二进制形式; 保留字(分界符)若将全体定位一类则需输出其值,可用内部整数编码或串编码表示。 例如:程序段 if i=5 then x := y;在经过词法分析器扫描后,输出的单词可表示如下: 保留字if (3,‘if’) 标识符i (1,指向i的符号表入口) 等号= (4,‘=’) 常数5 (2,‘5’的二进制表示) 保留字then (3,‘then’) 标识符x (1,指向x的符号表入口) 赋值号:= (4,‘:= ’) 标识符y (1,指向y的符号表入口) 分号; (5,‘;’) 其中,类别码:“1”表示标识符;“2”表示常数; “3”表示保留字;“4”表示算符;“5”表示界符。 2 词法分析器产生 由状态图生成扫描器 : 通过状态转换图构造词法分析程序 设有以下正规式表示的关于某语言的单词的文法: 标识符: 字母(字母|数字)* 无符号整数: 数字(数字)* 单分隔符号: +|-|*|/|(|)|: 双分隔符号: 斜竖*|冒号= 斜竖: / 冒号: : 对于用正规式表示单词,我们可以得到与之对应的状态转换图,即能够识别单词的有限自动机,以上文法对应的状态转换图如下: 为了设计出一个能够识别各类单词的扫描器,可把上述各状态转换图合并为一个状态转换图 : 一个共同的入口 一个共同的出口 加上出错状态等处理 从开始状态出发,对于不同的输入字符,所经过的路径不同,但只要能够到达终态,所经过的弧上的标记组成的串,都是该语言的单词。 状态转换图可以理解为词法分析程序的一张原理性框图。只要在此基础上,加上语义处理等方面的工作,就可以形成扫描器的算法框图: Class存放类别码,用Token表示单词值 “读字符”子程序将下一个字符读到工作单元Char中 P=1时为真读P=0时为假读 “组合标识符”子程序,把该标识符组合完毕,并将单词值送Token “查保留字表”子程序通过查预先准备好的

文档评论(0)

2105194781 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档