LR分析器的模型见图3,它包括输入、输出、栈、驱动程序和含动作和转移两部分的分析表。驱动程序对所有的LR分析方法都一样,不同的分析方法构造的分析表不同。分析程序每次从输入缓冲区读一个符号,它使用栈存储形式为s0X1s1X2s2…Xmsm的串,sm在栈顶。Xi是文法符号,si是叫做状态的符号,状态符号概括了栈中它下面部分所含的信息。栈顶的状态符号和当前的输入符号用来检索分析表,以决定移进-归约分析的动作。 分析表由两部分组成,动作函数action和转移函数goto。LR分析驱动程序的行为是:它根据栈顶当前的状态sm和当前的输入符号ai,访问action[sm, ai], 它可能的四个值如下: (1)移进s, 其中s是一个状态。 (2)按文法产生式A |
LR(0)语法分析器原理概述
查看评论
已有0位网友发表了看法