当前位置: 首页 > wzjs >正文

黄冈网站建设哪家快些站长之家查询

黄冈网站建设哪家快些,站长之家查询,静态网站策划书,哪个网站做的系统好一、First 集(首符号集) 定义: 对于符号(非终结符或终结符)或符号串,First 集是该符号串能够推导出的所有可能开头的终结符的集合。若符号串可以推导出空串(ε),则 ε 也…

一、First 集(首符号集)

定义
对于符号(非终结符或终结符)或符号串,First 集是该符号串能够推导出的所有可能开头的终结符的集合。若符号串可以推导出空串(ε),则 ε 也属于 First 集。

注意:这里是终结符哦!(不包括一些特殊符号)

计算规则

  1. 终结符:First(a) = {a}。
  2. 非终结符 A
    • 若存在产生式 A → a…,则将 a 加入 First (A)。
    • 若存在产生式 A → B…,则将 First (B) 加入 First (A)。
    • 若 B 可以推导出 ε(即 First (B) 包含 ε),则递归处理后续符号。
    • 若所有产生式均以 ε 结尾(如 A → ε),则 First (A) 包含 ε。

举几个例子:

1.后面跟的不是非终结符
        A->aB|ε
        A->c
        First(A)={a,ε,c}

2.后面跟非终结符(一)
        A->Ba
        B->b
        First(A)={b}

3.后面跟非终结符(二)
        A->Bc
        B->b|ε
        First(A)={b,c}

4.后面跟非终结符(三)
        A->BC
        B->b|ε
        C->c|ε
        First(A)={b,c,ε}

二、Follow 集(后继符号集)

定义
对于非终结符 A,Follow (A) 是所有可能出现在 A 后面的终结符的集合,包括结束符 $(表示输入结束)。

计算规则

  1. 起始符号 S:Follow (S) 初始包含 $。
  2. 若存在产生式 B → αAβ,则将 First (β)(除去 ε)加入 Follow (A)。
  3. 若存在产生式 B → αA(即 β 为空),则将 Follow (B) 加入 Follow (A)。
  4. 若 A → αBβ 且 B 可以推导出 ε,则将 First (β)(除去 ε)和 Follow (A) 加入 Follow (B)。

给规则3举例:

形如A->aB(a可以是终结符或者非终结符或者直接为空)或者A->aBβ是一个产生式且β=>ε
比如
A->B
A->CB
A->dBC
C->ε
将Follow(A)加入到Follow(B)中

综合例题

例一:

给定文法 G(S) 如下:
S→IETSP∣O
I→if
E→b
O→other
L→else
T→then
P→LS∣ε

符号First 集Follow 集
S{if, other}{#, else}
I{if}{b}
E{b}{then}
O{other}{else, #}
L{else}{if, other}
P{else, ε}{else, #}
例二:

G(E):E->TE'
E'->+TE'|E
T->FT'
T'->*FT'|E
F->(E)|i

FirstFollow
First(E)={(,i}Follow(E)={#,)}
First(E')={+ ,ε}Follow(E')={#,)}
First(T)={(,i}Follow(T)={+,#,)}
First(T')={* ,ε}Follow(T')={+,#,)}
First(F)={(,i}Follow(F)={*,+,#,)}
例三:

G[S]:S→aH
H→aMd
H→d
M→Ab
M→ε
A→aM
A→e

FirstFollow
First(S)={a}Follow(S)={#}
First(H)={a,d}Follow(H)={#}
First(M)={a,e,ε}Follow(M)={d,b}
First(A)={a,e}Follow(A)={b}
例四:

G(E):E->TE'
E'->+E|ε
T->FT'
T'->Tlε
F->PF'
F'->*F'|ε
P->(E)|a|b|^

FirstFollow
First(E)={(,a,b,^}Follow(E)={#,)}
First(E')={+,ε}Follow(E')={#,)}
First(T)={(,a,b,^}Follow(T)={+,#,)}
First(T')={(,a,b,^,ε}Follow(T')={+,#,)}
First(F)={(,a,b,^}Follow(F)={(,a,b,^,+,#,)}
First(F')={*,ε}Follow(F')={(,a,b,^,+,#,)}
First(P)={(,a,b,^}Follow(P)={*,(,a,b,^,+,#,)}

http://www.dtcms.com/wzjs/487845.html

相关文章:

  • 上海做网站公司百度百家自媒体平台注册
  • 手机游戏app开发公司google关键词优化排名
  • 怎样用zblog做网站北京seo方法
  • 网站开发与维护是干什么的麒麟seo
  • 哈尔滨做设计和网站的公司吗网络推广优化工具
  • 做家具厂招聘有哪些网站营销是什么意思
  • 在上阿里云做网站中国域名注册官网
  • 视频号运营基础课程怎么学seo基础
  • wordpress直接注册seo客服
  • 朔州市政府门户网站谷歌搜索广告
  • 微网站和微信公共平台的区别上海百度推广排名
  • 在政府网站建设工作会上的讲话网络查询网站
  • wordpress 扫描工具兰州网络推广优化服务
  • 东莞网站建设招聘游戏代理平台一天结一次
  • 自己做的小网站如何发布子域名查询工具
  • 日本网页设计网站b站免费推广app大全
  • 庆云县建设局网站网站运营是做什么的
  • 国家建设工程质量检查标准网站友情链接出售网
  • 三合一网站建设口碑好网店运营公司
  • 网站建设设计公司 知乎百度推广营销中心
  • 大连建设学院网站百度知道登录
  • 找人做网站被骗为什么不构成诈骗罪渠道网络
  • 陕西西安网站建设公司搜索引擎优化方案案例
  • redis wordpress 内存最新黑帽seo教程
  • 浏阳网站开发建设东莞营销网站建设优化
  • 手机做网站服务器吗常见的网站推广方法
  • 个人网站多少钱一年营销网站建设价格
  • 建设银行网站用360浏览器阿里关键词排名查询
  • 现在建设一个基础的网站多少钱seo搜索引擎优化5
  • 农家乐网站设计西安百度推广代运营