您现在的位置是:主页 > news > 制作网站开发公司/恶意点击竞价时用的什么软件
制作网站开发公司/恶意点击竞价时用的什么软件
admin2025/4/30 23:04:41【news】
简介制作网站开发公司,恶意点击竞价时用的什么软件,评论给网站带来的益处,做亚马逊有哪些站外折扣网站文章目录FIRST集 的求法FOLLOW集 的求法下面直接介绍规范的求法(这个文法必须消除左递归和提取公共左因子)下面举个例子来按照这种方法求FOLLOWFOLLOW EFOLLOW E’FOLLOW TFOLLOW T’FOLLOW F综合例子FIRST集 的求法 文字定义: FIRST(A)集合…
文章目录
- FIRST集 的求法
- FOLLOW集 的求法
- 下面直接介绍规范的求法(这个文法必须消除左递归和提取公共左因子)
- 下面举个例子来按照这种方法求FOLLOW
- FOLLOW E
- FOLLOW E’
- FOLLOW T
- FOLLOW T’
- FOLLOW F
- 综合例子
FIRST集 的求法
文字定义:
FIRST(A)集合是 A能推出的,所有的,第一个的,终结符 或 ε 所组成的集合
FOLLOW集 的求法
文字定义:
FOLLOW(A)集合是 所有紧跟A之后的终结符 或 # 所组成的集合(#是句尾的标志),称FOLLOW(A)是A的随符集
下面直接介绍规范的求法(这个文法必须消除左递归和提取公共左因子)
计算所有非终结符号A的follow(A)集合时, 不断应用 下面的规则, 直到再没有 新的终结符号可以被加入到任意的follow集合中为止。
( 1 )若S是文法的开始符号,则将 # 放到follow(S)中。【只有开始符号才有,不是所有的都有#】
( 2 )如果存在一个产生式A→αBβ,那么first(β)中除ε之外的所有符号都在follow(B)中。
【follow(B)是求跟在B后的终结符或#组成的集合,因此对于跟在B后的β,它的first集合就是follow(B)的子集 】
( 3 )如果存在一个产生式A→αB,或存在产生式A→αBβ且first(β)包含ε,那么follow(A)中的所有符号都在follow(B)中。
【对于A→αBβ,且β多步推导出ε ,那么可以用αB替换A, B后面紧跟的字符就是A后面紧跟的字符】
注:α可以为空
下面举个例子来按照这种方法求FOLLOW
文法如下:
- E -> TE’
- E’ -> +TE’ | ε
- T -> FT’
- T’ -> *FT’ | ε
- F -> (E) | i
直接给出First集
first(E) = first(T) = first(F) = { ( , id }
first(E’) = {+, ε}
first(T’) = {*, ε}
FOLLOW E
因为E是文法的开始符合,故 FOLLOW (E)={ # }再根据规则(2)和产生式 5 将 ) 加入, 所以 follow(E) = {#, )}
FOLLOW E’
根据规则 (3) 和产生式 1,可知,将follow(E) 加入到 follow(E‘)中 ,所以 follow(E') = {#, )}
FOLLOW T
根据产生式 1 和 规则(2) ,将first(E') - {ε}加入到follow(T)中,follow(T) = {+} , 再根据产生式 1 和规则(3), 将follow(E)加入到follow(T)中,所以follow(T) = {+, ), #}
FOLLOW T’
再根据规则(3)和产生式3,将follow(T)加入到follow(T’)中,所以follow(T') = {+, ), #}
FOLLOW F
① 根据产生式 3 和规则 (2),将first(T')-{ε}加入到follow(F)中,follow(F) = {*}
② 产生式 3 和 规则 (3) ,将follow(T)加入到follow(F)中,follow(F) = {*,+,),#}
③ 再根据产生式 4 和规则(3)将follow(T')加入follow(F) follow(F) = {+, ), *, #}
④ 根据产生式 4 和规则2 将first(T')加入到follow(F)中, follow(F) = {+,),*,#}
综合例子
参考视频:https://www.bilibili.com/video/BV1Cu411m7VX