logo
  • write-homewrite-home-active首页
  • icon-chaticon-chat-activeAI 智能助手
  • icon-pluginicon-plugin-active浏览器插件
  • icon-subjecticon-subject-active学科题目
  • icon-uploadicon-upload-active上传题库
  • icon-appicon-app-active手机APP
首页
/
计算机
题目

设有以下文法:(﹡﹡﹡)G[S]:S→aAbDe|dA→BSD|eB→SAc|cD|εD→Se|ε(1)求出该文法的每一个非终结符U的FOLLOW集。(2)该文法是LL(1)文法吗?(3)构造C[S]的LL(1)分析表。

设有以下文法:(﹡﹡﹡)G[S]:S→aAbDe|dA→BSD|eB→SAc|cD|εD→Se|ε(1)求出该文法的每一个非终结符U的FOLLOW集。(2)该文法是LL(1)文法吗?(3)构造C[S]的LL(1)分析表。

题目解答

答案

(1)求文法的每一个非终结符U的FOLLOW集的过程如下:

因为:

①S是识别符号,且有A→BSD、B→SAc、D→Se,所以FOLLOW(S)应包含

FIRST(D)∪FIRST(Ac) ∪FIRST(e) ∪{#}

={a,d}∪{a,d,c,e}∪{e}∪{#}

={a,c,d,e#}

②又因为A→BSD和D→ε,所以FOLLOW中还包含FOLLOW(A)。

因为S→aAbDe和B→SAc,所以

FOLLOW(A)=FIRST(bDe)∪FIRST(c)={b,c}

综合①、②得FOLLOW(S)={a,d,c,e,#}∪{a,b,c,d,e,#}

因为A→BSD,所以 FOLLOW(B)=FIRST(SD)={a,d}

因为S→aAbDe | d、A→BSD| e和B→SAc | cD,所以

FOLLOW(D)=FIRST(e)∪FOLLOW(A)∪FOLLOW(B)

={e}∪{b,c}∪{a,d}={a,b,c,d,e}

(2)G[S]不是LL(1)文法。

因为产生式B→SAc|cD|ε中

FIRST(SAc)∩FOLLOW(B)={a,d}≠

(3)构造G[S]的LL(1)分析表。

按照LL(1)分析表的构造算法构造方法G[S]的LL(1)分析表如下表所示。

表 G[S]的LL(1)分析表

解析

步骤 1:求出文法中每个非终结符的FOLLOW集
首先,我们需要求出文法中每个非终结符的FOLLOW集。FOLLOW集是所有可能出现在非终结符之后的终结符的集合。我们从识别符号S开始,逐步求出其他非终结符的FOLLOW集。
步骤 2:求出FOLLOW(S)
因为S是识别符号,且有A→BSD、B→SAc、D→Se,所以FOLLOW(S)应包含FIRST(D)∪FIRST(Ac) ∪FIRST(e) ∪{#}={a,d}∪{a,d,c,e}∪{e}∪{#}={a,c,d,e#}。又因为A→BSD和D→ε,所以FOLLOW中还包含FOLLOW(A)。因为S→aAbDe和B→SAc,所以FOLLOW(A)=FIRST(bDe)∪FIRST(c)={b,c}。综合得FOLLOW(S)={a,d,c,e,#}∪{a,b,c,d,e,#}={a,b,c,d,e,#}。
步骤 3:求出FOLLOW(A)
因为A→BSD,所以FOLLOW(A)=FIRST(SD)={a,d}。
步骤 4:求出FOLLOW(B)
因为S→aAbDe | d、A→BSD| e和B→SAc | cD,所以FOLLOW(B)=FIRST(e)∪FOLLOW(A)∪FOLLOW(B)={e}∪{b,c}∪{a,d}={a,b,c,d,e}。
步骤 5:求出FOLLOW(D)
因为D→Se,所以FOLLOW(D)=FOLLOW(S)={a,b,c,d,e,#}。
步骤 6:判断文法是否为LL(1)文法
根据LL(1)文法的定义,如果对于文法中的每个非终结符A,其所有产生式的FIRST集的并集与FOLLOW集的交集为空,则该文法为LL(1)文法。我们检查产生式B→SAc|cD|ε,发现FIRST(SAc)∩FOLLOW(B)={a,d}≠,因此该文法不是LL(1)文法。
步骤 7:构造LL(1)分析表
按照LL(1)分析表的构造算法构造方法G[S]的LL(1)分析表。由于该文法不是LL(1)文法,因此无法构造出完整的LL(1)分析表。

相关问题

  • 程序=算法+()A. 数据结构B. 程序结构C. 控制结构[1]D. 体系结构

  • 以下哪种方法属于卷积神经网络的基本组件()。A. 卷积层B. 池化层C. 激活函数D. 复制层

  • 由脸书(Facebook)公司开发的深度学习编程框架是()A. TensorFlowB. PaddlePaddleC. PyTorchD. Mindspore

  • 下列哪个方法属于知识图谱推理方法()A. 广度优先搜索B. 深度学习推断C. 路径排序算法D. 归纳逻辑程序设计

  • 网络诈骗中常见的“钓鱼网站”目的是()?A. 传播病毒B. 窃取个人信息C. 提供免费电影

  • 网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误

  • 3.判断题K-means聚类算法对数据的尺寸敏感。()A. 对B. 错

  • 7、 加强电脑安全防护,及时升级病 毒库,安装防火墙,及时查杀病毒和木马,是防范 电信网络诈骗的有效做法。A. 正确B. 错误

  • AdaBoosting采用多个单一分类器组成一个强分类器()A. 错误B. 正确

  • 2.单选题 讯飞星火可以实现多种文案类型和语言风格的文本写作。讯飞星火(网页版)“内容写作”功能可选的“语言风格”不包括( )。A. 口语化B. 高情商C. 专业D. 热情

  • 下列哪项不是求解对抗搜索问题的基本算法( ) A.反向传播算法 B.广度优先排序算法 C.Alpha-Beta剪枝算法D.最小最大搜索算法

  • 下列不属于量子机器学习算法的是()A. 量子支持向量机B. 量子主成分分析C. 薛定谔方程求解D. 深度量子学习

  • 下列哪个方法属于知识图谱推理方法()A. 路径排序算法B. 深度学习推断C. 广度优先搜索D. 归纳逻辑程序设计

  • Windows中“复制”操作的快捷键是Ctrl+V。

  • 下列哪项属于因果推理模型()A. 因果图B. 神经符号推理C. 符号推理模型D. 结构因果模型

  • 下列哪项关于监督学习算法的描述正确()A. 强化学习的训练效果一定优于监督学习B. 主要的监督学习方法包括生成方法和判别方法C. 广度优先搜索算法是一种监督学习算法

  • 在决策树建立过程中,使用一个属性对某个结点对应的数集合进行划分后,结果具有高信息熵(highentropy),对结果的描述,最贴切的是()。A. 纯度高B. 纯度低C. 有用D. 无用E. 以上描述都不贴切

  • 网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误

  • 路径排序算法的工作流程主要有三步()A. 特征计算B. 特征抽取C. 分类器训练D. 因果推断

  • 下列哪项贪婪最佳优先搜索算法的描述正确()A. 贪婪最佳优先搜索不属于启发式搜索算法B. 贪婪最佳优先搜索是一种A*搜索算法C. 贪婪最佳优先搜索是一种广度优先搜索算法D. 贪婪最佳优先搜索属于有信息搜索算法

上一页下一页
logo
广州极目未来文化科技有限公司
注册地址:广州市黄埔区揽月路8号135、136、137、138房
关于
  • 隐私政策
  • 服务协议
  • 权限详情
学科
  • 医学
  • 政治学
  • 管理
  • 计算机
  • 教育
  • 数学
联系我们
  • 客服电话: 010-82893100
  • 公司邮箱: daxuesoutijiang@163.com
  • qt

©2023 广州极目未来文化科技有限公司 粤ICP备2023029972号    粤公网安备44011202002296号