Blog Post

句柄和规范规约(超详细)

目录

1.基本概念

(1)自下而上分析法

1.算符优先分析法

2.LR分析法

(2)句柄

(3)规范规约

2.用句柄规约

3.两种方法的比较

4.规范句型

1.基本概念

要想理解句柄和规范规约,我们要先来看看这一章的主题——自下而上分析法,从主题入手更加容易理解句柄和规范规约的意义。

(1)自下而上分析法

1.算符优先分析法

这个知识点已经在之前的博客详细说明了,大家如果不太理解,可以去看一看 构造优先关系表_驼驼学编程的博客-CSDN博客

2.LR分析法

(2)句柄

句型的句柄是该句型中和一个产生式右部匹配的子串并把它规约成该产生式左部的非终结符代表了最右推导过程中的逆过程的一步。

句柄的右边仅仅含有终结符或者空符。

只有文法无二义性,每个右句型才有唯一句柄。简而言之,就是最左边的两层字树的末端。

(3)规范规约

2.用句柄规约

先给出大家一道例题带大家理解

我们应该怎么做此类题型呢?其实非常简单,就是找出句柄,然后进行规约消除,直到找不到句柄规约为止。

有了这个指导思想,我们可以开始这一步了

我们可以通过这颗树发现此时最左边的两层字数的末端是b,也就是红色方框中的,我们要将A->b进行规约,

我们进行规约后就可以变成下面图片中的语法树了。

接着进行规约

最终我们可以得到最终结果

3.两种方法的比较

4.规范句型

我们例题中每一步得到的句型都是规范句型。