Compilers: - PowerPoint PPT Presentation

1 / 247
About This Presentation
Title:

Compilers:

Description:

Title: Author: Your User Name Last modified by: amir Created Date: 10/17/2006 5:33:54 PM Document presentation format – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 248
Provided by: worldbook
Category:
Tags: compilers | yacc

less

Transcript and Presenter's Notes

Title: Compilers:


1
???? ????? ????????
??????? ???? ???
  • ???? ????? ??? ?????
  • ???? ????????

2
???????? ????
  • ????? ???? ??????????
  • ????? ??????
  • ???????? ?????? (??????)
  • ???? ????
  • Compilers
  • Principles, Techniques, and Tools

3
?????? ??? ?? ???? ????????
  • ????? ??? ???
  • ????? ???? ?? ??????? ??? ????
  • ????? ????? ?????? ??? ????? ??? ?? ???? ??? ????
    ?? ?????? ?? ???? ?????
  • ???? ??????? ?????? ????? ??? ????
  • ???? ??? ???? ????? ?????? ? ?????? ????? ?
    ????? ???? ??????
  • ??? ??? ??????
  • ??????? ????? ?????30
  • ????? ????? ?????10

4
??? ??? ????? ?? ?? ????????
  • ????? ??????
  • ?????? ?? ?? ?????? ??? ??? ?? ?????? ??? ????
    ????? ??
  • ?????? ??? ????? ?????
  • ?????? ?? ??? ????? ? ??? ???? ????????
  • ???????? ???? ????????

5
1-1 ????? ?? ?? ?????? ??? ????? ?????
  • ??????????? ??????
  • ???????? pretty printer
  • ????? ????? ??? ?????
  • ??????
  • ??? ????? ??? ???
  • ??????????? ?????????
  • ??????? ??? ? ??

6
1-2 ????? ????????
1- ????? ?????? ?? ???? ???? ?? ?????? ????? ??
???? ????? ????? ??????
2- ????? ???? ????? ?? ?? ?????? ???? ?? ?????.
???????? ????? ????
?????? ????
?????? ????
????? ???
7
1-3 ???? ???? ??????????
???? ???? ?????????? ?? ???? ?????? ???? ? ??????
  • ?? ????
  • ??? ????
  • ????? ??? ? Load-and-go
  • ????? ???

8
1-4 ?????? ????????
????? ?????? ???? ?? ????? ????? ????? ??
??? ?????
????? ?? ????? ?? ?????? ????
????? ?? ????? ?? ?????? ???? ?? ???? ????
??? ????
???? ?? ??????? ?????? ???
9
1-5 ????? ?????? ????
  • ????? ?????
  • ??? ????????
  • ????????
  • ??????
  • ???????? ? ???????? ?????

10
1-5-1??? ????????
  • ??? ???? ???????? ?????? ???? ????? ?? ???????
    ???????
  • ????? ?????? ????? ??? ???? ???? ??????? ??
    ?????
  • ???? ????

11
1-5-2 ???????? ?? ????? ?????? ????
????? ?????? ????
??? ????????
?????? ????
????????
?????? ?????? ????
??????
?? ????? ?????????
???????? ???? ??? ???? ?????????
???????? / ???????? ?????
?? ?????
12
1-6 ?? ??? ????? ?? ??? ???????
????? ????? ?? ????? ???(????? ???? ?? ????)
???? ???? ????? ??? ?????? ???? ?? ????? ?????? ????? ????? ??????(????? ???? ?? ?????)
????? ?????? ?????? ?????? ????? ??????
13
1-7 ????? ???????
1- ????? ???? 2- ????? ???? 3- ????? ??????
???????( ???? ?????? ?????? ?????? ?? ???? ????)
4- ????? ?? ????? 5- ????? ???? ?? 6- ????? ??
?????
??? ????( ???? ?????? ????? ?????? ?? ???? ????)
14
1-7-1 ?????? ????? ???????
????? ?? ????
????? ?? ????
????? ?? ??????
???? ???? ????
????? ????? ???
????? ????? ?? ?????
????? ??? ??
?????????? ?? ?????
15
1-7-2 ????? ????????- ????? ?? ????
???? ??? ?????? ?? ???? ??? ?? ???
????? ???? ?? ????? ?? ( ????? ?????? ??????
????????? ????? ? ?????)
16
1-7-2 ????? ???????- ????? ?? ????
????? ????? ????? ????
???? ???? ????? ?? ????? ??
17
1-7-2 ????? ??????? - ????? ?? ??????
????? ?????? ???? ???? ????? ?????? ??????
??? ???? ??????? ????? ?? ??? ???? ??
18
1-7-2 ????? ??????? - ????? ?? ?????
?????? ?????? ?????
????? ?? ?????? ?? ?? ???? ????? ????? ??????
19
1-7-2 ????? ??????? - ????? ??? ??
????? ???? ?? ????? ( ??? ???????? ????? ???
?????)
???? ?????? ?? ????? ?? ?????
20
1-7-2 ????? ??????? - ????? ????? ?? ?????
????? ?? ????? ????? ?? ?? ????????? ?? ??????
????? ??????? ????? ???? ???????? ??????
?????? ??????? ?? ???? ??? ?????
21
1-7-2 ????? ??????? - ?????? ???? ????
  • ?????

??????? ???? ?? ???? ????? ???? ????? ?
????????? ???? ???? ??
???
????? ???? ??????? ???? ????? ????? ?????? ?????
? ??????? ???? ????
22
???? ?? ????? ??????? ????? Area Pos Rate
50
????? ?? ????
Area Pos Rate 50
id1 id2 id3 50
????? ?? ????
tem1into real 50 tem2id3 tem1 tem3 id2
tem2 Id1 tem3


????? ?? ?????


????? ??????
id1
id1
????? ???

id2

id2
Into real
tem1 id3 50.0 Id1 id2 tem1
id3
id3
50
????? ?? ?????
50
Mov id, R2 Mul 50.0 , R2 Mov R1, id1
Mov id2 , R1
Add R2, R1
23
1-8 ???????? ???? ????????
  • ??????? ????? ?????
  • ????? ????? ??? ??????
  • ???????? ????? ??????
  • ??????? ?? ??????
  • ???????? ????? ????

24
??? ???
??? ???? ? ?????
  • ????? ??????
  • ?????? ?? ?? ?????? ??? ??? ?? ?????? ??? ????
    ????? ??
  • ?????
  • ?????? ? ?????
  • ????? ??????
  • ???? ????
  • ????? ???? ?? ????? ? ????? ?? ????
  • ?????

25
2-1 ?????
?????
????? ??? ???? ???? ???? ????? ?? ??????
??????
????? ????? ????? ?? ???? ?? ????
???? ????? ?????? ?? ????
26
2-2 ????? ????? ?????
  • ????? 4 ???? N, T, S, P G
  • N ?????? ??? ?????? ??
  • T ?????? ?????? ??
  • S ??? ????
  • P ?????? ?????? ????? ???? ??? ????

27
???? ?? ?? ?????
  • N E, F
  • T , , / ,id
  • S E
  • P E ? F id , F ? F / E , F ? F F

???? ?????? ?????
id id id
28
2-3 ??????
  • ?????? ????? ???? ?? ????? ?? ???? ?? ????
    ??????
  • ????? ? ??????? ?? ??????.

?? ?? ?? ?? ??? ????? ???????? ??? ??? ?? ????
?????????
????? ??????
?? ???? ?? ?? ??? ????? ???????? ??? ??? ????
???? ?????????
29
???? ?? ??????
id id id
????? ????
?????? ????
E ? E E ? E E E ? E E id ? E id
id ? id id id
?????? ??
E ? E E ? id E ? id E E ? id id E
? id id id
30
2-3-1 ???? ?????
???? ????? ???? ????? ?????? ?????? ???? ?? ??
???? ?? ???? ???? ?????
???? ???? ?????
- S ???? ????
??????? ?? XYZ ??? ?? ?? ???? ? A A ? XYZ ?????
??????? ?? X ,a ??? ?? ?? ???? ? A A ? Xa ?????
?????? ?? ( ???? ????) ???? ?? ????? ???? ?? ????.
31
2-3-2 ???? ??????
???? ????? ?? ???? ????? ????? ?????? ???? ????
(???? ?? ??)
E
????
E
E

id id id
E
id
E

id
id
32
2-4 ????? ????
???? ?? ?????? ???? ?? ?? ?????? ?? ??? ?? ????
?? ?????
????
id id id
?????? ?? ???
E ? E E ? id E ? id E E ? id id E ?
id id id
?????? ?? ???
E ? E E ? id E ? id E E ? id id id
33
2-5 ???? ????? ??????
???? ????? ?? ????? ????? E
1- ??? E ????? ? ?? ???? ???? ???? ????? ?? ????
?? ???.
2- ??? E ?????? ???? E1 op E2 ???? ?? Op ?????
?????? ??? ???? ????? ?? ??????? ?? F1 F2 Op ??
F1, F2 ???? ????? E1 , E2 ?????.
3- ??? E ?????? ???? (E1)????? ???? ????? ????
E1 ???? ???? ????? ???? E ?? ????.

9-(52)
952 -
34
2-6 ????? ??? ???
  • ?????? ???? ????? ????????? ????.
  • ????? ?????? ?? ?? ??? ???? ????? ?? ????? ???
    ????
  • ????? ??? ??????? ???? ????? ????? ????? ??? ??
    ?????? ??? ?? ????? ??????? ???? ????????

