博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
离散数学——FIRST集,FOLLOW集和SELECT集的通俗求法
阅读量:2338 次
发布时间:2019-05-10

本文共 698 字,大约阅读时间需要 2 分钟。

离散数学——FIRST集,FOLLOW集和SELECT集的通俗求法

FIRST集合
  • 添加终结符以及空字

若X∈ε,则ε∈FIRST(X)

若X=a…,若a∈VT,则a∈FIRST(X);

  • 添加非终结符——后加前,first集
    若有表达式α->X1X2…Xn,Xi为非终结符

<1>将FIRST(X1)中的一切非ε的终结符加进FIRST(α);

<2>若ε∈FIRST(X1),则将FIRST(X2)中的一切非ε的终结符加进FIRST(α);
<3>若ε∈FIRST(X1)且ε∈FIRST(X2),则将FIRST(X3)中的一切非ε的终结符加进FIRST(α);
<4>依此类推,若对于一切1≤i≤n,ε∈FIRST(Xi),则将ε加进FIRST(α)。

FOLLOW集合——FOLLOW集没有空字
  • 文法的开始符号,添加“$”符进入FOLLOW(S)中
  • 若B→aAb(b≠ε),则把FIRST(b)-{ε}加入FOLLOW(A)中;
  • 若B→aA 或B→aAb,且b=>*ε 则把FOLLOW(B)加入FOLLOW(A) 中,前加后,FOLLOW,前为子集。b为空字
SELECT集合
  • 对于产生式A—>α。集合select(A—>α)定义如下:
  • 若α不能推出ε,则select(A—>α) = first(α)。不包含空字,就是右部首字母的FIRST集。
  • 若α能推出ε,则select(A—>α)= {first(α)-{ε}}∪ follow(A)。包含空字,就是A的FOLLOW和右部首终结符的FIEST集(去除空字)
LL1文法判别

所有具有相同左部的SELECT集交集是空集,才是LL1文法

转载地址:http://fggpb.baihongyu.com/

你可能感兴趣的文章
为何我看好社群直播
查看>>
为何我看好电商直播
查看>>
为何我看好老幼监控直播市场
查看>>
我为什么看好在线视频行业
查看>>
Xeon E3-1500 v5 GPU
查看>>
skylake AVC性能
查看>>
RTSP 协议分析 (一)
查看>>
RTSP协议分析(二)
查看>>
IPTV的前世今生与发展
查看>>
x264中的汇编x86inc.asm
查看>>
X264中的sad-a.asm
查看>>
x264中的cpu-a.asm
查看>>
x264中的DCT变换 dct-a.asm
查看>>
X264的时耗分析
查看>>
H.264 Profile、Level、Encoder三张简图
查看>>
NEON指令集综述
查看>>
FFmpeg的H.264解码器源代码简单分析:概述
查看>>
linux下编译调试x264
查看>>
debug和release版本的区别
查看>>
x86 指令集发展历程
查看>>