Professional Documents
Culture Documents
Chuong Trinh Dich K53II - 16
Chuong Trinh Dich K53II - 16
Ni dung
1. B phn tch c php tt nh
2. Tip cn top-down
3. Phn tch LL(1)
FIRST
FOLLOW
Bng phn tch LL(1)
V d
4. Bi tp
Phn 1
Chin lc tt nh
Th no l tt nh do rng buc phc tp
tnh ton l O(n), h qu l:
Khi nhn mt k hiu u vo, b phn tch vn phm
cn ngay lp tc quyt nh s s dng lut sinh no cho
trng hp ny
Quyt nh chn lut sinh no cn phi tt khng
phi th li phng n khc
Tnh cht tt nh ~ khng c quay lui
Phn 2
Tip cn top-down
Tip cn top-down
Hy quan st qu trnh thc hin phn tch topdown chui w = ( ) ( ) ca vn phm:
S(S)S|
Chng ta tm qu trnh suy dn S * w = ( ) ( )
y chng ta ch c 1 non-terminal duy nht S
K hiu kt thc ( v )
Tip cn top-down
Quan st qu trnh suy dn t * w, ta nhn thy:
Nu bt u bi terminal, th terminal nht thit
phi trng vi k hiu bt u ca w, trong tnh hung
ny ta gt b k hiu ny c 2 chui
Nu bt u bi non-terminal A, th A nht thit phi
suy dn (trc tip hoc gin tip) ra k hiu bt u ca
w (w1) hoc ra
Ta c th da trn vn phm G tnh c A c suy ra
w1 c hay khng?
Lp mt bng phng n 2 chiu, 1 chiu gm cc nonterminal, 1 chiu gm cc terminal, ta a ra cc tnh
hung p dng lut sinh cho mi cp (A, w1)
TRNG XUN NAM
Phn 3
10
Chui ngun
Chui ch
Hnh ng
S$
()()$
S(S)S
(S)S$
()()$
gt b
S)S$
)()$
)S$
)()$
gt b
S$
()$
S(S)S
(S)S$
()$
gt b
S)S$
)$
)S$
)$
gt b
S$
11
12
FIRST(X)
Nu X l k hiu kt thc th FIRST(X) l {X}
Nu X l mt lut sinh th thm vo FIRST(X)
Nu X Y1Y2Y3...Yk l mt lut sinh th:
Thm tt c cc k hiu kt thc khc ca FIRST(Y1) vo
FIRST(X)
Nu FIRST(Y1) th tip tc thm vo FIRST(X) tt c cc
k hiu kt thc khc ca FIRST(Y2)
Nu FIRST(Y1) FIRST(Y2) th thm tt c cc k hiu
kt thc khc FIRST(Y3)
Tip tc nh vy cho ti Yk
Thm vo FIRST(X) nu i=1k FIRST(Yi)
TRNG XUN NAM
13
FIRST()
nh ngha FIRST(): gi s l mt chui cc k
hiu vn phm, FIRST() l tp hp cc k hiu kt
thc m n bt u mt chui dn xut t
Gi s = X1X2Xn
Thm vo FIRST(): FIRST(X1)-{}
Vi mi i=2,3,,n; nu FIRST(Xk) cha vi mi
k=1,2,i-1 th thm vo FIRST(): FIRST(Xi)-{}
Nu vi mi i=1,2,n; nu FIRST(Xi) cha th thm
vo FIRST()
14
Tnh FIRST: v d
Xt vn phm G:
E T E'
E' + T E' |
T F T'
T' * F T' |
F (E) | id
15
FOLLOW
nh ngha FOLLOW(A): tp hp cc k hiu kt
thc a m n xut hin ngay sau A (bn phi ca A)
trong mt dng cu no
Tc l tp hp cc k hiu kt thc a, sao cho tn ti
mt dn xut dng S * Aa
Ch rng nu A l k hiu phi nht trong mt dng
cu no th $ FOLLOW(A) ($ l k hiu kt thc
chui nhp)
16
Tnh FOLLOW
Tnh FOLLOW (A): p dng cc quy tc sau cho
n khi khng th thm g vo mi tp FOLLOW
c na
t $ vo follow(S), trong S l k hiu bt u ca
vn phm v $ l k hiu kt thc chui nhp
Nu c mt lut sinh A B th thm mi phn t
khc ca FIRST()vo trong FOLLOW(B)
Nu c lut sinh A B hoc A B m
FIRST() th thm tt c cc phn t trong
FOLLOW(A) vo FOLLOW(B)
TRNG XUN NAM
17
Tnh FOLLOW: v d
Xt vn phm G:
E T E'
E' + T E' |
T F T'
T' * F T' |
F (E) | id
FOLLOW(E) = FOLLOW(E') = { $, ) }
FOLLOW(T) = FOLLOW(T') = { +, ), $ }
FOLLOW(F) = {*,+, ), $ }
TRNG XUN NAM
18
19
V d
Xt vn phm G:
E T E'
T F T'
E' + T E' |
T' * F T' |
F (E) | id
20
Phn 4
Bi tp
21
Bi tp
1. Tnh First, Follow v to bng phn tch LL(1)
cho vn phm sau:
S Ac | BBc
C b | bCd
D bd | bDd
A BC
B dBb | dDb |
22