本文最后更新于:2019年11月15日 晚上
                
              
            
            
              概览:基于《编译原理(第三版)》(清华大学出版社,王生原版)的递归子程序分析器程序。
实验内容
本分析程序所分析的文法如下:
1 2 3 4 5
   | G[E]: 	E→eBaA 	A→a|bAcB 	B→dEd|aC 	C→e|dC
 
  | 
 
针对上述文法编写一递归子程序分析程序,该程序的输入是任意符号串,输出是本次输入的符号串是否是该文法的句子的结论。
测试样例为:
1 2 3
   | eadeaa# edeaebd# edeaeaadabacae#
 
  | 
 
分析说明
分析说明:
针对上述文法求得各个非终结符的First集、Follow集以及各个产生式的Select集。
1 2 3 4 5 6 7 8 9 10
   | FIRST(E) = {e}、FIRST(A) = {a,b}、FIRST(B) = {a,d}、FIRST(C) = {d,e} FOLLOW(E) = {#,d}  FOLLOE(A) = {#,c,d} FOLLOW(B) = {#,a,c,d}  FOLLOW(C) = {#,a,c,d} SELECT(E->eBaA) = {e} SELECT(A->a) = {a} SELECT(A->bAcB) = {b} SELECT(B->dEd) = {d} SELECT(B->Ac) = {a} SELECT(C->e) = {e} SELECT(C->dC) = {d}
 
  |