编译原理-文法的判断


四种文法的判断就是规定产生式左边和右边的字符组成规则不同而已。

从0型到3型,其限制条件越来越多。

判断时从最复杂的3型进行判断,若不符合,依次向下。

?3型文法(正规文法或右线性文法)

    A->α或A->αB

    ①左边有且仅有一个非终结符。

    ②右边有一个或两个字符。

        若有一个字符,是终结符;

        若有两个字符,左边终结符,右边非终结符。

?2型文法(上下文无关文法)

    ①左边有且仅有一个非终结符。

    ②右边可以有若干个(有限)字符。

?1型文法(上下文有关文法)

    α->β

    ①左边至少有一个非终结符。

    ②|α|≤|β|,仅S->ε除外

?0型文法(无限制文法)

    左边至少有一个非终结符

判断时,取其最高的符合规则。

相关