尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
FIRST 集合(首符号集)学习笔记
文章目录FIRST 集合首符号集学习笔记一、这个知识点到底在干嘛二、前置概念必须先搞清楚三、FIRST 集合的核心操作四、特殊情况空串 ε五、实战演示六、避坑指南七、与其他集合的关系预览八、做题流程总结FIRST 集合首符号集学习笔记一、这个知识点到底在干嘛FIRST 集合解决的是一个非常朴素的问题从某个符号出发推导出来的句子第一个字可能是谁把所有可能的第一个字收集起来就是 FIRST 集合。二、前置概念必须先搞清楚概念大白话例子终结符最终成品不能再变的符号a,[,],,非终结符半成品/占位符还需要继续替换S,L产生式规则造句规则箭头左边能变成右边S → a推导按照规则一步步替换的过程S → [L] → [S] → [a]三、FIRST 集合的核心操作一句话口诀盯着箭头右边最左边的符号看。具体分两种情况情况 1箭头右边第一个是终结符直接把这个终结符抓进 FIRST 集合游戏结束。例S → a第一个是终结符a所以a ∈ FIRST(S)。情况 2箭头右边第一个是非终结符需要去查那个非终结符的 FIRST 是什么递归查找。例A → Bc第一个是B非终结符那就去看FIRST(B)里有什么把它们都加进FIRST(A)。四、特殊情况空串 ε如果某个非终结符能推导出空串即可以隐身消失那么当前符号不算继续往后看下一个符号。如果后面的也能消失就再往后看直到碰到一个不能消失的终结符为止。类比排队时前面的人突然消失了你就得看再后面那个人是谁。五、实战演示文法 G[S]S → [L] | a L → L, S | S求 FIRST(S)看 S 的产生式S → a箭头右边第一个是终结符a→a ∈ FIRST(S)S → [L]箭头右边第一个是终结符[→[ ∈ FIRST(S)结果FIRST(S) { a, [ }常见错误把]也算进去]在[L]中排在最后面是车尾FIRST 只管排头兵车尾不归它管]属于 FOLLOW 集合的管辖范围六、避坑指南FIRST 只管第一个字符不管中间和末尾的字符。看到产生式箭头右边眼睛只盯最左边那个符号。终结符直接收录非终结符才需要递归查找。后面的符号除非前面的都能变空ε否则一律不看。左递归如L → L, S不影响 FIRST因为递归展开后最左边的符号还是由基础情况决定的。七、与其他集合的关系预览集合管什么口诀FIRST推导出的句子的第一个终结符看排头兵FOLLOW某个非终结符后面紧跟的终结符看屁股后面SELECT决定用哪条产生式的依据FIRST FOLLOW 的组合八、做题流程总结求 FIRST(X) 1. 找出 X 的所有产生式 2. 对每条产生式看箭头右边第一个符号 - 是终结符 → 直接加入 FIRST(X) - 是非终结符 → 递归求它的 FIRST加入 FIRST(X) - 能推导出 ε → 继续看第二个符号重复上述步骤 3. 所有产生式都看完收集完毕本质就是FIRST 集合 从某个符号出发所有可能推导出的句子中站在最前面的终结符的集合。记住排头兵三个字这章的题就是送分题。
RELATED

相关推荐

降价、造芯、机器人破纪录:AI竞赛从模型卷到了算力底层

降价、造芯、机器人破纪录:AI竞赛从模型卷到了算力底层

降价、造芯、机器人破纪录:AI竞赛从模型卷到了算力底层 这个八月最后一周,AI圈最热闹的不是谁又刷了benchmark,而是三件事同时发生:大模型价格一个月内被砍掉近四分之一,芯片自研成了巨头标配,人形机器人在…

📅 2026/10/17 7:11:34
2026年7月泰安市新房价格深度分析报告

2026年7月泰安市新房价格深度分析报告

一、报告背景与数据说明本报告基于2026年7月泰安市新房实际成交案例,结合成交价格、成交面积、成交区位等维度,对泰安市新房市场进行深度分析。报告数据来源于泰安市不动产登记中心公开备案信息、主要房企网签数据以及线下案场调研,覆盖泰山区…

📅 2026/10/9 4:29:20
145 vue3代码阅读方法及代码查看快捷键

145 vue3代码阅读方法及代码查看快捷键

vue隐式跳转建议记住 Vue 代码里的五种“隐形跳转”普通 JavaScript 主要靠显式调用:a(); b();Vue 代码还存在这些隐形跳转:1. ref 变化触发 computedcount.value 2;const double computed(() > count.value * 2);2. ref/computed 变化触发 watchwa…

📅 2026/9/8 7:52:14
MORE NEWS

更多资讯

📰

机修钳工职业技能鉴定题库,初中高级考点全解析附答案

机修钳工职业技能鉴定,考的是实打实的手上功夫和判断能力。不少考生跟我们反馈:理论题背了不少,实操也练了,可一进考场还是心里没底。问题往往不在努力程度,而在刷题方向——初、中、高三个等级考什么、怎么考、易错点…

📰

工业控制系统深度解析:30 执行器为什么让PID失效

第30章 执行器为什么让PID失效 30.1 PID控制的最后一公里 前面章节一直围绕PID如何计算控制量。完整模型: SP → Error → PID → MV → Process → PV → Feedback理论上,PID计算出MV(例如MV=60%),控制器认为“我已经输出60%的控制作用”。但工业现场还有一个关键问题…

📰

verl RL-Insight:如何实时监控大规模强化学习训练状态与高效调试

【免费下载链接】verl verl/HybridFlow: A Flexible and Efficient RL Post-Training Framework 项目地址: https://gitcode.com/gh_mirrors/verl2/verl 点击查看 免费下载 verl RL-Insight 是 verl 官方推出的强化学习训练实时监控工具,它把训练器标量…

📰

【独家整理】JDK17 压缩包免安装快速上手:解压即用,三步配好 Java 开发环境

【独家整理】JDK17 压缩包免安装快速上手:解压即用,三步配好 Java 开发环境 【免费下载链接】JDK17压缩包下载解压即用无需安装 本仓库提供了一个方便的资源文件下载,即JDK17的压缩包,适用于64位Windows系统。下载后解压即可使用&…

📰

Vibe Coding 实践指南:AI 辅助编程的完整工作流与工程化落地

Vibe Coding 实践指南:AI 辅助编程的完整工作流与工程化落地 一、先搞懂 Vibe Coding 到底在做什么 很多人第一次接触 Vibe Coding,都把它理解成"偷懒式编程":告诉 AI 要什么,它把代码吐出来,复制粘贴就完事…

📰

LLM 推理部署优化实战:vLLM、TGI 与 TensorRT-LLM 选型与调优

LLM 推理部署优化实战:vLLM、TGI 与 TensorRT-LLM 选型与调优 一、同一个模型,4 张卡 vs 1 张卡 先讲一个真实的对比。早期用 HuggingFace Transformers A100 4 卡部署一个 13B 模型:吞吐量每卡 5 QPS 共 20 QPS,延迟 P99 约 800…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