编译原理
GroovRain
不定期分享学习心得,欢迎和各位交流~~
展开
-
编译原理之first集,follow集,select集解析
为了方便自顶向下语法分析,需要求文法对应的first集,follow集,以及select集。本文主要分为两部分,一个是求法解析,还有一个例子详解:第一部分是求法解析将对first集,follow集,select集分为三种讲解方法①定义介绍及推导②简单推导演示③规范式推导讲解顺序为,先用最简单的推导介绍三种不同的集,然后介绍概念,最后介绍正规的推导方法三种方法,不同人喜欢不同的理解方法,大家都可以参...原创 2018-04-30 19:30:32 · 36906 阅读 · 25 评论 -
LL(1)文法的判断
一种是按照步骤一步步推进,用于解决一些题目另一种是比较快速的判断方法首先文法G[S]S->aS->^S->(T)T->SNN->,SNN-># 是否=>#First集Follow集S否{a,^,(}{#, ’,’ , ) }T否{a,^,(}{ ) }N是{‘,’ , #}{ ) } Select(S->a) = {a}Select(S->...原创 2018-04-30 21:46:22 · 40775 阅读 · 6 评论 -
LL(1)文法的预测分析表以及对某输入串的分析过程
举例说明LL(1)文法的预测分析,以及对(a,a)#的分析过程文法G[S]S->aS->^S->(T)T->SNN->,SNN-># 是否=>#First集Follow集S否{a,^,(}{#, ’,’ , ) }T否{a,^,(}{ ) }N是{‘,’ , #}{ ) } Select(S->a) = {a}Select(S->^) ={...原创 2018-04-30 21:51:31 · 17474 阅读 · 6 评论 -
编译原理LL(1)文法之提取左公因子,消除左递归
在判断LL(1)文法是否符合的时候,需要判断LL(1)文法是否存在左公因子,和左递归的情况,以下给出相应的判断方法以及通过提取左公因子和消除左递归使非LL(1)文法转换为LL(1)法的方法第一种情况:存在左公因子 ;解决方法:提取左公因子;若文法中存在形如:A->ay|ab 两个产生式左部第一个符号相同,则不符合LL(1)文法,指代不明,则表示存在左公因子...原创 2018-04-30 22:08:42 · 38880 阅读 · 6 评论 -
递归下降识别器——编译原理
作业用的简化版递归下降识别器 :例子说明:文法G[S]:S-> A|BA->aMM->A|#B->bNN->B|# ①文法不含左递归 是否=>#FirstfollowS否{a,b}#A否{a}#B否{b}#M是{a,#}#N是{b,#}# ①文法不含左递归②M N的产生式至多有一个#,因此:First(A) ∩ follow(M) = ∅First(B) ∩...原创 2018-04-30 22:11:17 · 2613 阅读 · 0 评论