LL(1)分析法是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LL(1)分析法是啥?相关的知识,希望对你有一定的参考价值。
在编译原理中LL(1)分析法一种什么方法?
LL(1)分析使用显式栈而不是递归调用来完成分析。以标准方式表示这个栈非常有用,这样LL(1)分析程序的动作就可以快捷地显现出来。在这个介绍性的讨论中,我们使用了生成成对括号的串的简单文法:S →(S) S |
且将额外的栈项推向右边。输入符号由左列向右。美元符号标出了输入的结束(它与由扫描程序生成的 EOF 记号相对应)。给出了由分析程序执行的动作的简短描述,它将改变栈和(有可能)输入。
LL(1)分析中的重复和选择也存在着与在递归下降程序分析中遇到的类似问题,而且正是由于这个原因,还不能够为的简单算法表达式文法给出一个LL(1)分析表 参考技术A 是一种不带回溯的自上而下分析的文法条件:
(1)文法不含左递归;
(2)对于文法中每一个非终结符A的各个产生式的候选首符集两两不相交;
(3)对于文法中的每个非终结符A,若他存在某个候选首符集包含E,则 FIRST(A)^follow(a)=空集,
如果一个文法满足以上条件,则为LL(1)文法。
以上是关于LL(1)分析法是啥?的主要内容,如果未能解决你的问题,请参考以下文章