若一个文法满足以下条件,则称该文法G为LL(1)文法:
例题1
有文法
G(S):
S → S*aP | aP | *aP
P → +aP | +a
(1)判断该文法是否为LL(1)文法,如果不是,请改写成LL(1)文法
解:不是,因为 S → S*aP | aP | *aP 中含有左递归,P → +aP | +a 中含有左公共因子
改写:
①
消除左递归
S → aP S’| *aPS’
S’ → *aPS’|ε
P → +aP | +a
提取左公共因子
S → aP S’| *aPS’
S’ → *aPS’|ε
P → +aP’
P’→P|ε
②
③
例题2
解:
练习题1:
解:(1)
(2)
(3)
题1:
给定文法G(S)如下:
(1)构造文法G(S)的预测分析表。(60分)
(2)给出输入db的分析过程,按下列格式写出分析过程(28分),分析结束后,给出分析结论(即判断分析成功,还是不成功)。(2分)
解:
(1)
预测分析表如下:
(2)
题2:
解:
(1)
(2)
(3)
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dcrkj.com 版权所有 赣ICP备2024042791号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务