语法分析-编译原理期末复习

自上而下的语法分析

自上而下语法分析法:或从开始符号出发,找最左推导;或从根开始,构造推导树。

自下而上语法分析法:从输入串开始,归约,直至文法开始符。

回溯分析法

产生回溯的原因:公共左因子(开始匹配上了,可能走错分枝)、左递归(不知道递归多少次)、空产生式。

公共左因子

左递归(直接、间接)

空产生式

提取公共左因子

将文法
S→xAy
A→ab│ac
改造成:
S→xAy
A→aB
B→b│c

消除左递归

消除直接左递归

别忘了改写之后的空。

消除间接左递归

预测分析法

预测分析是一种表驱动方法,由下推栈、预测分析表和控制程序组成。它实际上一种下推自动机的实现模型。

初始时,#和开始符(S)入栈,输入指针指向第一个符号,
然后根据下推栈栈顶符x和当前输入符a进行工作:
① x=a=#, 成功
② x=a不等于#, 匹配(一定是终结符,从栈顶和输入串中去除
x是非终结符VN, 查表(非终结符查表,才可以逐步推导替换为终结符)。并把产生式右部符号按逆序推进栈

构建预测分析表

1. FIRST集

FIRST(a)表示可能由a推导的开头终结符以及可能的空

对每个文法符号X:VT和VN,连续使用入下规则,直到每个FIRST(X)不再增大

假设X-〉X1X2…Xn

相关推荐

  1. 马克思主义原理期末复习大题

    2024-06-06 01:54:04       34 阅读
  2. 数据库原理与应用期末复习大纲

    2024-06-06 01:54:04       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 01:54:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 01:54:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 01:54:04       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 01:54:04       20 阅读

热门阅读

  1. Lisp解析器技术文档

    2024-06-06 01:54:04       7 阅读
  2. Django 默认 CSRF 保护机制

    2024-06-06 01:54:04       8 阅读
  3. C语言编译与链接

    2024-06-06 01:54:04       10 阅读
  4. 设计模式(简要,应付软考)

    2024-06-06 01:54:04       7 阅读
  5. 概率图模型在自然语言处理中的应用

    2024-06-06 01:54:04       6 阅读
  6. AWS与SAP扩大战略合作:通过AI增强ERP解决方案

    2024-06-06 01:54:04       9 阅读
  7. 6月01日,每日信息差

    2024-06-06 01:54:04       7 阅读
  8. Vue 过渡和动画

    2024-06-06 01:54:04       9 阅读
  9. qcc更换语音提示的方法

    2024-06-06 01:54:04       9 阅读
  10. Oracle 数据泵(Data Pump)的impdp解析

    2024-06-06 01:54:04       9 阅读
  11. 大数据Spark面试冲击题 直拿offer

    2024-06-06 01:54:04       8 阅读