(ll1)消除左递归疼死我了~~~
1、消除直接左递归原文法: E --> E a1 | E a2 | ... | E an | b1 | b2 | ... | bn消除后: E --> b1 E' | b2 E' | ... | bn E' E'--> a1 E' | a2 E' | ... | an E' | epsilon2、消除间接左递归a) 把所有非终结符号按一定序列排序为E1, E2, ... En;b) for i=1 to n do /*依次处理每个非终结符号*/ for j=1 to i-1 do /*处理第1个到i-1个*/ 若Ei --> Ej r 则改为Ei --> S1 r | S2 r | ... | Sk r 其中Ej --> S1 | S2 | ... | Skc) 对Ei消除直接左递归。3、去掉
俺的课程设计题目~~~
设计一个简单的程序来验证符号串是不是属于该LL(1)文法,用程序实现。S→aBc|bABA→aBb|b B→b|ε设计目的:掌握语法分析中ll(1)文法的判别方法。设计要求:用高级语言编写和调试判断一个分文法是否为ll(1)文法。设计分工:3人联合完成。[@more@]