第3章节有穷自动机(胡).ppt

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

第三章 有穷自动机 ;前述内容回顾;本章内容简介;3.1 词法分析程序概述; 词法分析的主要任务是对源程序进行扫描,从中识别出单词,它是编译过程的第一步,也是编译过程中不可缺少的部分。 本章介绍词法分析程序的手工构造方法。;4.1 词法分析概述;main( )/*ADD*/ {int x=10,y=20,sum; sum=x+y; };实现方案:基本上有两种;单词符号的种类;单词的输出形式;注意: 1)对于 关键字、运算符和界符 种别码是一字一符。可以完全代表它自己。也就不用写自身值。 2)对于标识符和常数就必须依赖自身值来区分。 标识符自身值是它自己的字符串。 常数自身值是常数本身的二进制数值。 我们可以用指向标识符表或常数表的入口指针作为它们的自身值;下表是简单语言单词符号的内部表示: ;例如:对于程序段 begin A+B*C /* Comment */ end 扫描程序将产生下面的结果:;又如: 程序段 if (a1) b=100; 3.3 语言单词符号的两种定义方式—— 正规式 与 正规文法 多数程序设计语言的单词符号都能用正规文法来描述,但直观上比较繁琐,不利于词法分析程序的构造。 正规表达式是用于描述称之为正规集的语言类的另一种表示形式,习惯用 RE 来表示。 ;例如: 表示标识符的文法用左线性文法来描述: 标识符→字母|标识符字母|标识符数字 可抽象为: I→ l | I l | I d 我们可以用正规式来描述 l (a | b)* ;3.3.1 正规表达式的定义;例:设有字母表∑={a,b }则根据正规式与正规集的定义有: (1) a和b正规式,则相应正规集为 L(a )={a}, L(b )={b}, (2) a | b 是正规式,则相应正规集为 L(a | b) = L(a) ∪ L(b) = { a , b } (3) ab是正规式 , 则相应正规集为 L(ab) = L(a)L(b) = {a}{b} = {ab};(4) (a | b)* 是正规式 , 则相应正规集为 L((a | b)*)=(L(a | b))*= { a, b }*={ε,a,b,ab,ba, …} (5) ba* 是正规式 , 则相应正规集为 L(ba*)=L(b)L(a*)={b,ba,baa,baaa,…} (6) (a | b)*(aa | bb ) (a | b)*是正规式 , 则相应正规集为 L((a | b)*(aa | bb ) (a | b)*) =L((a | b)*)L(aa | bb ) L((a | b)*) ={a,b}*{aa,bb}{a,b}* 注意:{a,b}*的任一子集不能认为是正规集。如 {anbn |n≥1}就不是一个正规集,不能用正规式来描述,也不能用正规文法来描述,只能用上下文无关文法来描述。;例3.2 设∑={+, -, ., d, E, ε},正规表达式: ( + | - |ε) d (d)* 表示带符号(或不带符号)的数的集合,d代表数字类。 例3.3 设∑={+, -, ., d, E, ε}, 表示浮点数集合的正规表达式为: ( + | - |ε) (d d*.d* | d d*.dd*) (ε| E ( + | - |ε) dd*) 其中,第一部分表示任选的字符;第二部分表示具体数,该部分必须包括一个小数点,并至少有一个数字在前面或后面;第三部分是任选的指数 ;正规式的等价;RE与FA——RE的性质 ;3.3.2正规文法G ?正规表达式RE;3.3.2正规文法G ?正规表达式RE;例题1 (右线性) 给定文法G[Z]: Z→0A A→0A|0B B→1A| ε 解:首先改为正规方程组: Z=0A A=0A+0B B=1A+ε 联立求解:3)代入2) A = 0A+01A+0 = (0+01)A+0 其次应用求解规则得 A =(0+01)*0 代入1)中

文档评论(0)

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

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

1亿VIP精品文档

相关文档