编译原理总复习.ppt

编译原理总复习.ppt

ID:48806697

大小:380.00 KB

页数:44页

时间:2020-01-27

编译原理总复习.ppt_第1页
编译原理总复习.ppt_第2页
编译原理总复习.ppt_第3页
编译原理总复习.ppt_第4页
编译原理总复习.ppt_第5页
资源描述:

《编译原理总复习.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一章引论编译程序把某一种高级语言程序等价地转换成另一种低级语言程序(如汇编语言或机器语言程序)的程序,是一种翻译程序。高级语言书写的程序编译程序低级语言程序源程序目标程序C语言Pascal语言Fortran语言编译之后是否可以执行?表格管理词法分析语法分析语义分析中间代码生成代码优化目标代码生成出错处理源程序目标程序编译过程beginx:=9;ifx>0thenx:=2*x+1/3end3begin1x4:=295;3if1x4>203then1x4:=224*1x4+214/233end5#语法分析对于文法:G[E]:E->E+T

2、TT->T*

3、F

4、FF->i

5、(E)分析句子i+i*i是否符合文法。输入串i+i*i#的分析过程i+*()#EE→TE’E→TE’E'E'→+TE’E'→εE'→εTT→FT’T→FT’T'T'→εT'→*FT'T'→εT'→εFF→iF→(E)+匹配+i*i##E’T+7E’→+TE’+i*i##E’6T’→ε+i*i##E’T’5i匹配i+i*i##E’T’i4F→ii+i*i##E’T’F3T→FT’i+i*i##E’T2E→TE’i+i*i##E1所用产生式剩余输入串分析栈步骤beginx:=9;ifx>0thenx:=2*x+1/3endac:=d;e

6、c>dfc:=d*c+d/db其中终结符对应关系:beginaendbIDcNUMdifethenf文法G:(1)<程序>::=begin<语句串>end(2)<语句串>::=<语句><末语句>(3)<末语句>::=;<语句><末语句>

7、&(4)<语句>::=<赋值语句>

8、(5)<赋值语句>::=ID:=<表达式>(6)<表达式>::=<项><末项>(7)<末项>::=+<项><末项>

9、-<项><末项>

10、<<项><末项>

11、><项><末项>

12、&(8)<项>::=<因子><末因子>(9)<末因子>::=*<因子><末因子>

13、/<因子><末因

14、子>

15、&(10)<因子>::=ID

16、NUM

17、(表达式)(11)::=if<表达式>then<语句>beginaendbIDcNUMdifethenfA->aBbB->CDD->;CD

18、&C->E

19、FE->c:=GG->HII->+HI

20、-HI

21、>HI

22、

23、&H->JKK->*JK

24、/J

25、

26、&J->c

27、d

28、(G)F->eGfCac:=d;ec>dfc:=d*c+d/dbA->aBbB->CDD->;CD

29、&C->E

30、FE->c:=GG->HII->+HI

31、-HI

32、>HI

33、

34、&H->JKK->*JK

35、/J

36、

37、&J->c

38、d

39、(G)

40、F->eGfCac:=d;ec>dfc:=d*c+d/dbA->aBbB->CDD->;CD

41、&C->E

42、FE->c:=G{p:=loopup(c.name);ifp<>nilthenemit(:=,p,-,G.place)elseerror;}G->HII->+HI

43、-HI

44、>HI

45、

46、&H->JKK->*JK

47、/J

48、

49、&J->c

50、d

51、(G)F->eGfC编译程序和解释程序编译程序与解释程序区别运行解释程序计算结果源程序初始数据编译程序源程序目标代码初始数据计算结果存储组织和时间第三章文法和语言文法:G[S]:S->AB A->aA

52、aB->

53、bB

54、b以有限的规则描述无限的句子集合。语言文法描述的语言是该文法一切句子的集合。G[S]:S->AB A->aA

55、aB->bB

56、bL(G)={ambn

57、m,n≥1}文法的类型通过对产生式施加不同的限制,Chomsky将文法分为四种类型:0型文法:每个产生式左部至少有一个为非终结符。1型文法:产生式右部长于左部,仅仅S→ε除外(上下文有关文法)2型文法:每一个产生式左部是一个非终结符。(上下文无关文法),描述程序设计语言。3型文法:产生式形如A→aB或A→a(正规文法)或产生式形如A→Ba或A→a每个3型文法都是2型文法,每个2型文法都是1型文法,

58、每个1型文法都是0型文法。句型分析及其语法树语法树描述上下文无关文法的句型推导的直观工具。利用语法树可以判断某文法是否可以推导出某句型或句子。最左推导、最右推导短语、句柄、直接短语二义性文法文法的化简:多余规则,有害规则第四章词法分析词法分析的任务主要任务:从左至右逐个字符地对源程序进行扫描,产生一个个单词序列,用以语法分析。词法分析程序与语法分析程序的接口方式1.把词法分析工作单独作为一趟2.把词法分析工作作为子程序beginx:=9;ifx>0thenx:=2*x+1/3end二元式3begin1x4:=295;3if1x4>203then1x

59、4:=224*1x4+214/233end5#按照词法规则构造正规式(正规文法);正规式NFA(正规文法NFA);NF

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。