2022-2023山东大学软件学院编译原理 乾宝回忆版
授课教师:高晓程
一、 简答题
1. 程序框图
2. 有穷自动机是什么?NFA和DFA的区别
3. 推导和规约的概念
4. 什么是语法制导定义(SDD)? L-SDD和S-SDD的区别
5. 简述划分基本块的算法
二、正规式变NFA,确定化,最小化
a
(
(
b
(
a
∣
b
)
∗
)
∣
ε
)
b
a
a\left(\left(b(a \mid b)^*\right) \mid \varepsilon\right) b a
a((b(a∣b)∗)∣ε)ba
三、给出以下文法
S
→
C
C
C
→
c
C
C
→
d
\begin{aligned} & S \rightarrow C C \\ & C \rightarrow c C\\ & C \rightarrow d \end{aligned}
S→CCC→cCC→d
1. 证明是LL(1)文法
2. 画出预测分析表
3. 给定符号串cdccccd,写出分析过程(分析栈)
四、给出以下文法
E
→
a
A
∣
b
B
A
→
c
A
∣
d
B
→
c
B
∣
d
\begin{aligned} & E \rightarrow a A \mid b B \\ & A \rightarrow c A \mid d \\ & B \rightarrow c B \mid d \end{aligned}
E→aA∣bBA→cA∣dB→cB∣d
1. 证明是LR(0)文法
2. 画出分析表
3. 给定符号串accd,写出分析过程
五、简述语法制导翻译的思想
六、列举至少四种代码优化的方法,并简述他们的基本思想