网站大量收购独家精品文档,联系QQ:2885784924

编译原理(第5版)-课件(更新)2025第3章 词法分析与有穷自动机.pptx

编译原理(第5版)-课件(更新)2025第3章 词法分析与有穷自动机.pptx

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

第3章词法分析与有穷自动机;intfib(intn){

if(n=1)

returnn;

returnfib(n-1)+fib(n-2);

}

chara[100]=Enteraninteger:;

intmain(){

print_string(a);

intmax=read_int();

intn=1;

do{

print_int(fib(n++));

print_string(\n);

}while(n=max);

return0;

};3.1词法分析程序的功能;3.1词法分析程序的功能;;3.2单词符号及输出单词的形式;3.2单词符号及输出单词的形式;3.2单词符号及输出单词的形式;问题:下面的内容表达什么?;3.3单词符号的两种定义方式;设有字母表Σ={a1,a2,…,an},在字母表Σ上的正规式和它所表示的正规集可用如下规则来定义:

1.Φ是Σ上的正规式,它所表示的正规集是Φ,即空集{}。

2.ε是Σ上的正规式,它所表示的正规集仅含一空符号串,即{ε}。

3.ai是∑上的一个正规式,它所表示的正规集是由单个符号ai所组成,即{ai}。;4.如果e1和e2是∑上的正规式,它们所表示的正规集分别为L(e1)和L(e2),则:

(1)e1|e2是∑上的一个正规式,它所表示的正规集为L(e1|e2)=L(e1)∪L(e2)

(2)e1e2也是∑上的一个正规式,它所表示的正规集为L(e1e2)=L(e1)L(e2)

(3)(e1)*也是∑上的一个正规式,它所表示的正规集为L((e1)*)=(L(e1))*

;3.3.1正规式和正规集;3.3.1正规式和正规集;3.3.1正规式和正规集;3.3.1正规式和正规集;例3设程序语言字母表是键盘字符集合,则程序语言部分单词符号可用如下正规式定义:

关键字if|else|while|do

标识符l(l|d)*

整常数dd*

关系运算符?=??=?

;3.3.1正规式和正规集;3.3.1正规式和正规集;3.3.1正规式和正规集;3.3.2正规文法与正规式;3.3.2正规文法与正规式;将(3)代入(2)中的B得

A=0A+01A+0(4)

对(4)利用分配律得

A=(0+01)A+0(5)

对(5)使用求解规则得

A=(0+01)*0(6)

将(6)代入(1)式中的A,得

Z=0(0+01)*0

即正规文法G[Z]所生成语言的正规式是R=0(0|01)*0

;3.3.2正规文法与正规式;A=aB+bB(1)

B=aC+a+b(2)

C=aB (3)

将(3)代入(2)中的C得

B=aaB+a+b(4)

对(4)使用求解规则得

B=(aa)*(a+b)(5);3.3.2正规文法与正规式;3.3.2正规文法与正规式;3.3.2正规文法与正规式;2.正规式到正规文法的转换

(1)令VT=Σ。

(2)对任何正规式R,选择非终结符Z,生成规则Z?R,令S=Z。

(3)若a、b是正规式,对如A?ab的规则,转换成A?aB和B?b;

(4)对已转换的文法中,对如A?a*b的规则,转换成A?aA|b。

(5)反复用(3)和(4),直到每条规则最多含有一个终结符为止。

;3.3.2正规文法与正规式;3.3.2正规文法与正规式;3.3.2正规文法与正规式;3.3.2正规文法与正规式;3.4正规式与有穷自动机;3.4.1确定有穷自动机;M=(Q,Σ,f,S,Z)

f是一个从Q?Σ到Q的单值映射:

f(qi,a)=qj(qi,qj?Q,a?Σ);例设DFAM=({q0,q1,q2},{a,b},f,q0,{q2})其中

f(q0,a)=q1f(q0,

文档评论(0)

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

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

1亿VIP精品文档

相关文档