编译原理chapter3.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)。 3.4 词法分析器的自动生成 把一个正规式编译(或称转换)为一个NFA进而转 换为DFA,而这个NFA或DFA正是识别该正规式所表示 的语言(正规集)的识别器。基于这种方法可以构造出词法 分析程序(扫描器),这就是扫描器的自动生成原理。 LEX是一个广泛使用的工具,它用于构造各种各样语 言的词法分析程序。LEX编译系统的作用如图: LEX程序由三部分组成:说明部分、转换规则和辅助过程,它们之间用%%做间隔,其一般格式为: {辅助定义部分} %% {识别规则部分} %% {用户子程序部分} (1)辅助定义部分包括变量的说明、常量说明和正规式定义,所谓正规式定义是形如如下形式的一系列定义: d1→r1 d2→r2 … dn→rn 其中, di是代表这个正规式的简名,ri是Σ∪{d1,d2, …,di-1}上的正规式,即在ri中允许出现字母表Σ中的字符和前面定义的简名(d1,d2, …,di-1) (2)识别规则部分是LEX源程序的核心。它是一张表,左边一列是正规式,右边一列是相应的动作。 P1 {action1} P2 {action2} … Pm {actionm} 其中,每个Pi是Σ∪{d1,d2, …,di-1}上的正规式,称之为词形。 (3)用户子程序部分是在action的执行过程中用到的 过程或函数 。 IDENT [a-zA-Z] [a-zA-Z0-9]* //辅助定义部分,定义名字IDENT和NUMBER NUMBER [0-9] [0-9] * //各代表一个正规式,[ ]、-和*为正规式运算符 % ( //[ ]表示字符的集合,-表示范围,*表示闭包运算 #include sidio.h # include “code. H” # include “symbol. H”   // % ( 与 % ) 之间的部分为直接照抄的代码部分。 # include “ y. tab. H” extern int level; int cc=0 ; % ) 说明部分 %% { cc + + ; } 转换规则 \t { tablize () ; }   //将cc调整到tab的位置 \n { cc=0 ; line_copy( ) ; }   //换行 { cc++ ; return LT;} {cc++ ; return GT ; } = {cc++ ; return EQ ; } # {cc++ i return NE ; } , {cc++ ; return Colon; } 一个LEX源程序片段: . { cc++ ; return Period; } ( { cc++ ; return Lparen; } ) { cc++ ; return Rparen; } = {cc++ ;cc++ ;return LE; } = {cc++ ;cc+ + ;return GE; } := {cc++ ; cc++ ;return ASGN; } ; { cc++ ; return Semicolon; } {NUMBER} //辅助定义在识别规则中使用时要加{ } { int n ; cc += yyleng ;

文档评论(0)

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

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

1亿VIP精品文档

相关文档