当前位置:文档之家› 编译原理期末复习

编译原理期末复习


E’->+TE’|ε
T ->FT’ T’->*FT’|ε F->(E)|i
其预测分析表为:
分析i+i+i*i是否为该文法的句子,写出分析过程
CH5 语法分析——自下而上分析
主要题型:所有题型 LR分析 实例:
CH5 语法分析——自下而上分析
文法G[M]及其LR分析表如下,请给出对串 dbba#的分析过程。 G[M]: 1) M →VbA 2) V →d
da;aoa# 移进 a;aoa# 移进 ;aoa# 用S →a 归约 ;aoa# 移进 aoa# 移进 oa # 用S →a 归约 oa # 用S →S;S 归约 oa # 移进 a# 移进 # 用S →a 归约 # 用S→dSoS 归约 36 # 接受
2
FIRSTVT 和LASTVT
(一)FIRSTVT
10
3.判断句子、画分析树、文法符号集、终结符
集、非终结符集
1) 设有文法:
S→aSbS|bSaS|c (1)判断符号串ababba是否为文法G(S)的句子, 如果是画出其分析树。 (2)给出G(S)的元语言符号集、文法符号集、 终结符集、非终结符集
11
练习:
设有文法G(S)为
S→ABx|xSx
f(V,0)=S
f(U,1)=V
f(V,1)=Q
f(Q,1)=V
画出其状态转换图
14
5. NFA转换为DFA (1) 给定非确定的有限自动机M如下图所示
将M确定化,并画出确定化后的状态转换图(要求
15
5. NFA转换为DFA 练习: 给定非确定的有限自动机M如下图所示
a
i 1 2 b 4 b a 3 a 5
状态栈 0 03 02 024 0246 02467 024678 0246 01
文法符号 剩余输 栈 入符号
# #d #V #Vb #VbA #VbAb #VbAba #VbA #M dbba# bba# bba# ba# ba# a# # # #
动作 移进 用V →d归约 移进 用A →ε归约 移进 移进 用A →Aba 归约 用M →VbA 归约 接受 33
CH4 语法分析——自下而上分析
4.LL(1)分析 例: 已知文法G(E)为: E->TE’
i E E’ T T’ F F→i T →FT’ E→TE’ E’→+T E’ T →FT’ T’→ε T’→*FT ’ F→(E) T’→ε T’→ε + * ( E→TE’ E’→ε E’→ε ) #
E’->+TE’|ε
A.
如图所示自动机M,请问下 列哪个字符串不是M所能识 别的( D )。 A. bbaa B. abba C. abab D. Aabb
9
3.判断句子、画分析树、文法符号集、终结符
集、非终结符集
1) 设有文法:
S→aSbS|bSaS|c (1)判断符号串ababba是否为文法G(S)的句子, 如果是画出其分析树。 (2)给出G(S)的元语言符号集、文法符号集、 终结符集、非终结符集
δ (0,a)=1
δ (1,a)=3
δ (0,b)=2
δ (1,b)=2
δ (2,a)=1
δ (3,a)=3
δ (2,b)=3
δ (3,b)=3
13
画出其状态转换图和状态转换矩阵
练习:设有确定的有限自动机
M:({S,U,V,Q},{0,1},f,S,{Q})
f(S,0)=U f(S,b)=Q
f(U,0)=Q
47
48
49
50
语句(1)—语句(5)、(6)—(10)、语句(11)—
|T T→T*F | F F→P↑F | P P→(E) | i (1)计算该文法的FIRSTVT和LASTVT
(2)计算该文法的有限关系并产生优先关系表
39
(1)
FIRSTVT(E)={+,
*, ↑, i, ( } FIRSTVT(T)={ *, ↑, i, ( } FIRSTVT(F)={ ↑, i, ( } FIRSTVT(P)={ i, ( } LASTVT(E)={+, *, ↑, i, ) } LASTVT(T)={ *, ↑, i, ) } LASTVT(F)={ *, i, ) } LASTVT(P)={ i, ) }
例 练习
19
CH3 词法分析
主要题型: 填空、选择、判断
CH4 语法分析——自下而上分析
1判断文法是否是LL(1)文法
任何LL(1)文法是无二义性的 LL(1)文法不含左递归
下列文法中 A. C.
是LL(1)文法…………( B. S→xy|xSy

S→Sx
4) A →a 5) A →Aba 6) A →ε
name 0 1 2 3 4 5 6 7 8
b r3 S4 r2 r6 r4 S7
ACTION d a S3

