编译原理4 LL(1)

自上而下语法分析

语法分析方法

  1. 自下而上:
    1. 算符优先文法
    2. LR文法
  2. 自上而下:
    1. 递归下降分析法
    2. 预测分析程序
  3. 自上而下与自下而上的语法分析策略
    (1) 自上而下:是从文法起始符号出发,不断使用文法的产生式进行推导,分析成功的标志是推导出待分析的终结符串
    (2) 自下而上:从待分析的终结符号串出发,使用产生式规则,对当前的符号串,寻找其中的子串β,利用A->β,将β替换成A,得到新的符号串。分析过程的主要操作是归约。分析成功的标志是从给定的终结符号串出发,经过不断归约,得到文法起始符号

LL(1)分析法

  1. LL(1)文法中没有二义性文法
  2. LL(1)分析法中:
    1. L:从左到右扫描输入符号串
    2. L:采用最左推导
    3. 1:向前查看输入符号串一个字符
  3. 判断是否为LL(1)文法:
    1. 要根据构成的分析表是否有重定义项
    2. 根据LL(1)文法的条件来判断
  4. LL(1)分析法:
    1. 条件:
      1. 文法不含左递归
      2. 非终结符的FIRST集合不相交
      3. FIRST集合中包含空集那么与FOLLOW集合不相交

    2. 步骤:
      1. 消除左递归
      2. 消除回溯
      3. 提取公共左因子
      4. FIRST集合
      在这里插入图片描述
      5. FOLLOW集合
      在这里插入图片描述

      1. 构造分析表

在这里插入图片描述
7. 预测分析:
在这里插入图片描述
注意事项:
1.初始时,开始符在栈中
2.插入栈中时,是倒着插入的
3.相同字符出栈,后续也指向下一个符号

例题

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值