LL(1)文法

可以构造确定的(不带回溯)自上而下分析的文法条件:

(1) 文法不含左递归
(2) 文法中每个非终结符A满足
  A→α1 |α2 |…|αn     则: 
  FIRST(αi)∩FIRST(αj)=Ø (i≠j)
(3) 文法中每个非终结符A , 若它存在某个候选首符集包含ε, 则
  FIRST(A)∩FOLLOW(A) = Ø

如果一个文法G满足以上条件,则称该文法G为LL(1)文法。LL(1)文法中的第一个L表示从左到右扫描输入串,第二个L表示最左推导,1表示分析时每一步只需向前查看一个字符。

LL(1)文法 的确定的自上而下分析过程

面临的输入字符是a,A的所有产生式为

A→ α1 |α2 |…|αn
(1) 若a属于FIRST(αi ), 用αi 匹配
(2) 若a不属于任何FIRST(αi ), 则:
  ① 若ε∈FIRST(αi ) 且a∈FOLLOW(A),  则让A与ε匹配.
  ② 否则, a的出现是一种语法错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值