编译原理之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)文法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值