LL(1)文法分析表的构造和分析过程示例

本文详细介绍了LL(1)文法分析表的构造和分析过程,通过示例展示如何判断文法是否为LL(1),计算First集和Follow集,以及如何构建LL(1)分析表,并提供了分析过程的步骤。给出的文法示例包括E, E', T, T'和F的产生式,最后展示了对输入串"id + id * id"的预测分析过程。" 2887788,186372,数据库审计详解:记录与管理,"['数据库', '数据库相关', 'Oracle']
摘要由CSDN通过智能技术生成

 LL(1)文法分析表的构造和分析过程示例

转自:https://www.cnblogs.com/standby/p/6792814.html


文法:

E→TE'

E'→+TE'|ε

T→FT '

T'→*FT'|ε

F→id| (E)

一、首先判断是不是 LL(1)文法

文法G的任意两个具有相同左部的产生式 A --> α|β 满足下列条件:

1、如果α和β不能同时推导出ε,则 FIRST(α)∩FIRST(β) = 空

2、 α和β 至多有一个能推导出 ε

3、如果 β --*--> ε ,则 FIRST(α)∩ FOLLOW(A)= 空 

对于 E'→+TE'|ε  ,显然ε --> ε, First(+TE') = {+}  ,Follow(E') = { {),#}  显然二者交集为空满足。

对于 F→id|(E)   ,First(id) = {id}   First((E)) = {(}    显然二者交集为空满足。

所以该文法是LL(1)文法。

二、计算出F

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值