35
2-6-1 ????? ???? ??? ???
????? ? ?????? ?? ?? ????? ?????? ?????? ?? ??
  • ?? ???? ?? ????? ?????? ?? ?? ???? ????.
  • ?? ?? ???? ?? ????? ????? ?????? ?? ?? ?????
  • ?????? ???? ?????? ?????? ???? ?????? ????
    ????.

???? ? ?????? ????
36
2-7 ?????
????? ???? ?????
???( ????? ???? ????? ???? ?????
?) ??? ??? n ?? ???? ????? ?? ???? x ?? ?????
?????? ????? x.a ????? ??? a ?? ???? x ?? ?? ???
???.
?) ?????x.a ?? ??? n ?? ??????? ?? ????? ??????
???? ??? a ????? ?? ????? ?????? ??????? ???
????? n ?????? ?? ???.
37
???? ?? ?????
?????
????? ??????
expr expr1 term
expr.t expr1.t // term.t // ,,
expr expr1 - term
expr.t expr1.t // term.t // , - ,
expr term
expr.t term.t
term 0
term.t , 0,
term 1
term.t , 1,
..
..
term 9
term.t , 9,
????? ?????? ???? ????? ?????? ???????? ?? ?????
????? ??????
38
2- 7-1???? ????
expr.t 95-2
expr.t 95-
term.t 2
expr.t 9
term.t 5
term.t 9
-
9
5

2
39
2-7-2 ????? ???? ????
???? ??? ????
?? ??? ??????? ?? ????? ? ??????? ?? ?????? ??
???? ??? ?????
???? ????? ?? ?? ??????? ??? ????? ????? ?? ????.
40
2-8 ????? ?????
????? ????? ?? ???? ?? ???? ?????? ???? ??
?????? ?????? ?????? ?? ???? ?? ??? ???? ??????
?? ????? ??? ???.
????? ?? ????? ??????
????? ????? ???????? ?????? ???? ????.
41
2-8-1 ???? ????? ??? ???? ????? ?????
expr
????? ???? ????
expr1

term
print ( ,, )
?? ??? ????? ????? ??? ???? ??? ????
1- ????? ????? ????? ???? ???? 2- ???? ????? ???
????? ?? ??? ????? ?? ????? ??? ?? ?????
42
2-9 ????? ( ???????)
????? ?? ??? ??????? ???? ? ?? ??? ????? ????
????? ?? ????. ?? ????? ???? ???? ????? ??
???? ???? ????? ?? ???. ????? ??? ?????? ? ???
??????? ???? ???? ????? ?? ????.
43
2-9-1 ?????- ???? ???? ?????
??? ???? ?? ????? ????? ??? ???? ????? ?? ????
?? ?????. ????? LL(1)
??? ????? ?? ???? ????? ??? ???? ????? ??
????? ????? ????? ?? ???? ?????0 ?????? ? LR
44
2-9-1-1 ????? ????? ???? ?? ?????
???? ????? ?? ???? ???? ?????
???????? ????? ?? ??? ??????
????? ?????? ?????
???
???
??? ?? ????? ??? ???
?????? ?? ????? ?? ??? ????
45
???? ?? ????? ???? ?? ?????
S ? bBe B ? cf/ ce/c
?????
Back tracking
Back tracking
S
S
S
S
b
e
B
B
b
e
B
b
e
e
b
b
B
e
c
c
c
f
46
2-9-1-2 ????? ???? ?? ????? ??? ??????
??? ????? ???? ?? ????? ???? ????? ??????
?? ???? ?? ???? ??? ??? ?? ???? ??????? ?? ??
????? ??????? ????
???? ??? ???
?????? ???? ?????? ???? ??? ?? ?? ?????? ????? ??
??? ?????? ?? ??? ?? ???? ?? ?????
47
????
??????? ??? ??? ?? ??????
First
A ? aB /cC / e B ? dA / c C ? cB / a
First (A) a, c, e
First (B) d, c
First (C) c, a
48
2-10 ??????? ??
???? ??? ??? ?????? ??? ?? ?? ??? ???? ?????
?????? ????? ????
??? ??????? ?? ??? ?? ?????
A ? xZ / yZ Z ? aZ / bZ / cZ
A ? Aa / Ab / Ac / x / y
49
????
  • ??? ??????? ??

S ? Aa / b A ? Ac / Sd
A ? Ac / Aad / bd S ? Aa / b
S ? Aa / b A ? bdZ Z ? cZ / adZ
50
2-11 ?????? ??
????? ???? ???? ??? ?? ?? ????? ?? ????? ?????
?????????? ??
?????????? ?? a
A ? aZ Z ? B / C
A ? aB / aC
51
????
?????????? ??
S ? iEtSZ /a Z ? eS E ? b
S ? iEtS S ? iEtSeS / a E ? b
S ?iEtS / iEtSes S ?a E ? b
52
2-12 ????? ????
- ?????? ?? ???? ???????? ?? ????? - ???????
????? ?? ?? ?? - ????? ????? ?? ?? ????? ????? -
?????? ???? ??????? ???? ????? ??? ???????? ??
?????? ????
- ??? ?????? ???? ??? ?????? ? ??????? ?????? -
????? ????? ?? ? ????? ????? ????
53
????
????? ???? ????? ??????
Count count increment
Count count increment
????? ?? ????
????? ?????
id id id
id id id
54
2-12-1 ???? ??????? ????
???? ????? ?? ???? ????? ?????? ???????
?????
???????
?????? ???????
????? ?? ????
????????? ???????
????? ? ????? ????? ? ???? ??
????? ?? ???? ( ????? ?????)
???????
1- ?? ?? ???? ???? ?? ???? ?? ????????? 2- ?????
??? ?? ???? ????? ???? ?????? ????
55
2-13 ????? ???? ????
????? ????? ????? ????. ?????? ?????? ????
??????? ?????? ????? ??
??? ????? ????
????? ???? ???????? ????? ????? ????? ?? ????.
??? ????? ????
????? ???? ??? ?????? ???? ???????(????? ?????
?..)
??? ???? ????? ?? ????? ?? ????
??? ????? ??????
??? ????? ??
??????? ?? ??????? ???? ???? ?????? ?? ????? ?
????? ??
56
2-13-1 ???? ????- ??????
Insert ( s , t)
Lookup ( s )
????? ????? ???? ????? ?? ???? s ????? t ?? ?? ??
??????.
??? s ?? ???? ???? ????? ?? ?? ?? ???? ??? ???
??? ?? ?? ????
??? Lookup ????? ???? ????? ?? ???? ???? ???
Insert ?? ???? ??? ???? ????? ? ??? ?? ??
????
57
2-13-2 ???? ????- ????? ????
????? ?????? ?? ??? ??????
mod
????? ??
?????
????
token
attributes
ptr
div
div
mod
id
d i v m o d a
?????? ?????????? ?????
58
2-14 ????? ???? ???????
????? ???? ??????? ??? ????? ????? ????? ????? ??
????? ?????
1- ????? ??????? 2- ????? ???? ??
??????? ?????
1- ??????? ???? 2- ??????? ??????? ???? 3- ????
?????
59
2-14-1 ??????? ????????
  • ?????? ????? ???? ?????? ?????? ???? ????? ??? ?
    ????? ? ... ?? ????? ???????
  • ????? ????. ?????? ?????? ?? ?? ?????? ?? ??
    ??????? ????? ?????
  • ??????? ?? ????? ?????? ?? ?? ????? ???? ???????
    ?? ????? ???????
  • ??????? ?? ???? ?? ??? ??????? ??????

???????? ????? ?? ?????
????? ????? ?? ??? ????? ????
????? ?????? ???????? ?? ????
???? ???? ????? ?? ??? ????
60
???? ??????? ????? ???????? ?? ????
13 5 ????? ????????
1- ??? 1 ?? ??? ???? ???? ??
2- ??? 2 ?? ??? ???? ???? ??
3- ???? ?? ???????? ????? ???? ?? ?? ?? ??? ? ??
?? ?? ?? ???? ????? ??
4- ????? ???? ??? 4 ?? ??? ???? ???? ??
5- ??? 5 ?? ??? ???? ???? ??
6- ???? ???????? ????? ???? ?? ?? ?? ??? ? ????
?? ????? ??
7- ????? ???? ??? 20 ?? ??? ???? ???? ??
61
2-14-2 ??????? ????
  • S ?? ??? ???? ???? ??

Push s
rvalue l
  • ??????? ???? L ?? ??? ???? ???? ??

lvalue l
  • ???? L ?? ??? ???? ???? ??
  • ????? ?? ????? ???? ?? ??? ????

pop
  • r-value ???? ???? ?? l-value ??? ?? ?????? ? ??
    ?? ?? ???? ????

  • ?? ???? ?? ????? ????? ???? ?? ?? ??? ???? ????
    ???

copy
62
???? ?????? ?? ???? ????? ??????
day (1461y) div 4 (153m 2 ) div 5 d
?????
lvalue day push 1461 rvalue y push 4
push 2 push 5 div rvalue d
div push 153 rvalue m
63
2-14-3 ????? ????? ?? ?????
????? ???? ???
1- ????? ??? ??? ?? ?????? ????? 2- ????? ?????
???? ???? ??? ???? ?? ???? ?? ?????? ????? 3-
????? ??? ??? ?? ???? ??? ?????
????? ??????? ?????? ?? ????? ????
64
2-14-3-1 ????? ????? - ???????
lable l
L ??? ????? ?? ???? ??? ?? ??
goto l L
????? ????? ???? ?? ???? ?? ?????
gofalse l ???? ????? ????? ????? ????? ??? ??
???? ??? ????
gotrue l ???? ????? ????? ????? ???? ? ??? ??
???? ??? ?????
halt ???? ????

