编译原理之LL(1)文法

首先介绍一下什么是LL(1)文法

在清华大学编译原理(第三版)第四章 自顶向下语法分析方法中涉及到LL(1)文法。

LL(1)文法是一种确定的自顶向下的判断文法,它对文法有一定的限制,然而其实现方法简单直观,便于手工构造或自动生成语法分析器,是最常用的分析方法之一。

对文法G的句子进行确定的自顶向下语法分析的充分必要条件是,G的任意两个具有相同左部的

产生式A—>α|β 满足下列条件:

(1)如果α、β均不能推导出ε,则 FIRST(α) ∩ FIRST(β) = ∅。

(2)α 和 β 至多有一个能推导出 ε。

(3)如果 β *═> ε,则 FIRST(α) ∩ FOLLOW(A) = ∅。

将满足上述条件的文法称为LL(1)文法。

判断LL(1)文法的步骤

1、求储能推出ε的非终结符、

2、计算FIRST集

3、计算FOLLOW集

4、计算SELECT集

SELECT交集为空则为LL(1)文法。

你可能感兴趣的:(编译原理之LL(1)文法)