编译原理复习汇总

期末考试结束了,把之前的作业和复习笔记整理到博客上。
后面会持续更新,因为博主在备战考研,更新速度会有些慢。

第 1 章 引论

第 2 章 文法和语言

2.1 句型分析和语法树

令文法G[E]为:E->T | E+T | E-T T->F | T*F F->(E)|i
证明 E+T*F 是它的一个句型,给出该句型的所有短语、直接短语和句柄。

(1) ∵ \because E=>T=>E+T=>E+T*F
即 E ⇒ ∗ \stackrel{*}{\Rightarrow} E+T*F
∴ \therefore E+T*F 是文法G[E]的一个句型


(2) 由(1)中的推导可以构造句型 E+T*F 的语法树如下:

由语法树可知
该句型的短语为 E+T*F、T*F
直接短语为 T*F
句柄为 T*F

2.2 文法设计

请构造一文法,使文法产生的语言是正偶数集合,并规定偶数非0开头。
G = { { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } , { S , A , B , B ′ , C , D } , S , P } P = { S → A B C ∣ D A → 1 ∣ 2 ∣ 3 ∣ 4 ∣ 5 ∣ 6 ∣ 7 ∣ 8 ∣ 9 B → B ′ B ∣ ε B ′ → 0 ∣ 1 ∣ 2 ∣ 3 ∣ 4 ∣ 5 ∣ 6 ∣ 7 ∣ 8 ∣ 9 C → 0 ∣ 2 ∣ 4 ∣ 6 ∣ 8 D → 2 ∣ 4 ∣ 6 ∣ 8 } \begin{aligned} &\mathrm{G}=\left\{\{0,1,2,3,4,5,6,7,8,9\},\left\{\mathrm{S}, \mathrm{A}, \mathrm{B}, \mathrm{B}^{\prime}, \mathrm{C}, \mathrm{D}\right\}, \mathrm{S}, \mathrm{P}\right\} \\ &\mathrm{P}=\{\mathrm{S} \rightarrow \mathrm{ABC}|\mathrm{D} \\ &\hspace{2.3em} \mathrm{A} \rightarrow 1|2|3|4|5|6|7|8|9 \\ &\hspace{2.3em} \mathrm{B} \rightarrow \mathrm{B}^{\prime} \mathrm{B}| \varepsilon \\ &\hspace{2.3em} \mathrm{B}^{\prime} \rightarrow 0|1|2|3|4|5|6|7|8|9 \\ &\hspace{2.3em} \mathrm{C} \rightarrow 0|2| 4|6| 8 \\ &\hspace{2.3em} \mathrm{D} \rightarrow 2|4|6|8\} \end{aligned} G={{0,1,2,3,4,5,6,7,8,9},{S,A,B,B,C,D},S,P}P={SABCDA123456789BBBεB0123456789C02468D2468}

第 3 章 词法分析

设字母表 ∑ = {0, 1},给出 ∑ 上的正规式 r = (0|10)*

3.1 正规式 → \rightarrow NFA

构造 NFA N,使得L(N) = L(r)
NFA N 的构造过程如下:

(*) 即为所求的 NFA N

3.2 NFA → \rightarrow DFA

第 4 章 自顶向下语法分析方法

第 6 章 LR分析

第 7 章 语法制导的语义计算

第 8 章 静态语义分析和中间代码生成

第 9 章 运行时存储组织

第 10 章 代码优化和目标代码生成

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值