一语法分析的功能:

一语法分析的功能:

ID:43057876

大小:695.36 KB

页数:10页

时间:2019-09-25

一语法分析的功能:_第1页
一语法分析的功能:_第2页
一语法分析的功能:_第3页
一语法分析的功能:_第4页
一语法分析的功能:_第5页
资源描述:

《一语法分析的功能:》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一.语法分析的功能:语法分析是编译过程的核心部分,它的主要任务是按照和程序语言的语法规则,从由词法分析输出的源程序符号串中识别出各类语法分析成分,同时进行语法检查,为语义分析和代码生成作准备。二.语法分析的目的:语法分析程序以词法分析输出的符号串作为输入,在分析过程中检查这个符号串是否为该程序语言的句To三.语法分析的过程:首先,定义词法分析:词类编码表单词二+*>■•■{}()andifthenwhiledoint标志符编码1234567891()31323335363725文法说明语句表达式布尔表达式旬法0、P'-P1、P->id()L;R2、L-*L;D3、L

2、-*D4、D-*id:int5、E->E+T6、E-T7、T-T*F8、T-F9、F-(E)10、F-id11、B—BandB12、B->id>id13、M->id=E14、S—ifBthenM15>whileBdoM16、ST17、N->N;S18、N-S19、Rf{N}再者,语法分析:1•构造SLR分析表:构造LR分析表的方法是:(1)根据文法构造识别规范句型活前缀的有穷自动机DFA(2)由DFA构造SLR分析表构造DFA:(1)DFA是一个五元式M=(S,V,GOTO,SO,Z)S:有穷状态集在此具体情况下,S二LR(O)项口集规范族LR(0)o项目集规范族:

3、其元索是曲项目所构成的集合.V:文法字汇表so:初始状态GOTO:状态转移函数GOTO[Si,X]=SjSi,SjeSSi,Sj为项目集合XeVnUVt表示当前状态Si面临文法符号为X吋,应将状态转移到SjZ:终态集合Z二S-{SO}即除SO以外,其余全部是终态构造DFA方法:1)确定S集合,即LR(0)项目集规范族,同时确定S02)确定状态转移函数GOTO构造LR(0)的方法:SLR分析表的构造过程是先求出文法的LR(0)项目闭包集合,然后通过该集合与follow集合就可以确定SLR分析表。对于文法的LR(O)项目就是在产生式右部某处加点.如产生式为A->XYZ则

4、LR(O)项目:A->.XYZA->X.YZA->XY.ZA->XYZ・此外还要对文法进行扩展,加入A是文法的开始符号,这扩展为A,-〉ALR(O)项口闭包集合的求法是:1)初时集合包含开始符号的LR(O)项目闭包运算.2)如果集合中存在产生式A->X.YZ,且存在产生式Y->U,Y->.U不在该集合中时,将Y->.U加入该集合.3)当一个集合I。完成后求它的状态转换集合,对于产生式A->X.YZ当遇到Y时状态转换成A->XY.Z,对于集合I。的所有产生式求它的所有的状态转换集合.重复执行制导不再有新的状态集合产生.FOLLOW集FOLLOW(P,)={$}FOLL

5、OW(P)={$}FOLLOW(R)={$}FOLLOW(B)={and,then,do}FOLLOW(P,)={$}FOLLOW(P)二{$}FOLLOW(R)={$)FOLLOW(B)={and,then,do}FOLLOW(D)二{;}FOLLOW(L)={;}FOLLOW(M)二{;,}}FOLLOW(S)={;,}}FOLLOW(F)={*,+,),;,}}FOLLOW(T)={*,+,),;,}}FOLLOW(N)={;,}}FOLLOW(E)={+,),;,}}冇效项目集编号启效项H集编号有效项目集编号有效项目集0P'->・PP-.id()L;R16M

6、-^id=E・E—E.+T36F-id.37T-F.1P'〜P.17R->{N.}N-X.;S38E->T.T-*T.*F2P-id.()L;R3P->id(.)L;R18R->{N}.39T-*T*.FIf(E)F-.id4P->id().L;RL->.L;DL-.DD-*.id:int19N-N;.SM-・id=HS->.MS->.ifBthenMS-*.whileBdoM40TT*F・41F-(.E)E->.E+TE->.TT-*.T*FT->.FF-・(E)F-.id5D~*id.:int6D-*id:,int20N-N;S.7D-*id:int.21N-S

7、.8LT22ST.9P->idOL;RL-L.;D23S—if.BthenMB->.BandBB->.id>id10P->id()L;.RL^L;.DD-*.id:intRf.{N}42E—E.+TF-(E.)24S-ifB.thenMB-*B.andB43EfE+.TT-*.T*FT->.FF-・(E)F-.id25S—ifBthen.MM->.id=E11P-id()L;R.12L-L;D.26S-*ifBthenM.13R->{.N}Nf.N;SN—・SS-.M27S-^while.BdoMB-*.BandBB->.id>id44EfE+T.T-*T.*F

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

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

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