自底向上语法分析学习教案.ppt
上传人:王子****青蛙 上传时间:2024-09-13 格式:PPT 页数:40 大小:4.7MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

自底向上语法分析学习教案.ppt

自底向上语法分析学习教案.ppt

预览

免费试读已结束,剩余 30 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

6.1自底向上语法分析例子:对输入(shūrù)串abbcde进行分析,检查该串是否是G[S]的句子。G[S]:S→aAcBeA→bA→AbB→d对输入(shūrù)串abbcde的最右推导是:SaAcBeaAcdeaAbcdeabbcdeSaAcBeaAcdeaAbcdeabbcde移进例:考虑文法G(E):E→T|E+TT→F|T*FF→i|(E)并假定已给定(ɡěidìnɡ)终极符串(i+i)*i。下面是对该串的移入─归约过程:=归=>((T,+i)*i)5=归=>((E,+i)*i)6=移=>((E+,i)*i)7=移=>((E+i,)*i)8=归=>((E+F,)*i)9=归=>((E+T,)*i)10=归=>((E,)*i)11=移=>((E),*i)12=归=>(F,*i)13=归=>(T,*i)14=移=>(T*,i)15=移=>(T*i,)16=归=>(T*F,)17=归=>(T,)18=归=>(E,)19设Si和Sj是文法的任意两个符号,那么它们在句型中相邻出现的充要条件是必须满足下列条件之一:1.有形如U→SiSj的产生式2.有形如U→SiW且WSj的产生式3.有形如U→VSj且VSi的产生式的产生式4.有形如U→VW且VSi和WSj的产生式的产生式定义了三种优先关系(,,)其定义如下:优先关系(guānxì)可用矩阵来表示,称这种矩阵为优先关系(guānxì)矩阵。STEP2:对每个符号对Si,Sj填写优先(yōuxiān)关系矩阵。例子(lìzi):假设有文法G[Z]:Z→bMbM→a|(LL→Ma)第二步:①Z→bMbMb②Z→bMb所以(suǒyǐ)对G[Z]:Z→bMbM→a|(LL→Ma)有:FRIST(M)={(,a}LAST(M)={),L,a}有下表:定义3.13满足下面两个条件的文法称为(chēnꞬwéi)简单优先文法。1.任意两个符号至多成立一种关系2.任意两个产生式具有不同右部下面文法(wénfǎ)均不为简单优先文法(wénfǎ)定理3.10设S1S2Sn是简单优先文法的规范(guīfàn)句型,其子串SiSi+1Sj满足条件:分析句子(jùzi)b(aa)b(文法G[Z])的过程:算符优先文法(wénfǎ)的定义算符优先关系表的构造算符优先分析算法算符优先分析法的局限性分析程序模型(móxíng)如何确定(quèdìng)算符优先关系?6.3.2算符优先文法(wénfǎ)的定义算符优先(yōuxiān)关系在OG文法G中,若任意两个终结符间至多有一种算符优先关系存在,则称G为算符优先文法(OPG)。注意:允许b>c,c>b;不允许b>c,b<c,b=c中任两个同时(tóngshí)存在。b=c不一定c=b。例6.1中:“(”=“)”,“)”<>“(”。结论:算符优先文法是无二义的。6.3.3算符优先关系(guānxì)表的构造计算算符优先(yōuxiān)关系(0)E’→#E#(1)E→E+T(2)E→T(3)T→T*F(4)T→F(5)F→PF|P(6)P→(E)(7)P→i表达式文法(wénfǎ)G’[E’]的算符优先关表6.3.4算符优先分析(fēnxī)算法算符优先分析的可归约串是句型的最左素短语定义cfg(上下文无关文法)G的句型的素短语是一个短语,它至少(zhìshǎo)包含一个终结符,且除自身外不再包含其他素短语。处于句型最左边的素短语为最左素短语文法G[S]短语的定义SαAδ且A则称是句型αδ相对于非终结符A的短语例:有文法(wénfǎ)G[E]:(1)E→E+T(2)E→T(3)T→T*F(4)T→F(5)F→PF|P(6)P→(E)(7)P→i句型(jùxínꞬ)T+T*F+i的语法树F分析程序模型(móxíng)算符优先(yōuxiān)分析法感谢您的观看(guānkàn)!内容(nèiróng)总结