本程序要求用户在控制台里输入非终极符,终结符与产生式,然后对用户输入的文法进行分析,得出first集 与follow 集,并打印出预测分析表用户决定是否继续进行句型分析,如继续则给出符号分析栈的实现,从而判断刚输入的句子是否为符合该文法的句子。 该程序遵循LL(1) 文法FIRST(A)的构造:是A的所有可能推导的开头终结符或可能的ε FOLLOW(A)是所有句型中出现在紧接A之后的非终结符或“#” 预测分析程序 构造LL(1)分析表 ⅰ,构造文法中所有元素的FIRST和FOLLOW集合 ⅱ,对文法G的每个产生式A->α执行第三步和第四步 ⅲ,对每个终结符a∈FIRST(α),把A->α加至M[A,a] ⅳ,若ε∈FIRST(α),则对任何b∈FOLLOW(A)把A->α加至M[A,b]中 ⅴ,把所有无定义的M[A,a]标上“出错标志”