65
??? ??? ??????? ????
  • ????? ??????
  • ?????? ?? ?? ?????? ??? ??? ?? ?????? ??? ????
    ????? ??
  • ?????? ?? ??????? ????
  • ?????? ? ????? ???????
  • ??????? ???? Lex
  • ????? ?????? ???? ? ??? ???? ? ????? ???? ??
    ?????

66
3-1 ????? ????? ?? ????
1- ?????? ??????? ?????
2- ????? ?????? ?? ?? ????? ??
3- ??? ????? ?? ?? ???? ??????
4- ??? ??????? ??????? ??? ???? ? ??????? ?????
?? ??? ????
5- ?????? ???? ??????? ???? ????? ??? ????????
?? ?????? ????
67
3-2 ?????? ?? ????? ?????
?????
????? ?? ????
????? ?? ???? (????? ?????)
?????? ????
????? ???? ?? ???
???? ????
?????? ????? ?? ???? ?? ????? ?????
68
3-2-1 ????? ????? ?????? ????? ???? ? ?????
1- ???? ?? ???? ????? ?? ???
2- ?????? ?????? ???????? ?? ???? ??????? ??
??????? ??? ?? ???
3- ?????? ??? ???????? ? ????? ??? ??????? ??
??????? ????
69
3-3 ???? ????? ????? ????
????? ????? ??? ???? ?? ??????? ????? ?? ?????
????? ?? ?? ???? ???? ?? ??????? ?? ?????
Panic Mode 1- 2- ??? ??????? ????? 3- ??? ???????
?? ??? ?????? 4- ???????? ?? ??????? ???? ???????
??? 5- ????? ????? ?? ??????? ????? ??
?????? ???? ???
70
3-3-1 ???? ???- Panic mode
  • ???? ???? ???? ???? ???
  • ??? ?????????? ?????? ?? ????????? ????? ?? ????
    ??? ?????
  • ???? ???? ???? ????? ?? ????
  • ???? ???? ???? ?? ????? ???????? ?????? ??

71
3-4 ??????? ???? ????? ????
  • ?????? ????? ????

Lex??????? ?? ????? ????? ??????? ???? ?????
????????
????? ??????? ???? ?? ??????? ?????? ??????
????? I/O ????? ? ?????? ???? ????? ?? ???????
????? ??????? ???? ?? ?????? ? ?????? ????
?????? ???? ?????
72
3-5 ?????? ?? ?????
????? ?????
1- ????? ??????? ? ???? ? (?????? ???? ????
???) ?? ???? ?? ?????. 2- a ????? ??????? ??
??? ?? ???? a (????? ?? S) ?? ?? ????. 3- ??? a ?
b ?????? ??????? ?????? ??????? ????? ? Kelin
Star ???? ?? ??????? ???.
73
???? ?????? ???????
??? ?a,b ???? ?????
1- ?? ????? ??????? aUb ?????? a , b ????? ??
???.
2- ?? ????? ??????? (aUb) (aUb) ?????? aa,
ab,ba,bb ????? ?? ???.
3- ????? ??????? a ???? ???? ???? ?? ??? ?? ???
a ?? ????? ?? ???.
4- ????? ??????? (aUb) ???? ???? ?? ??? ?? ???
???? ?? b ?? a ?? ????? ?? ???.
74
3-5-1 ?????? ??????? ???? ????
???
?????
/ ????? ???? ???.
a U b b U a
/ ???? ???? ???

