编译技术图式(第四章 语法分析)02自上而下的语法分析

编译技术图式(第四章 语法分析)02自上而下的语法分析

1、自上而下的分析法


 

1)算法1:广度搜索法

2)算法2:最左广度搜索法

3)算法3:最左深度收缩发

2、预测分析法


 

1)预测算法特点

  • 预测算法更“快”

    • 线性运行时间

    • 表驱动

  • 预测算法更“脆弱”
    • 不支持所有的文法  

 

 

 

  •  预测算法更“脆弱” 不支持所有的文法 在文法表达力与运行速度之间寻求平衡

2)分析表:纵向为非终结符,横向为终结符

  • first集:从后向前推出所有非终结符对应的第一个终结符
  • 将first集对应的文法表达式填入分析表
  • follow集:从前向后取出所有包含此非终结符的表达式
    • #∈FOLLOW(S)
    • 取出表达式中此终结符后
      • 非终结符号放入FOLLOW(S)
      • 终结符的first集放入FOLLOW(S)
    • B→αA 或者 B→αAβ 且 β=>*ε 则 FOLLOW(B) 包含于 FOLLOW(A)
      • 符号方向:直接将推导号变为包含于号
      • 后面大,将前面的移到后面的FOLLOW(S)中
  • 将follow集对应的A∈ε填入分析表

一个表只有一个产生式或者没有,是||1文法

posted @ 2019-10-18 17:39  日月同诲  阅读(279)  评论(0编辑  收藏  举报