M 1
GOTO A
V 2
acc
S5
r6 r4 r1
6
S8
r5
r5
32
对串dbba#的分析过程如下表
步 骤
1 2 3 4 5 6 7 8 9
(4)设字符串ω =good,则ω 3=
CH2. 形式语言与自动机理论
(5)设有A,B两个符号串集合,其中A={a,abc},
B={xx,yy},则AB=( A )
A. B. C. D.
{axx,ayy,abcxx,abcyy} {axxyy,abcxxyy,abcyy,abcabc,xxxx,yyyy} {aabc,axx,} R1和R2代表不同正则集 则A 3= 。
40
1 + * ↑ i ( ) #
2
+
*

i
(
)
#
41
练习:
(1)计算该文法的FIRSTVT和LASTVT (2)计算该文法的有限关系并产生优先关系表
42
CH6 语义分析和中间代码生成
主要题型:所有题型
中间代码表示
写出表达式a:=b*c+b*d-e 的后缀表示、三元序
列、四元序列。
练习: 写出表达式A+B*(C-D)**N的后缀表示、三元序 列、四元序列。
CH4 语法分析——自下而上分析 练习:
下列文法中
是LL(1)文法…………( B. S→aS|b D. S→aS|a

A. S→aSb|ab C. S→ab|Sab
CH4 语法分析——自下而上分析 2.First、Follow集 例:
E->E+T|T
T->TF|F
F->F*|a|b
求非终结符的FIRST集和FOLLOW集
课程复习
题型: 填空 20分,10个空
选择 20分,10小题 判断 10分,10小题
简答题 20分,4小题
分析题 30分,3小题
2
编译原理复习纲要
第1章 编译引论 2-4
第2章 形式语言与自动机理论
第3章 词法分析 第4章 语法分析——自上而下分析 第5章 语法分析——自下而上分析 第6章 语义分析和中间代码生成
CH4 语法分析——自下而上分析
练习:
文法G[S]为: S→AB|bC A→b|aA B→ aD |bD C→AD|b D→aS|c 求非终结符的FIRST集和FOLLOW集
CH4 语法分析——自下而上分析
3. 消除直接左递归 例 消除下列文法的直接左递归 E->E+T T->T*F|F F->(E)|id|F(id) 答案: E->E’ E’->+TE’|ε T->FT’ T’->*FT’|ε F->(E)F’|idF’ F’->(id)F’|ε
子串(C
A.

B. abc C. xyab D. zab
xyz
CH2. 形式语言与自动机理论
(2)设字母表A={ab,x,y},字母表A上的符号串
ω =abxyabxy,则|ω |=

。 。 。
(3)设有字母表A={a,b,c,d,e},字母表A上的
符号串ω 1=add, ω 2=code,则ω 1ω 2=
T ->FT’ T’->*FT’|ε F->(E)|i
其预测分析表为:
分析i*i+i*i是否为该文法的句子,写出分析过程
27
步骤 1 2 3
分析栈 #E
余留输入串 所用产生式 i*i+i*i#
4
5
6
7 8 9
练习:
4.LL(1)分析 例: 已知文法G(E)为: E->TE’
i E E’ T T’ F F→i T →FT’ E→TE’ E’→+T E’ T →FT’ T’→ε T’→*FT ’ F→(E) T’→ε T’→ε + * ( E→TE’ E’→ε E’→ε ) #
A→xy|yAy|mn
B→xyA|m
(1)判断符号串ymnyxyxy是否为文法G(S)的
句子,如果是画出其分析树。
(2)给出G(S)的元语言符号集、文法符号集、
终结符集、非终结符集
12
5.有限自动机的表示
状态函数 、状态图、状态矩阵
例:
设有确定的有限自动机
M:({0,1,2,3},{a,b},δ ,0,{3})
练习:文法G[S]及其LR分析表如下,请
给出对输入串da;aoa#的分析过程。
G[S]:
0) S′→S
1) S→dSoS 2) S →dS 3) S →S;S 4) S →a
相关主题