a U ( b U c)(a U b U c
????? ???? ???? ???.
(a b) c a (b c)
????? ???? ?? / ????? ???? ???
a (b U c) a b U a c ( b U c) a b a U c a
a (a U ? )
a a
75
???? ?????? ?? ????? ?? ???? ??????
????? ??????? ????? ?? ????? ??
Letter ? A \ B \ \ Z\ a \b\ \ z Digit ? 0 \
1 \ \ 9 Id ? letter ( letter / digit )
????? ??????? ????? ?? ?????
Digit ? 0 \ 1\ \ 9 Digits ? digit digit
Optional_fraction ? . Digits \
? Optional_exponent ? ( E( \ -\ )digits) \ ?
Num ? digits optional_fraction_exponent
76
3-6 ?????? ??? ?? ?????
1- ????????? ?????? ?? ? ???? ??
2- ???? ??? ??????
3- ???? ???? ???? ?????? ?? ???
77
3-7 ????? ?? ?????
??? ?????? ????? ???????
A ? a A ? ? A ? aB
a ????? ?? ????? ? ?????? B ? A ??? ??????
78
???? ??? ????? ?? ?????
?G S ? abSA A ? Aa
???
?
G S ? aSb/ab
G S ? bS/cS/aB B ? aB/cS /bC C ? aB / bS
?
79
3-8 ?????????? ??????? ???? Lex -
??? ????? ??????? ???? Lex
1- ????? ??? ?????? ?? ???? ????? ??????? ???? Lex
Lex.yy.c
????? Lex.1
???????? Yacc
2- ????? ?????? ?????? ?? ?????? ?? ???? C
a.out
Lex.yy.c
???????? C
3- ??????? ?????? ?????? ????? ???????? ??????
????? ????
????? ?????? ????? ??
?????
a.out
4- ????? ?????? ???????
80
3-8-1 - Lex????? ??????
????? ??
??? ??? ?????? ???? Lex
????? ?????
???? ??? ????c
????? ??

????? ?? ??? ?????? ???? Lex
????? ?????

???? ??? ????c
81
3-8 ?????????? ??????? ????
????? ???????
??? ????? ??????
????? ????? ????
?????? ??????? (????? ?????? ??????? ???? ???????
?? ????? ?????)
82
3-8-1 - Lex????? ??????
??? ?????? ????? ???????? ?? ??
P1 ??? ?????? 1
????? ???????
??? ?????
P2 ??? ?????? 2
??? ?????? 3
. . .
C ???? ??? ????
???? ??????? ??????? ?????
83
3-9 ????? ?????? ??????
?????? ???? ????? ????????? ????? ???? ?? ??????
????? ?? ????? ?? ? ??????? ?? ???????? ??????
?????????? ?????
1- ????? ?????? ?????? ???? DFA
????? ????? ??? ??????
2- ????? ?????? ?????? ??? ???? NFA
84
3-9-1 ????? ?????? ????
?? ??? ????? ??? ????? ?? 5????
?????? ????
???? ???
M (Q , ? , ? , q0, F)
????????? ?? ?? Q ?? ??? ????? ?????
?????? ?????? ?? ????? ?????
???? ??????? ?? ???? ?????
85
3-9-2 ????? ?????? ??? ????
DFA ?? ?? ?? ???? ?? ?? ???? ?? ????? ?????
????? ?? ????? ?????? ????.
q4
a
a
a
q3
q7
q4
q3
a
q1
DFA
NFA
86
???? ??DFA
????? ?? ????? ????
b
a
S ? aS / aA A ? bA / b
a
b
S
A
Z
??????
??????
???? ?????? ???
S ? aS ? aaA ? aabA ? aabb
a aa aab aabb
S , aabb ? S , abb A,bb A , b
Z,
??????? ???? ?????
87
???? ??NFA
????
( a U b) abb
a
b
b
????
1
0
2
3
b
88
3-9-3 ????? NFA ?? DFA
????? ?????? ?????? ?? ?- closure (qi) ?? ????
???????

1- ???? qi ? ? -closure (qi)
2- ????? ?????? ??? qj ?? ???? ??
closure(qj)- ? ???? ? ??? qk? (gj , ? ) ????? qk
? ? -closure (qj) ???.
3- ??????? qj ?? ? -closure (qi) ??? ??? ??????
?? ????? ?????? ?? ????? ?????? ???? ???.
89
???? ??????? ??????
a
b
a
q0
q1
a
a
c
b
q2
????
c
q1 , q2, q0
-
-
q0
-
q1
-
q1
-
q1 , q2
q1
q2
90
???? ????? NFA ?? DFA
NFA
a
b
q1 , q2, q0
a
q0
a
b , c
q0
q1
e
a
q2
c
a
a
q0
q1 , q2, q0
c
c
b , c
b
q1 , q2
DFA
e
a , c
a , b, c
b
q1
?????
b
a
91
3-9-4 ???? NFA ?? ?????? ?? ?????
????? ??? ??????
????? M1
1
1
q0
2
2
????? M2
L (M2) U L (M1)
92
???? ?????? ?? ????? ?? ?????
?????? ?? ????? a ? (aUb ) b
a
q0
1
b
q0
2
a
1
1
q0
b
2
2
93
3-9-4 ???? NFA ?? ?????? ?? ?????
????? ??? ?????
????? M1
????? M2
q0
2
1
????? L ( m1 ) , L ( M2) ?? L(M1) L (M2)
94
???? ????? ?? ????? ?? ?????
ab ?? a , b ????? ?? ?????
a
b
q0
q0
b
a
q0
2
95
3-9-4 ???? NFA ?? ?????? ?? ?????
????? ???- kelin star
????? M1
1
q0

1
L (M1) kelin star ?? L (M1)
96
???? ???? ????? ?? ????? ???????
a ?? a ???? ????? ?????
a
1
q0

1
a
97
???? ????? NFA ?? ?????? ???????
(a U b)ab ????
a
q0
b
q0
????? 1
b
a
q0
2
1
ab
98
???? ????? NFA ?? ?????? ???????
a
????? 2
(a U b)
q0
b
????? 3
a
(a U b)
q0
b
99
???? ????? NFA ?? ?????? ???????
????? 4
(a / b)ab
a
b
????
a

b
????? ?????
100
???? ?? ???? ???? ????? ?? ????
  • ????? ????? ?????? IF ?? ??? ????? ????

??? ?? ??? Letter
any
letter
F
I
(
)
????
2
1
3
5
6
4
0
????? ?????
101
??? ????? ????? ????
  • ????? ??????
  • ?????? ?? ?? ?????? ??? ??? ?? ?????? ??? ????
    ????? ??
  • ????? ?? ???? ? ?????? ????
  • ????? ? ????? ????? ?? ???
  • ????? ???? ?? ????? ? ????? ?? ????
  • ????? ?????
  • ???????? LL(1)? LR? SLR ? LALR

102
4-1 ????? ???????
1- ????? ???? ? ???? ???? ???? ????
2- ????? ????? ???????? ?????? ?? ?????? ?????
????????? ???? ???? ? ????
3- ????? ??????? ????? ???? ???? ??? ????? ???? ?
????????? ??? ???? ????? ???? ????? ???
4- ????? ????? ????? ????????? ???? ?? ????
103
4-2 ????? ?????
?????? ???? ?? ?? ????? ?? ?? ????? ?? ???? ?
????? ???? ???? ?? ???? ???? ?????
????? ????? ??? ????????? ???? ???? ? ?? ?????
????? ?????? ???? ?? ????? ????? ???
??? ??? ???? ?????? ????? ????? ?? ???? ??????
??????
104
4-2-1 ????? ?????- ????????
????? ?? ????
????? ????? (?????)
????????? ??????? ????????
?????? ????
???? ?????
?????
?? ?????
??????? ????? ????
???? ????
?????? ????? ????? ?? ??? ????????
105
4-3 ???? ????
??? ???? ???
1- ????. ????? ????? ??? ????? ? ???? ????? ??
????? 2- ????. ????? ????? ???????? ?? ?????????
????????
3- ??????. ????? ??????? ?? ????? ?? ?????????
???????? 4- ?????. ????? ???????? ??????? ?? ?????
106
4-3 ???? ????
?- ????? ????? ????? ???? ????
  • ??????? ????? ???? ????? ?? ?? ???? ? ?? ???
  • ???? ?? ??? ?? ???? ???? ?? ??? ????? ?????????
    ?????? ????
  • ??? ???? ??? ?? ?? ???? ?????? ?????? ??? ????

107
4-3 ???? ????
?- ???????? ??? ???? ???? ????
-Panic Mode -Phrase level -Error
production -Global correction
108
4-3 ???? ???? Panic mode -
?????
- ???? ???? ??? ???? - ???? ??????? ???? ??????
????? - ???? ???? ?? ????? ??? ???.
??? ???
??? ??? ?? ?? ???? ?? ?? ????? ?? ???? ???????
????? ?????? ?? ????
109
4-3 ???? ???? Phrase Level -
?????
  • - ??????? ?? ????? ?????
  • - ??? ???? ?? ???? ?? ????? ?? ??? ?? ??????
    ????????
  • - ??? ?? ?????? ?? ?????? ???? ??? ?? ???? ?????
  • ???? ?? ????? ?? ???? ?????

??? ???
??????? ?? ????????? ????? ?? ??????? ???? ?? ??
????? ?? ????? ????? ????? ????.
110
4-3 ???? ???? Error production -
??? ???
????? ????? ????????? ???? ??? ?? ???? ?? ???
????? ???? ?? ???? ????? ?? ???? ?????
111
4-3 ???? ???? Global Correction -
??? ???
?????? ???????? ??? ????? ??? ?? ?????? ?????
?????? ??????? ?? ????? ???? ??? ???
?? ???? ????? ????? ??? ??? ????? ?? ???? ?????
112
4-4 ????? ????? ?? ???
?????? ??????? ?? ??? ?????? ??
?????? ????? ?????? V ( V U S )
G ( V , S , P , S) ????? ?????
???? ???? ?????
????? ??????
????? ????
(??? ? ???? ??? ? L S?? ( ? A ? u ( A ? V , u ?
(? U V )
113
4-4-1 ????? ????? ?? ??? - ??????
?? ??? ???? ???? ??? ?? w? (V U ?) ???? ????
????? ???? w ?? S ?????? ?? .
??? ???? ??
?? ???? ??? ??? ?? w?? ???? ???? ????? ???? w
?? S ?????? ??
????
???? ?? ????? ?????? L(G ) ?? ?? G ???? ???.
w??
????
114
4- 4????? ????? ?? ??? ????? ????????? ?? ????
S ? AA A ? AAA \ bA\ Ab\ a
ababaa ????
S ? AA ? Aa ? AAAa ?
AAbAa ? AAbaa ? AbAbaa ?
Ababaa ? ababaa
S ? AA ? aA ? aAAA ?
aAAa ? abAAa ? abAbAa ?
ababAa ? ababaa
S ? AA ? aA ? aAAA ?
abAAA ? abaAA ? ababAA ? ababaA ?
ababaa
S ? AA ???? ? AAAA ? aAAA
? abAAA ? abaAA ? ababAA ?
ababaA ? ababaa
115
???? ???????? ????? ?? ???
S ? aSb \ aSbb
S ? aSdd \A A ? bAc \ bc
S ? aSa \ aBa B ? bB \ b
S ? abScB B ? bB \b
S ? aS aB B ? bB b
116
4-5 ?????? ???????- ????? ??????? ???? ??? ????
1- ??? ???? ?? ????? ??? ??? ????? ????? ????
????? ?????? ???? ???? ????
2- ????? ????? ??????? ? ???? ??? ??? ???? ?????
?? ???? ?? ?????
3- ????? ????? ????? ???? ?????? ?? ???? ??????
4- ??? ?????? ???? ?????? ???? ??????? ????????
?? ?? ??? ???? ?????? ?? ????? ?????? ???? ??
???? ? ???????
117
4-6 ?????- ??? ???? ?? ?????
1- ??? ?? ????? ??? ?? ???? ?????? ???? ????
????? ????. 2- ??? ?? ????? ???? ????? ???? ????
????? ?? ???? ?? ???? ? ????? ??? ??? ????
????? ??? ?????
LL (1) 1- ???????? ???? ??????
????? ???????? ???? ?? ?????
2- ???????? ?? ??????
118
4-6 ?????- ??? ???? ?? ?????
????? ????? ??????? ????? ( ?????)
???? ?????? ?? ?? ?????? ???? ?? ?? ?? ????? ????
?? ??? ?????? ?? ??? ???? ???? ?? ????.
????? ?????? ???? ????? ?? ??? ?????? ????
????? ???? ?? ?????? ???? ??? ??? ?? ????? ??
????? ?????? ????
119
4-6-1 ????? ????? ????? ????? ????
????? ?????? ??????
1- ??? ??????? ?? ?? ????? ?? ???? ????
2- ????? ??? ???? ? ???? ????? ???? ?????
A?X1, X2,,Xn 3- ??? ?? ???? ?? ???? ???? ??
????? ???? ?? ????? ?? ???
X1,X2,,Xn 4- ???? ????? ?? ??? ?? ?? ?????? ????
?? ????
120
???? ????? ????? ?????- ?????? ??????
E ? TE E ? TE \ ? T ? FT T ?
FT \ ? F ? (E) \ id
????? 1
E
T
0
1
2
E
T
T
E
3
4
5
6
????? 2
E
F
T
7
8
9
T
????? 3
121
???? ????? ????? ?????- ?????? ??????
T
F
T
10
11
12
13
T
????? 4
(
E
)
14
15
16
17
????? 5
F
id
122
???? ????? ?????
S ? cAd A ? ab \ a
cad ?????? ?????
S
S
S
A
c
d
A
d
c
A
d
c
a
b
b
a
(???)
(?)
(?)
123
4-6-2 ????? ????? ?????? ??? ???????
?????? ?? ????? ????? ??? ???????
??????? ?????
???? ???? ????? ???? ????? ?? ????? ?? ?????? ??
????
?????? ?? ?? ??????? ????? ?? ?? ???? ???? ?????
?? ?? ?? ??
???? ?????
?? ?????? a ?? ??? ?????? ? A?A,a ????? ??
???? ?????
?????? ?????
?????? ????? ??? ?? ?? ????
124
4-6-2 ????? ????? ?????? ??? ???????
a b
?????
????? ??
????
?????? ????? ????? ?????
?????
X
Y
Z

???? ????? M
125
4-6-2 ????? ??? ??????? ????? ??????
???? ???? ????? ????? ????? ????? ???? ????? X a
1- ???
?? ???? ? ?????? ????? ?? ????? ?? X ???? X a ?
2- ??? ???? ???? ?? ?????
A , a ?? ??? ?????? ???? ?????? ?? ????? ??
???? X 3-??? ? ???????? ????? ????? ?? ?? ????
126
???? ????? ????? ??? ??????? ?????
E TM M TM \ T FN N FN
\ F (E) \ id
E ? TE E ? TE \ ? T ? FT T ?
FT \ ? F ? (E) \ id
???? ?????
)
(
??? ??????
id



E ? TE
E
E ? TE
E
E ? TE
E ? ?
E ? ?
T ? FT
T ? FT
T
T
T? FT
T ? ?
T ? ?
T ? ?
F ? (E)
F
F ? id
127
???? ????? ????? ??? ??????? ?????
E ET ETF ETid ET E ET ET ETF
ETid ET ETF ETF ETid ET E
Id id id Id id id Id id id Id id
id id id id id id id Id id Id
id Id id id id Id Id
E ? TE
T ? FT
F ? id
T ? ?
E? TE
T ? FT
F ? id
T ? FT
F ? id
T ? ?
E ? ?
128
4-7 ?????? Follow ? First
First
?? ???? ?? ?? ??????? ?????? ????? ?????? ??????
???? a ??? ???? ?? ???.first (a) ???? ?? ???? ?
a ???? ??? ???? ??? ?????? ??
Follow
???????? ??? ?? ?? ?????. ?????? ?? ??
????????? ?? ?? ?? ??? ????A ???? ??? ??????
129
4-7-1 ?????? Follow ( A)
  • 1- ?? Follow (S) ???? ???? ?? ??? ?? ???? ????
    ????? ??? ? ???? ?????? ??? ???? ???? ???????.
  • 2- ??? ?????? ?? ???? A ? EBF ???? ???? ?????
    ?????? ?? First (F) ??? ? ?? ?????? Follow (B)
    ????? ?? ???.
  • 3- ??? ????????? ???? A ? EB ?? A ? EBF ?? First
    (F) ???? ? ???? ( ) ?? ???? ?? ??????
    Follow(A) ?? Follow (B) ????? ?? ???.

130
4-7-1 ?????? First ( A)
  • 1- ??? X ?????? ????? First (X) ??????? ?? X
  • 2- ??? X ? ? ????? ????? ????? ? ?? First (X)
    ????? ?? ???.
  • 3- ??? X ????????? ? X ? Y1Y2Yn ????? ??????
    ???? ?? a ,i ?? ??????
  • First(Yi) ???? ? ? ?? ???? ?????? ??? First (
    Y1)First (Yn) ???? ?????
  • ????? a ?? ?????? First (X) ????? ?? ???.

131
???? ?????? ??? Follow ? First
E TM M TM \ T FN N FN
\ F (E) \ id
E ? TE E ? TE \ ? T ? FT T ?
FT \ ? F ? (E) \ id
First (E) First (T) First (F) ( , id
First (E) , ? First (T) , ?
Follow (E) Follow (E) ) , Follow
(T) Follow (T) , ) , Follow (F)
, , ) ,
132
4-8 ????? ???? ?????
  • 1- ???? ?? ????? ?? ????? ????? A ? a ????? 2 ?
    3 ????? ???.
  • 2- ???? ?? ?????? a ?? ?????? First (E)? A ? E
    ?? MA , a ????? ???.
  • 3- ??? ?? First (E) ????? A ? a ???? ?? ??????b
    ?? Follow (A) ?? MA , b ????? ???. ??? ? ??
    First (E) ? ?? Follow ( A) ????? A ? a ?? M A
    , ????? ???.

133
???? ???? ?????
E ? TE E ? TE \ ? T ? FT T ?
FT \ ? F ? (E) \ id
  • First (TE) First (T) ( , id

)
(
??? ??????
id



E ? TE
E
E ? TE
134
4-9 ??????? ????? LL(1)
  • 1- ?????? ?? ????? ?? ??????? ?? ?????.
  • 2- ???A ? E \ F ?? ????? ?? G????? ???? ???
    ?????? ?? ????? a? ?? ??? E? F ???? ??? ????
    ????? ?? a ????? ??? ????.
  • 3- ?????? ??? ?? E ? F?? ?????? ???? ??? ?????
    ????.
  • 4- ??? F ? ? ? E ???? ?? ???? ????? ?? ??????
    ??? ?????? Follow ( A) ????? ??? ???.

135
???? ????? LL (1)
E ? TE E ? TE \ ? T ? FT T ?
FT \ ? F ? (E) \ id
  • ????? LL (1) ??? ????
  • First ( TE) , First ( ? ) , ? ? (
    ) ?
  • First ( E ) , ? , follow ( E ) ,
    ) , , ? , ) ?
  • First ( FT) , First ( ? ) ? ,
    ? ? ?
  • First ( T) ? , , Follow ( T) , )
    , , ? , ? , ) ?
  • First ((E)) ( , First ( id ) id , (
    id ?

136
???? ????? LL (1)
S ? iEtSF 1 S ? a 2 F ? eS
3 F ? S 4 E ? b 5
???? ?????
i
a
e
t
b

S
1
2
F
3 , 4
4
E
5
  • ????? LL (1) ????.

137
4-10 ???? ??? ?? ????? ?????
??? ???
  • 1- ??? ????? ?????? ????? ?? ????? ???? ?? ????
    ????? ????
  • 2- ???? ???? ????? ???? ???? ??? ??????A ??
    ????? ???? ? ?????? a ?????? ???? ????? ????

??? ???? ???
  • ???? ?????? ??????? ????? ???? ?? ???? ???? ???
    ????? ?? ????? ?? ?????? ?? ?? ????? ??? ??????
    ?????

138
4-10-1 ?????? ?????? ?????? ?????
?????? ???? ??????? Follow (A) ?? ?????? ??????
????? ??? ?????? ?????? ? ????? ????? ?? ????
???? ??? ?? ??? ?? ??
1
?????? ?????? ??????? ???? ????? ????????? ???
?????? ???? ?? ????? ?????? ?????? ?????
????????? ???? ????? ?? ???? ????? ????? ????? ??
????? ?????? Follow ??
2
3
  • ?????? ?????? First (A) ?? ?????? ?????? ?????
    ??? ?????? A

???????? ????? ????? ??? ?????? ??? ???? ???
?????? ??? ???? ?? ?????? ???
4
139
???? ???? ??? ?? ????? ?????
  • 1- ?? ???? ???? ???? ????? ???? ? ???? ????? ???
  • 2- ?? ???? ?????synch ( ?? ?????? ????? ???
    ?????? ????? Follow )
  • ???? ??? ?????? ????? ???? ???? ????? ?????
    ?????

3- ?? ???? ??? ????? ????? ????? ???? ?? ????
????? ? ???? ????? ?? ????
140
???? ???? ??? ?? ????? ?????
E ? TE E ? TE \ ? T ? FT T ?
FT \ ? F ? (E) \ id
)id id ???? ????? ????? ????
????? 1
)
(
??? ??????
id



E ? TE
E
E ? TE
E
E ? TE
E ? ?
E ? ?
T ? FT
T ? FT
T
T
T? FT
T ? ?
T ? ?
T ? ?
F ? (E)
F
F ? id
141
???? ???? ??? ?? ????? ?????
????? 2
)
(
??? ??????
id



synch
E ? TE
synch
E
E ? TE
E
E ? TE
E ? ?
E ? ?
T ? FT
T ? FT
T
synch
synch
synch
T
T? FT
T ? ?
T ? ?
T ? ?
F ? (E)
F
F ? id
synch
synch
synch
synch
142
???? ???? ??? ?? ????? ?????
????? 3
E E ET ETF ETid ET ETF ETF E
T E ET ET ETF ETid ET E
)Id id Id id Id id Id id Id
id id id id id id
id id Id Id
error , skip )
id is in First ( E)
Error M F, synch
F has been poped
143
4-11 ????? ???? ?? ????? ?????? ????
??? ?? ????? ???? ????? ?? ???? ?? ????? ? ????
?? ??? ???? ????
???????? ?? ??????? ??? ????? ?? ??? ???? ??
????? ?? ???? ??? ?? ???? ?????
144
???? ????? ???? ?? ????? ?????? ????
abbcde ?????? ?????
S ? aABe A ? Abc \ b B ? d
abbcde?????? aAbcde ????
aAde?????? aABe???? S
S ? aABe ? aAde ? aAbcde ?
abbcde??????
145
4-11-1 ????? ?????? ???? - ???????
??? ???? ?? ????? ?? ??? ???? ?? ????? ? ?????
????? ?? ???? ?? ??? ?????? ??? ?? ?? ?????
????? ???????
??? ???? ?? ?? ?? ??? ???? ?? ??????? ????? ?????
????? ?? ???? ???? ?????
146
???? ???????
abbcde ?????? ?????
abbcde?????? aAbcde ????
aAde?????? aABe???? S
S ? aABe A ? Abc \ b B ? d
A ? b ?A ? Abc B ? d
??????? ??
147
???? ???????
(1) E ? E E (2) E ? E E (3) E ? ( E ) (4) E ?
id
?????
??? ???? ???? ??????
E ? E E ? E E E ? E E id3 ? E
id2 id3 ? id1 id2 id3
????? 1
148
???? ???????
????
???????
id1 id2 id3 E id2 id3 E E id3 E E
E
id1 id2 id3 E E
??????? ??
149
4-11-1-1 ???????- ??? ?????
???? ??? ?????
??????? ????? ????? ??? ???? ???? ??????
????? ??? ?????
1- ??? W ???? ????? ???? ????? ????? ????? W
Yn ??? ???? ???? n ?? ?? ??? ???? ???? ??????
?????? .
2- ????? ??????? Bn-1 ??Yn-1? ???? ?? ?? ????
???? ??? ???? ???? Yn-2.
3- ???? ?????? ?? ???? ????? ?? ???? ???? ????? S
150
???? ??? ????? ???????
(1) E ? E E (2) E ? E E (3) E ? ( E ) (4) E ?
id
id1 id2 id3
??? ???? ????
???????
????? ?????
E ? id E ? id E ? id E ? E E E ? E E
id1 id2 id3 E id2 id3 E E id3 E E
E E E E
id1 id2 id3 E E E E
151
4-11-2 ?????? ??? ????? ???????
  • 1- ????? ??? ???? ????? ???? ???? ?? ?? ??? ????
    ????
  • 2- ?????? ????? ????? ?? ????? ???? ?? ?? ?????
    ????? ?? ??? ???? ????? ?? ??? ????

