编译原理 —— SELECT集

365bet怎么注册 📅 2025-10-08 01:41:06 ✍️ admin 👁️ 1524 ❤️ 380
编译原理 —— SELECT集

编译原理 —— SELECT集

最新推荐文章于 2025-08-08 15:14:52 发布

starter_zheng

最新推荐文章于 2025-08-08 15:14:52 发布

阅读量2.2w

收藏

152

点赞数

30

CC 4.0 BY-SA版权

分类专栏:

编译原理

文章标签:

编译原理

可选集

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/starter_____/article/details/87929005

编译原理

专栏收录该内容

37 篇文章

订阅专栏

本文深入探讨了编译原理中的SELECT集概念,解释了产生式A→α的可选集如何定义,并指出它们在LL(1)解析中的作用。通过实例展示了如何计算产生式的SELECT集,例如针对不同产生式计算其SELECT集,如SELECT(1)、SELECT(2)等。同时,文章还强调了同一非终结符的SELECT集互不相交的重要性,以确保解析过程的唯一性。最后,简要提及了计算预测分析表的过程,其中非终结符的SELECT集如何指导构造预测分析表。

SELECT集

产生式 A→αA → αA→α 的可选集是指可以选用该产生式进行推导的输入符号的集合,记为SELECT(A→α)SELECT(A→α)SELECT(A→α)同一非终结符的各个产生式的可选集互不相交(否则依然无法确定使用哪一个产生式)

以LL(1)为例:

计算产生式的SELECT集

对于产生式①,FIRST(TE′)={(,id}(TE')=\{ (,id \}(TE′)={(,id},ε∉ε∉ε∈/​ FIRST(TE′)(TE')(TE′),故 SELECT(1) = FIRST(TE′)={(,id}(TE')=\{ (,id \}(TE′)={(,id}对于产生式②,FIRST(+TE′)={+}(+TE')=\{+ \}(+TE′)={+},ε∉ε∉ε∈/​ FIRST(+TE′)(+TE')(+TE′),故 SELECT(2) = FIRST(+TE′)={+}(+TE')=\{ + \}(+TE′)={+}对于产生式③,FIRST(ε)={ε}(ε)=\{ε \}(ε)={ε},ε∈ε∈ε∈ FIRST(ε)(ε)(ε),故 SELECT(3) = FIRST(ε)−{ε}+(ε)-\{ ε \}+(ε)−{ε}+FOLLOW(E′)(E')(E′)对于产生式④,FIRST(FT′)={(,id}(FT')=\{ (,id \}(FT′)={(,id},ε∉ε∉ε∈/​ FIRST(FT′)(FT')(FT′),故 SELECT(4) = FIRST(FT′)={(,id}(FT')=\{ (,id \}(FT′)={(,id}…

计算预测分析表

由预测分析表可知,同一非终结符的各个产生式的可选集互不相交(如非终结符 T′T'T′ ,一个可选符号对应一个产生式)

相关推荐

2024十大颠覆性创意家具设计
365bet体育在线主页

2024十大颠覆性创意家具设计

📅 09-12 👁️ 9529
这是我的战争怎么抽烟 这是我的战争抽烟介绍
365体育推荐

这是我的战争怎么抽烟 这是我的战争抽烟介绍

📅 08-28 👁️ 4595
自助售取票机全攻略来啦!
365体育推荐

自助售取票机全攻略来啦!

📅 08-14 👁️ 7472