编译原理及应用期末复习

3型文法 = 右线性文法

短语、直接短语、句柄

在这里插入图片描述

、判断是否是二义性文法

1、证明是二义性文法:证明存在一个句子有两颗不同的语法树

① 画语法分析树

在这里插入图片描述

、NFA、DFA

K:所有状态,包含初始状态
Σ:终结字符集
M:状态转换表达式
S:开始符号
F:结束符号(可以有多个)
在这里插入图片描述

最小化

  • 如果给的是一张表,那就先化简,删去那些根本到不了的状态
  • 最小化的结果就是画出状态转换图
    在这里插入图片描述

消除左递归性

在这里插入图片描述

First 集

First 集:首符号集
就是找最左边可能出现的终结符

例子:
在这里插入图片描述

分三种情况
在这里插入图片描述

Follow集

先找到待求的大写字母(只从所有产生式的右部找),然后看他的右边,判断右边属于哪种情况
在这里插入图片描述

LR(0)文法

任意一个项目集中都不能出现以下两种情况:

  • 同时出现移进项(点后面是终结符)和归约项(点后面没有东西)
  • 同时存在两个及以上归约项
    否则他就是LR(0)文法

在这里插入图片描述

1、状态分析表

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

2、LR 分析表

ACTION表(移进项、接受项、归约项)

表头写出所有的终结符
移进项写S几,几是项的序号
接受项写acc
项集是归约项,写r几,几是产生式的序号

GOTO 表(只写待约项的)

表头写出所有的非终结符
待约项直接写数字
在这里插入图片描述

LR(0) 分析过程(SLR分析过程类似)

在这里插入图片描述
在这里插入图片描述
翻译:
对于每一行,都先去分析表中找 第 状态栈栈顶 行,符号栈栈顶 列,看他是啥:

  • 若是移进项,找到S几,脚标放状态栈
  • 若是归约项,找到对应序号的产生式:r几 写到 ACTION 列,出栈右部长度个元素,写出GOTO[状态栈的栈顶,左部],去分析表中寻找第 状态栈栈顶 行,第 左部 列的数字写到GOTO列,同时该数字作为新的状态栈栈顶;而左部作为新的符号栈栈顶

对于发生冲突的项,选择能够继续往下分析的项。(SLR分析)
在这里插入图片描述

SLR(1) 分析表

在 LR(0) 分析表的基础上,发生冲突时
对于移进项还按以前的写
对于每个归约项,求他左部的 Follow集,只在出现在 follow 集中的输入符号处写 r几
其他和LR(0)一样

在这里插入图片描述

SLR 分析的过程和SL一样

消除左递归

在这里插入图片描述

LL(1)

SELECT 集

每个产生式都有一个 SELECT 集
先看产生式的右部能否推导出 空串,如下图所示:
在这里插入图片描述

错题

选择

在这里插入图片描述

在这里插入图片描述
记法:语言由句子构成

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

a,b是有顺序的,a必须在b前面,G1的话,b可以在a前面。
要明白左右递归的含义:在S的左 / 右追加一个字符
在这里插入图片描述

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

判断

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

填空

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

大题

画分析树

本体关键:如何不重不漏
画圈法:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

递归文法

主要看答题模板:
最左或最右推导过程:
① 献给产生式标号

  • 最左推导:每次都选择最左边的非终结符进行替换
  • 最右推导:每次都选择最右边的非终结符进行替换
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

有限自动机

主要看答题模板:
在这里插入图片描述
在这里插入图片描述

语法制导

判断继承属性 和 综合属性

看后面大括号里面的每个式子,式子左边的部分在产生式的左部就是综合属性,在产生式的右部就是继承属性

注释分析树:

属的躯干其实就是语法分析树
还要加上每个结点的值以及箭头指向

例题:

注意:下面这个题的 n.val 也算综合属性
在这里插入图片描述
在这里插入图片描述

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

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

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

注意由非终结符直接推导出 空 的情况,这种算是归约项了在这里插入图片描述

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

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值