152
4-12 ????? ?????? ???? ?? ????
??????? ?? ???? ?? ????? ??????? ??????? ?????
??????? ?? ??????? ????? ??? ??????? ???? ????
??? ???? ?????
1- ?????? ??? ?? ??? ???? ?? ???? ???? ????? ?????
???? ?????
2- ????? ????? 1 ?? ???? ???? ??? ?? ??????? ??
????? ????
3- ???? ??????? ???? ??? ?? ??? ?? ????? ??????
????? ??
153
4-12-1 ?????? ?????? ???? ?? ????
??????
?????? ???? ???? ????? ?? ????? ????
???? ?????? ??? ???? ??????? ?? ????? ???? ?
????? ??? ?? ?? ? ????? ???? ???? ????????
????
?????
????? ????? ?????? ???? ??? ?????
???
????? ???? ???? ? ???????? ???? ???? ???
154
???? ????? ?????? ???? ?? ????
(1) E ? E E (2) E ? E E (3) E ? ( E ) (4) E ?
id
?????
E ? E E ? E E E ? E E id3 ? E
id2 id3 ? id1 id2 id3
???? id1 id2 id3
155
???? ????? ?????? ???? ?? ????
?????
???
????
id1 E E E id2 E E E E E E
id3 E E E E E E
id1 id2 id3 id2 id3 id2 id3 id2
id3 id3 id3 id3 4
Shift Reduce by E ? id Shift Shift Reduce by E ?
id Shift Shift Reduce by E ? id Reduce by E ? E
E Reduce E ? E E accept
156
4- 13 ????? ?????? ???? ?????? ???? ????
?????? ????????? ??? ????? ???? ???? ????? ??
???? ?? ????? ????? ?????? ????
??
??????? ?? ?? ??? ???? ???? ???? ?????? ?? ??????
???? ??? ???? ???? ??????? ?? ??? ????
157
4-14 ????? ?????? ????- ????? ??
????? ?????? - ????
????? ?? ??? ?????? ?? ??? ???? ?? ???? ?????
???? ???? ????? ?????
????? ???? ????
???? ??? ????? ???? ???? ?? ???? ?? ?? ????
158
4-14 ????? ????? ????? ??????
????? ??? ?????
?????? ????. ? 1- ??????
2- ?? ??? ???? ?????? ?????? ??? ???? ?? ??
?????? ???? ?? ??????.
159
???? ????? ?????? ????? ?????
E ? EAE \ ( E ) \ - E \ id A ? \ - \ / \
???? ?? ??? ?????? ?? ??? ???? ?????
????? ????? ????
160
4-14-1 ???? ?????? ??? ????? ??????
????? ???? ????? ????? ????? ???? ????? ?????
???? ?? ?? ?????? ?????? ( ????? ?? ?????)
??? ??????? ?? ????? ???? ????? ?? ???? ?????
????? ??? ????? ???? ?? ??? ????? ? ????? ?????
????? ??????
?????? ????? ?? ??? ???? ??? ????? ?? ???????
161
4-14-2 ????? ?????? ????? ????????
????? 3 ????? ?????? ????? ??? ?? ??? ?? ??????
??
?????
?????
a lt. b
?????? a ???? ?? b ???.
?????? a ? b ????? ???.
a b
?????? a ??? ?? b ???.
a . gt b
162
4-14-2 ????? ?????? ?????? ????? ??????
1- ??????? ?? ???? ????? ? ?????? ????? ??? ???
??????? ?? ???? ????? ?????? ??? ???
.gt , lt .
2- ????? ????? ??? ????? ???? ???? ? ???? ?????
?? ?? ?????? ?????? ???? ????? ? ?????? ???? ???
????? ?????? ?? ????
163
???? ????? ?????? ????? ????????
E ? TE E ? TE \ ? T ? FT T ?
FT \ ? F ? (E) \ id
( ) id
.gt lt. lt. .gt lt. .gt
.gt .gt lt. .gt lt. .gt
( lt. lt. lt. lt.
) .gt .gt .gt .gt
Id .gt .gt .gt .gt
lt. lt. lt. lt.
164
4-14-3 ??????? ?? ?????? ??
1- ???? ???? ????? ?????? ??? ?????? ?? ?? ????
????? ?? ?????
2- ???? ???? ????? ????? ? ?????? ???? ?????
?? ????? ?????? ?? ???? ?? ????? ?????? ? ?????
?????? ????
3- ??? ??? ?????? ?? ?? ???? ?????
4- ???? ?? ?????? ?? ???? ?? ????? ?? ?????
?????? gt.
165
4-14-3 ??????? ?? ?????? ??
5- ???? ?? ??? ( ?? ) ?? ???? ???? ?? ???
???????? ?? ?? ????? ?? lt.
. gt 6- ????? ??????? ???? ?? ???? ?? ??? ?? ?????
???? 5. ?? ????? lt ? ???
166
???? ??????? ?? ?????? ??
???? ????? ?? ????? id id id
lt. Id .gt lt. Id .gt lt. id .gt .
???? ???? ????? gt. ?? ??? ?? ??? ????? id ?
????? 1
????? 2
???? ?? ??? ????? ?? ??? ?? ???? ???? ?????? ??
lt ????? .
167
???? ??????? ?? ?????? ??
????? 3
??????? ??? ????? gt. ? .lt ???? ????? id
??? ?? ? ????? ?? ?? E
????? 4
????? ???? ??????? ??? ????? id2 , id3 ?
????????? ?????? ????? ?? ???
lt. lt . .gt
????? 5
??????? ???? ??? ? ? ?????? ???? ?? ??? ?
????E E ? ????? ?? E
?????6
??????? ???? ??? ? ???? E E ? ????? ?? E
? ????? ????? ?????? ???? ????? ??????
168
4-14-4 ????? ?????? ????????? ?????
1- ??? ????? A ?????? ????? ?? ????? B ?????
????? ????? A . gt B ? B lt. A ??? ???? ??????
???.
2- ??? A ? B ???????? ?? ?????? ????? ?????? ???
?? ?? ???? ???? ?? ???? ????? B lt. A , A lt. B
? ???? ???? ?? ?? B .gt A , A .gt B
169
4-14-4 ????? ?????? ????????? ?????
3- ???? ???? ???????? ????? A ????? ??? ??????
???.
lt. A A .gt A .gt )
) .gt A ( lt. A A lt. (
id .gt A A lt. id
4- ????? ??? ????? ????????
( ) ( lt. ( (
lt. id lt. ( id .gt id
.gt ) lt. id ) .gt
) .gt )
.
.
170
???? ????? ??????- ???? ??????
( ???? ) ???????? ?????? ? ???? ???? ?? ? 1 -
????
??????
2- ? / ???????? ?????? ???? ? ???? ???? ?? ??
3- ? ????? ???? ?????? ? ???? ???? ?? ??
171
???? ????? ?????? - ???? ??????
- / ? id ( )
.gt .gt lt. lt. lt. lt. lt. .gt .gt
- .gt .gt lt. lt. lt. lt. lt. .gt .gt
.gt .gt .gt .gt lt. lt. lt. .gt .gt
/ .gt .gt .gt .gt lt. lt. lt. .gt .gt
? .gt .gt .gt .gt lt. lt. lt. .gt .gt
Id .gt .gt .gt .gt .gt .gt .gt
( lt. lt. lt. lt. lt. lt. lt.
) .gt .gt .gt .gt .gt .gt .gt
lt. lt. lt. lt. lt. lt. lt.
???? ?????? ??
172
4-14-5 ????? ?????? - ????? ??????
?? ????f ? g ???? ??????? ???? ?????? ???? ?????
1- f( a ) lt. g ( b ) ?? ??? a lt. b
2- f( a ) g ( b ) ?? ??? a b
3- f( a ) .gt g ( b ) ?? ??? a .gt b
173
???? ????? ?????? - ????? ??????
- / ( ) id
f 2 2 4 4 4 0 6 6 0
g 1 1 3 3 5 5 0 5 0
???? ??????
lt . Id f ( ) lt g( id )
id .gt id f ( id ) gt g ( id )
174
???? ????? ?????? - ???? ????? ??????
Id
f 2 4 4 0
g 1 3 5 0
f (id)
g (id)
f ()
g ()
g ()
f ()
f ()
g ()
175
4-14-5 ????? ????? ??????- ???? ???
1- ??? ???? ????? ??? ???? ????? ???? ? ???? ?????
????? ???
2- ??? ????? ?????? ????? ?????? ??? ?? ???? ?
????? ???? ?? ??? ???? ?? ?????? ?????
?? ???? ??? ???? ????? ????? ?????? ?? ?????
??? ??? ? ???????? ???? ????? ???? ???
???? ???
176
4- 15 ????? ????? ??? LR
????? ?? ?????????? ????? ????? ??? LR
1- ?????? ????? ????????? ??????? ????? ?? ???
2- ????? ???? ??? ????? ?????? ???? ??? ???????
3- ??????? ????? ??? ???????? ???? ????? ??? ??
4- ???????? ????? ???? ???? ?? ???? ?? ?? ????
177
4-15-1 ????? LR- ???? ???
1-??? ???? ?? ???? ?? ???? ????? ???? ???? ????
2- ??????? ????? ???? ????? ????? LR ???? ?????
178
4-15-2 ????? LR- ?????
???? ???? ?????? ???????
LR ???? ??SLR
LR ?????? ?? CLR
??????? ???? ????????
???? ????? ??????
LR ??? ??? ?? LALR
???? ????? ????? ????? ??? ?? ???? ????? ? ??????
????? ???? ???????
179
4-15-3 ????? - LR ?????
a1 ai b an
a
. . .
S



?????
?????? ?????
Action goto



180
4-15-4 ????? ???? ????? LR
????? ????? a
????? ???? ???????? ?? ?? ????
???? ????? ????(S)
???? ?? ?? ??? s0X1s1X2s2.Xmsm?? sm ?? ?????
???? ???? ????.
???? ????
?? ???? ?????
?? ???? ?????
181
4-15-5 ????? LR ???? ?????
???? ??????? goto ( ?????? ?? ???? ? ???? ?
????? ???? ????)
????? ???? ?????
???? ?????? action
action sm , ai
action goto
a1 a2 ai


m
???? ?????
182
4-15-5 ????? LR ???? ?????
?????? ????? ????? ???? ????action sm ,ai
accept
rnreduce
error
sn shift
a ??? ???? ???? ???? ? ??? n ??? ???? ?? ???
????? ??? ???? ?? ????? n ?? ????
????? ???? ?????
???? ????
183
4-15-6 ????? LR ???? ?????
1- ???? ???? ???? ????? w ?? ????? ????? ??
?????? ?? ?? ??????? ?????
2- ?????? s0 ?? ???? ?? ????? ????? ????
3- ?????? ????? ???? ????? ???? s0 ,
4- ????? ??? ?? ??? ????? ??? ?? ???? shift ,
reduce, accept , error
184
4-15-6 ????? LR ???? ?????
5- ??? ???????? ???? ?? ?? ???? ?????
S0 X1 s1 X2 s2.Xm sm , ai ai1 . an
6- ?? ?????? a ???? ????? ???? ? s ???? ?????
???? ?????? ?? ???? ? ????? ?? ????
Shift , reduce
7- ????? ???? ??? ???? ?? ??s Shift ?????
S0 X1 s1 X2 s2Xm sm ai s, ai1an
185
4-15-6 ????? LR ???? ?????
8- ????? ???? ??? ???? ?? ?? A reduce ?????
S0 X1 s1 X2 s2 Xm-r sm-r A s , ai ai1 an
9- ????? ????? ???? ????? ?? ????accept ?? ????
10- ???????? ???? ???? ??? ?? ????error
186
???? ????? LR
1 E ? E T 2 E ? T 3 T ? T F 4 T ? F 5 F ?
(E) 6 F ? id
action
goto
E
F
T

id


)
(
0 1 2 3 4 5 6 7 8 9 10 11
s5
1
s4
2
3
acc
s6
r2
s7
r2
r2
r4
r4
r4
r4
3
2
8
s4
s5
r6
r6
r6
r6
3
9
s4
s5
10
s4
s5
s11
s6
r1
r1
s7
r1
r3
r3
r3
r3
r5
r5
r5
r5
187
???? ????? LR
?????id id id
????
?????
??? ????
  • 0
  • 0 id 5
  • 0 F 3
  • 0 T 2
  • 0 T 2 7
  • 0 T 2 7 id 5
  • 0 T 2 7 F 10
  • 0 T 2
  • 0 E 1
  • 0 E 1 6
  • 0 E 1 6 id 5
  • 0 E 1 6 F 3
  • 0 E 1 6 T 9
  • 0 E 1

id id id id id id id id id
id id id id id id id

s5 r5 r3 s7 s5 r5 r2 r1 s6 s5 r5 r3 r9 acc
188
4-15-7 ????? ????? LL ? LR
????? LL(K)
??????? ????? ???? ??? ???? ?? ???? ?? ???? ????
???? ?? ?? ?? ??? ???? ???? ??? ? ?? ??????? ??
K ???? ??? ???
????? LR(K)
??????? ????? ???? ??? ???? ???? ?? ???? ?????K
???? ?? ???? ???? ??? ???? ?? ???? ???
189
4-16 ????? SLR
????? ?? ???
?? ??? ???? LR ?????? ?? ????? ?? ?? ???? ??
????? ?? ??? ???? ??
???? ????? ????? ?????
A ? XYZ
A ? . XYZ A ? X .YZ A ? XY .Z A ? XYZ.
190
4-16 ????? SLR ????? ???? ?????
????? ????
???? ??? ?????S ? S ? ???? ?????? ?? ???? ????
?? ?????? ?? ????.
????? ??? ????
?????? ?? ???? ?? ?????? ?? ???.
191
4-16-1 ????? SLR-????? ???
S ? AaAb S ? BbBa A ? ? B ? ?
?????1 ????? ?? ???? ???? ???? ?????
S? S S ? AaAb S ? BbBa A ? ? B ? ?
S? . S S ? .AaAb S ? .BbBa A ? . B ? .
?????2 ?????? ???? ?? ????? ???? ??? ???? ???????
192
4-16-1 ????? SLR-????? ???
?????3 ?????? ???? ?? ??????? ???? ?? ??? ????
???????
S? S . S ? A .aAb S ? B .bBa
S ? Aa .Ab S ? Bb .Ba A ? . B ? .
S ? AaA .b S ? BbB .a
S ? AaAb . S ? BbBa .
193
4-16-2 ????? SLR- ???? ?????
???? ????? LR(0) ?? ???? LR(0) ?????? ????? ?????
????? ???? ????? ????? ??? SLR
???? ?? ????? ?? ????closure ? goto ?? ?????
????? ??????
194
4-16-2 ????? SLR- ???? ?????
1- ????? ??? ?? ??? ????? ?? ?????? ?????I ??
??????closure
???? closure
2- ????? ??? ??? B ? .K ?????? ????A ? M .BN
??closure ? ???? ????? B ? K ?? ?????
195
???? ????? SLR- ???? ?????
?? ???? ??? ???? ??? I E ? .E
E? E E ? E T \ T T ? T F \ T F ? (E) \ id
E ? .E E ? .E T E ? .T T ? .T F T ? .F F ?
.(E) F ? id
Closure (I)
196
4-16-2 ????? SLR- ????? ?????
?? ??? ?? ????A ? B1.B2 ???? ?????? ???? ????
MB1 ????? ??? ???
??????? ?? ????S ? M A W ? M B1B2 W ????
????? ????.


197
???? ????? SLR- ????? ?????
E? E E ? E T \ T T ? T F \ T F ? (E) \ id
E T
1
?? ?????? ???? ????
4
?? ?? ?? ?????? ?? ???? ?? ???? I7
T ? T .F F ? .(E) F ? .id
2
I7
3
????? ????? ????
198
4-16-2 ????? SLR- ???? ?????
?????? closure ?? ??? ?????? A ? Q X K ?? ???
???? A ? Q . X K ?? I .
???? goto(I , X )
??
?????? ?? ?? ????? ????? ???? ?????? ???? ???? R
X ?? ???? ?????? ????? ????? ???? R ?? I .
?????? ?????
???? ?????
199
???? ????? SLR- ???? ?????
???? ??? ???? ???I E ? E. , E ? E. T

E? E E ? E T \ T T ? T F \ T F ? (E) \ id
E ? E . T T ? .T F T ? .F F ? .(E) F ? .id
goto (I , )
200
4-16-2 ????? SLR- ????????? ?????LR(0)
1- ?????? closure S ? .S ?? ??????
???? C
2- ???? ?? ?????? ????? I ?? C ? ?? ???? ?????X
????? ???
2- 1- ??? goto ( I , X) ??? ???? ? ??C ????
????? ???
2-1-1- goto ( I , X) ?? ?? C ????? ??.
??????? ?? ????? ?? ??? ?????? ??? ????? ???
??????
201
???? ????? SLR- ????????? ?????
E ? .E E ? .E T E ? .T T ? .T F T ? .F F ?
.(E) F ? .id
E ? T. T ? T. F
I2
E? E E ? E T \ T T ? T F \ T F ? (E) \ id
I0
I3
T ? F.
F ? (.E) E ? .E T E ? .T T ? .T F T ? .F F ?
.(E) F ? .id
I5
F ? id.
I4
E ? E. E ? E. T
I1
202
???? ????? SLR- ????????? ?????
E ? E .T T ? .T F T ? .F F ? .(E) F ? .id
E? E E ? E T \ T T ? T F \ T F ? (E) \ id
F ? (E.) E ? E. T
I6
I8
E ? E T. T ? T. F
I9
I11
F ? (E).
T ? T .F F ? .(E) F ? .id
I7
I10
T ? T F.
203
???? ????? SLR- ????????? ?????
S? S S ? LR \ R L ? R \ id R ? L
I3
I7
S ? R.
L ? R.
R ? L.
I4
I8
L ? .R
I0
S ? .S
S ? LR.
I9
I5
L ? id.
I1
S ? S.
I2
I6
R ? L.R R ? L.
S ? L.R
204
4-16-2 ????? SLR- ????? ???? ?????
1- ????? ???? ?????? ??? ????? ???? ????? ??????
G ( ?? ?? ???? ???? ????? S ) ????? C I0 ,
I1 ,In
2- ????? ???? i ?? Ii ( ????? I2)? ????? action
??? ????? ???? ????i ????? ???
???- action i , a shift j ?? ???? ???? A ?
Q .aK ?? Ii ?goto (Ii , a )Ij
?- ???? ????? action i , a reduce A Q
???? ???? ?????? ??? a ?? Follow (A S) ????
???? A ? Q. ?? Ii
?- ???? ????? action i , accept ???? ????
S ? S. ?? Ii
205
4-16-2 ????? SLR- ????? ???? ?????
3 - ????? ????? ???????goto ???? ????i ? ????
???? ??? ?????? ??? A ?? ??????? ?? ?????
???Ij ) goto ( Ii , A????? goto ( I , A ) j
4 ??????error ???? ???? ????? ??? ????? ???? ??
?????? 2 ? 3 ????????
5 - ????? ???? ????? ????? ????? ?? ??????? ??
?????? ????? ???? S ? .S
206
???? ????? SLR- ????? ???? ?????
E? .E E ? .E T E ? .T T ? .T F T ? .F F ?
.(E) F ? .id
E? E E ? E T \ T T ? T F \ T F ? (E) \ id
????? 1
no action
I0
action 0 , ( shift 4
action 0 , id shift 5
E? E. E ? E. T
????? 2
action 1, accept
I1
action 1 , shift 6
207
???? ????? SLR- ????? ???? ?????
????? 3
Follow (E) , , )
action 2 , action 2 , action 2 ,
) reduce E T
E ? T. T ? T. F
I2
action 2 , shift 7
. . .
????? ????? ????? ????? ??.
208
4-17 ????? CLR- ????? ???
A Q.K , a
??? ????? ?? ??? ?? A ? QK ?? ????? ?? ?????
? a?? ?????? ?? ????? ?????? ??? ???? ????
????? () .
??????
????? ???? ?? Q ?? ???? ?????? a ?? ????? ????
????? ????
209
4-17 ????? CLR-?????? ???? ????
????? ??? ????? A ? Q.K , a ???? ?? ??????
???? ???? y


1- ???? ?????? S ? AW ? QKW ??
y Q ?
?? a ????? ???? W ?? W ????? ??? ? a ?????
210
4-17 ????? CLR- ????? ?????? ?????LR(1)
?????? closure
1- ???? ?? ??? ??? A ? Q.BK , a ?? ?????? I
????? ???
???? ???????? ?????B ? y ?? ????? ? ?? ??????
?????b ??First (K)
??? ??? B ? .y , b ?? I ???? ???? ????? ??
????? ?? ????? 1 ??? ???? ?????????
211
4-17 ????? CLR- ????? ?????? ?????
?????? goto
J ?? ????? ?????? ?????? A ? QX.K , a ?? ?? I
???????? ?? ??? ????
closure ( J) ?? ???????.
212
4-17 ????? CLR- ????? ?????? ?????
?????? item (G)
C closure ( S ? .S , ) ???? ?? ?
????? ??
???? ?? ?????? ?? ????? I ?? C ? ?? ???? ?????
?????X
??? goto ( I , X) ??? ????? ? ?? C ???? ?????
???
goto ( I , X) ?? ?? C ????? ??.
????? ??? ???? ?????????
213
???? ????? CLR- ????? ?????? ?????
S? S S ? CC C ? cC \d
S ? C.C , C ? .cC , C ? .d ,
I2
S? .S , S ? .CC , C ? .cC , c \ d C ? .d , c
\ d
I4
C ? d. , c \ d
I0
I5
S ? CC. ,
C ? c.C , c \ d C ? .cC , c \ d C ? .d , c \ d
I3
I1
S ? S. ,
214
???? ????? CLR- ????? ?????? ?????
C ? c.C , C ? .cC , C ? .d ,
I9
C ? cC. ,
I6
I7
C ? d. ,
????? ??? ????? ????? ????? ???? ?????.
I8
C ? cC. , c \ d
215
???? ????? CLR- ????? ?????? ?????
S
I0
I1
???? goto ???? ????
C
C
I2
I5
c
C
c
I6
I9
d
d
I7
c
C
c
I3
I8
d
d
I4
216
4-17 ????? CLR- ???? ???? ?????
1- ???? ???? ?????? ??? ????? ?? ???? C I0 ,
I1 , , In ???? G
2- ????? ???? i ?? ????? ????? ?? ??????? ??I ?
???????? ??? action ????? ???
???- action I , a shift j ?? ???? ???? A
? Q.aK , b ?? Ii ?goto(Ii , a) Ij
?- reduce A a action I , a ??????
???? A ? Q. , a ?? Ii ? A S
217
4-17 ????? CLR- ???? ???? ?????
?- action i , accept ?? ???? ???? S ? S.
, ??Ii
3- goto ( i , a) j ??? goto ( Ii , A ) Ij
4- ???? ?????error ???? ???? ????? ??? ?????
???? ?? ?????? 2 ?3 ????????
???? ???? ???? ????? ????? ????? ????? ???? ????
???? ?? ?????? ???? S ? .S ,
218
???? ????? CLR- ???? ???? ?????
action
goto
1 S? S 2 S ? CC 3 C ? cC \d
S
C

d
c
0 1 2 3 4 5 6 7 8 9
s3
1
2
s4
acc
s7
s6
5
8
s3
s4
r3
r3
r1
s6
9
s7
r3
r2
r2
r2
219
4-18 ????? LALR- ???? ???? ?????
1- ????? ???? ?????? ??? ????? ????? C I0 , I1
, In
2- ???? ???? ???? ?????? ???? ?? ??? ???? ?????
?? ??? ?????? ?????
3- ????? ?????? ????? ????? ????? ????? C J0 ,
J1 , Jn ? ?????? action
???- action I , a shift j ?? ???? ???? A
? Q.aK , b ?? Ii ?goto(Ii , a) Ij
220
4-18 ????? LALR- ???? ???? ?????
?- reduce A ? a action I , a ??????
???? A ? Q. , a ?? Ii ? A S
?- action i , accept ?? ???? ???? S ? S.
, ??Ii
4- ???? ????? goto ????? ???
??? ???J ?????? ?? ?? ??? ?????? ????? ( I0 I1Ik
) ????? ????? ?????? ???? goto ( I1,X), goto
(I2,X),goto (Ik,X) ????? ?????.
221
4-18 ????? LALR- ???? ???? ?????
? ??? K ?????? ???? ?????? ????? ( I0 I1Ik )
???? ?? ???? ?????? ???? ????? goto(I1, X)
?????? goto (J,X)X
222
???? ????? LALR- ???? ???? ?????
1 S? S 2 S ? CC 3 C ? cC \d
????? ?????? ??? ????? ? ??????? ??? ?? ?????????
I3 , I6
I4 , I7
I8 , I9
C ? c.C , c \ d \ C ? .cC, c \ d \ C ? .d , c
\ d \
C ? d. , c\ d \
C ? cC. , c \ d \
223
???? ????? LALR- ???? ???? ?????
action
goto
S
C

d
c
0 1 2 36 47 5 89
s36
1
2
s47
acc
5
s36
s47
89
s47
s36
r3
r3
r3
r1
r2
r2
r2
224
???? ???? ??? ?? ????? LR ? LALR
?????? ?? ??? ?? ????? LR
0 c 3 c 3 d 4
????? ????? ???? ccd
action goto
4, e

????
????????? ???
????? ??? ?? ?? ?????
225
???? ???? ??? ?? ????? LR ? LALR
?????? ?? ??? ?? ????? LALR
0 c 36 c 36 d 47
????? ????? ???? ccd
action goto
47, r3 C ? d
89,r2 C ? cC.
????
0 c 36 c 36 C 89
0 c 36 C 89
.
0 C 2
????????? ???
????? ??? ?? ?? ??? ????
226
4-18 ????? LALR- ???? ???? ????? ?????
??? ????? ?? ???????? ???? ???? ?????
1- ???? ???? ?????? ?? ?? ????? I ?? ???? ??
2- ???? ????? ??? ???? action ???? ?????? ????
3- ???? ?????? ????? ??????? goto ?? ??????? ??
????
227
4-18 ????? LALR- ????? ??? ?????
1- ???? ?? ??? ????? B ? y.V ?? ?????? ???? ?? K
????? ???
J closure (B ? y.v , )2-
3- ??? A ? M.XN , a ??J ????? ? a
4- ????? ???? ??? ???a ???? ??? A ? MX.N ?? goto
( I , X)
228
4-18 ????? LALR- ????? ??? ?????
5 -??? A ? M.XN , ??
Write a Comment
User Comments (0)
About PowerShow.com