注:文章来自于我的博客shawnluo.com,欢迎访问~!
文法G[S]如下:
S->aAaB|bAbB
A->S|db
B->bB|a
分析句子adbaba
要求:
提前消除文法的左递归及提取左公共因子。
求出FIRST集、FOLLOW集、SELECT集、判空、输出预测分析表、
输出对句子的分析过程。
一、主要内容
1、检查文法是否为LL(1)文法
2、代码介绍:
(1)初始定义参数,给定文法的开始符号、非终结符、终结符、文法产生式。定义三个字典用来表示FIRST集、FOLLOW集、SELECT集。
(移植到其他文法上只需修改这一部分初始定义的参数,其余的程序都是通用的。)

(2)初始化函数init(),打印开始符号、文法产生式。并将每个非终结符加入FIRST集、FOLLOW集作为“键”,同时将其“值”置空;将每个产生式加入SELECT集作为“键”,同时将其“值”置空。
再向开始符号G的FOLLOW集中加入“#”


最低0.47元/天 解锁文章
3275

被折叠的 条评论
为什么被折叠?



