如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
正规式R转化为NFAM:在这个方法中按正规式的语法结构指引构造过程,将正规式分解为一系列子表达式,然后将子表达式对应的NFA依次连接而成,构造规则如下:首先介绍两个重要运算:算法:有了以上所述两个运算,我们就可以构造NFAN的状态集K的子集从而与DFAM的状态对应,即构造若干个状态集T1,T2,…,Ti,且TiK,这样就可以构成由若干个状态集组成的子集族C,C=(T1,T2,…,Ti),具体如下:确定的有限自动机的最简化(最小化)设有两个状态Si和Sj,若有L(Si)=L(Sj),则称Si和Sj是等价状态。DFA的化简算法:对于DFAM=(S,Σ,f,S0,Z)一、首符号集:1)两个重要集合:为了算法的实现,建立一个布尔数组F[U,a]用于存放FIRSTVT(U),若终结符aFIRSTVT(U),则F[U,a]=TRUE,否则F[U,a]=FALSE;另外还要建立一个工作栈STACK,初值为空。2.优先关系的确定(P92)1.定义项目:对于文法G,其产生式的右部添加一个特殊符号“.”就构成文法的一个LR(0)项目,简称项目。3.DFA的形成过程(举例说明):我们把First()作为用产生式A进行归约的搜索符,用于替代SLR(1)分析法中的Follow(A),并把搜索符号的集合放在项目的后面([A.,a]aFirst())。这种处理方法称为LR(1)方法。(1)闭包函数:3举例:我们仍以G[S’]为例,看项目集的求法:从而得到DFA三.LR(1)分析表构造规则:S0:S'.S,#S.aAd,#S.bAc,#S.aec,#S.bed,#状态