Download presentation
Presentation is loading. Please wait.
Published byΥγίνος Βάμβας Modified over 5 years ago
1
LR(1) for Bill McKeeman Dartmouth April 18, 2008 E ← T ┤ T ← F
F ← i F ← ( T ) Bill McKeeman Dartmouth April 18, 2008
2
a simple expression cfg
E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) a simple expression cfg end-of-file symbol
3
E ← ▫ T ┤ E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) LR start state
4
marked rules closure for T lookahead kernel in red closure in green
E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F ┤ E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) marked rules closure for T lookahead kernel in red closure in green
5
closure for F E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤
6
another closure for T E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i
7
another closure for F E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i
8
merge lookaheads closure complete E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F
F ← ▫ i F ← ▫ ( T ) ┤* E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) merge lookaheads closure complete
9
shift T new kernel E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T )
┤* E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) E ← T ▫ ┤ T ← T ▫ * F ┤* shift T new kernel
10
shift F another new kernel E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i
┤* E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) E ← T ▫ ┤ T ← T ▫ * F ┤* T ← F ▫ ┤* shift F another new kernel
11
shift i another new kernel E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i
┤* E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) E ← T ▫ ┤ T ← T ▫ * F ┤* T ← F ▫ ┤* shift i F ← i ▫ ┤* another new kernel
12
1 finish state 1 shift ( another new kernel E ← ▫ T ┤ T ← ▫ F
┤* E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) 1 E ← T ▫ ┤ T ← T ▫ * F ┤* finish state 1 T ← F ▫ ┤* shift ( F ← i ▫ ┤* another new kernel F ← ( ▫ T ) ┤*
13
1 closure E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* E ← T ┤
) *
14
shift ┤ (final LR state)
E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* E ← T ┤ ▫ E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) 1 E ← T ▫ ┤ T ← T ▫ * F ┤* shift ┤ (final LR state) T ← F ▫ ┤* F ← i ▫ ┤* F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* ) *
15
1 2 shift * 3 finish states 2,3,4 4 E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F
┤* E ← T ┤ ▫ E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) T ← T * ▫ F ┤* 1 E ← T ▫ ┤ T ← T ▫ * F ┤* 2 shift * 3 T ← F ▫ ┤* finish states 2,3,4 4 F ← i ▫ ┤* F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* ) *
16
1 2 closure 3 4 E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤*
) *
17
1 2 3 4 shift T E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤*
) * E ← T ▫ ┤ T ← T ▫ * F ┤* 2 3 T ← F ▫ ┤* 4 F ← i ▫ ┤* shift T F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* ) *
18
1 2 3 4 shift F E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤*
) * E ← T ▫ ┤ T ← T ▫ * F ┤* 2 T ← F ▫ ) * 3 T ← F ▫ ┤* 4 F ← i ▫ ┤* shift F F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* ) *
19
1 2 3 4 shift i E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤*
) * E ← T ▫ ┤ T ← T ▫ * F ┤* 2 T ← F ▫ ) * 3 T ← F ▫ ┤* F ← i ▫ ) * 4 F ← i ▫ ┤* shift i F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* ) *
20
1 2 3 4 shift ( 5 finish state 5 E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i
┤* E ← T ┤ ▫ E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) T ← T * ▫ F F ← ▫ i F ← ▫ ( T ) ┤* 1 F ← ( T ▫ ) T ← T ▫ * F ┤* ) * E ← T ▫ ┤ T ← T ▫ * F ┤* 2 T ← F ▫ ) * 3 T ← F ▫ ┤* F ← i ▫ ) * 4 F ← i ▫ ┤* shift ( F ← ( ▫ T ) ) * F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* ) * 5 finish state 5
21
1 2 3 4 closure 5 E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤*
) * E ← T ▫ ┤ T ← T ▫ * F ┤* 2 T ← F ▫ ) * 3 T ← F ▫ ┤* F ← i ▫ ) * 4 F ← i ▫ ┤* closure F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ) * F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* ) * 5
22
6 7 4 1 5 2 finish state 6 shift on F and I and ( finish state 7
E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* 6 E ← T ┤ ▫ T ← T * F ▫ ┤* 7 T ← T * ▫ F F ← ▫ i F ← ▫ ( T ) ┤* 4 F ← i ▫ ┤* 1 5 F ← ( ▫ T ) ┤* F ← ( T ▫ ) T ← T ▫ * F ┤* ) * E ← T ▫ ┤ T ← T ▫ * F ┤* 2 finish state 6 shift on F and I and ( finish state 7 repeat state 4 and 5 T ← F ▫ ) * 3 T ← F ▫ ┤* F ← i ▫ ) * 4 F ← i ▫ ┤* F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ) * F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* ) * 5
23
6 7 4 1 5 8 2 9 3 10 4 shift on ) and * finish states 8,9,10 5 E ← T ┤
T ← F T ← T * F F ← i F ← ( T ) E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* 6 E ← T ┤ ▫ T ← T * F ▫ ┤* 7 T ← T * ▫ F F ← ▫ i F ← ▫ ( T ) ┤* 4 F ← i ▫ ┤* 1 5 F ← ( ▫ T ) ┤* F ← ( T ▫ ) T ← T ▫ * F ┤* ) * F ← ( T ) ▫ ┤* E ← T ▫ ┤ T ← T ▫ * F ┤* 8 2 T ← T * ▫ F ) * 9 T ← F ▫ ) * 3 T ← F ▫ ┤* 10 F ← i ▫ ) * 4 F ← i ▫ ┤* shift on ) and * finish states 8,9,10 F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ) * F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* ) * 5
24
6 7 4 1 5 8 2 9 3 10 4 closure 5 E ← T ┤ T ← F T ← T * F F ← i
┤* 6 E ← T ┤ ▫ T ← T * F ▫ ┤* 7 T ← T * ▫ F F ← ▫ i F ← ▫ ( T ) ┤* 4 F ← i ▫ ┤* 1 5 F ← ( ▫ T ) ┤* F ← ( T ▫ ) T ← T ▫ * F ┤* ) * F ← ( T ) ▫ ┤* E ← T ▫ ┤ T ← T ▫ * F ┤* 8 2 T ← T * ▫ F F ← ▫ i F ← ▫ ( T ) ) * 9 T ← F ▫ ) * 3 T ← F ▫ ┤* 10 F ← i ▫ ) * 4 F ← i ▫ ┤* F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ) * F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* ) * closure 5
25
shift on T and F and i and (
E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* 6 E ← T ┤ ▫ 12 T ← T * F ▫ ┤* 7 T ← T * ▫ F F ← ▫ i F ← ▫ ( T ) ┤* 4 F ← i ▫ ┤* 1 5 F ← ( ▫ T ) ┤* F ← ( T ▫ ) T ← T ▫ * F ┤* ) * 13 F ← ( T ) ▫ ┤* E ← T ▫ ┤ T ← T ▫ * F ┤* 8 2 T ← T * ▫ F F ← ▫ i F ← ▫ ( T ) ) * 9 T ← F ▫ ) * 3 T ← F ▫ ┤* 10 F ← i ▫ ) * 4 F ← i ▫ ┤* 11 F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ) * F ← ( T ▫ ) T ← T ▫ * F ) * F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* ) * 9 T ← F ▫ ) * 5 10 F ← i ▫ ) * 11 F ← ( ▫ T ) ) * shift on T and F and i and ( finish state 11, repeat states 9,10,11, finish states 12,13
26
finish state 14, repeat states 10,11
E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* 6 E ← T ┤ ▫ 12 T ← T * F ▫ ┤* 7 T ← T * ▫ F F ← ▫ i F ← ▫ ( T ) ┤* 4 F ← i ▫ ┤* 1 5 F ← ( ▫ T ) ┤* F ← ( T ▫ ) T ← T ▫ * F ┤* ) * 13 F ← ( T ) ▫ ┤* E ← T ▫ ┤ T ← T ▫ * F ┤* 8 2 T ← T * F ▫ ) * 14 T ← T * ▫ F F ← ▫ i F ← ▫ ( T ) ) * 9 T ← F ▫ ) * 11 F ← i ▫ ) * 3 T ← F ▫ ┤* 10 F ← i ▫ ) * 10 F ← ( ▫ T ) ) * 4 F ← i ▫ ┤* 11 F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ) * F ← ( T ▫ ) T ← T ▫ * F ) * F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* ) * 9 T ← F ▫ ) * 5 10 F ← i ▫ ) * 11 F ← ( ▫ T ) ) * shift on F and i and ( finish state 14, repeat states 10,11
27
shift ) and *, finish state 15, repeat state 14
E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* 6 E ← T ┤ ▫ 12 T ← T * F ▫ ┤* 7 T ← T * ▫ F F ← ▫ i F ← ▫ ( T ) ┤* 4 F ← i ▫ ┤* 1 5 F ← ( ▫ T ) ┤* F ← ( T ▫ ) T ← T ▫ * F ┤* ) * 13 F ← ( T ) ▫ ┤* E ← T ▫ ┤ T ← T ▫ * F ┤* 8 2 T ← T * F ▫ ) * 14 T ← T * ▫ F F ← ▫ i F ← ▫ ( T ) ) * 9 T ← F ▫ ) * 11 F ← i ▫ ) * 3 T ← F ▫ ┤* 10 F ← i ▫ ) * 10 F ← ( ▫ T ) ) * 4 F ← i ▫ ┤* 11 F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ) * F ← ( T ▫ ) T ← T ▫ * F ) * F ← ( T ) ▫ ) * 15 F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* ) * 14 T ← T * ▫ F ) * 9 T ← F ▫ ) * 5 10 F ← i ▫ ) * 11 F ← ( ▫ T ) ) * shift ) and *, finish state 15, repeat state 14
28
E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) E ← ▫ T ┤ T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* 6 E ← T ┤ ▫ 12 T ← T * F ▫ ┤* 7 T ← T * ▫ F F ← ▫ i F ← ▫ ( T ) ┤* 4 F ← i ▫ ┤* 1 5 F ← ( ▫ T ) ┤* F ← ( T ▫ ) T ← T ▫ * F ┤* ) * 13 F ← ( T ) ▫ ┤* E ← T ▫ ┤ T ← T ▫ * F ┤* 8 2 16 T ← T * F ▫ ) * 14 T ← T * ▫ F F ← ▫ i F ← ▫ ( T ) ) * 9 T ← F ▫ ) * 11 F ← i ▫ ) * 3 T ← F ▫ ┤* 10 F ← i ▫ ) * 10 F ← ( ▫ T ) ) * 4 F ← i ▫ ┤* 11 F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ) * F ← ( T ▫ ) T ← T ▫ * F ) * 17 F ← ( T ) ▫ ) * 15 F ← ( ▫ T ) T ← ▫ F T ← ▫ T * F F ← ▫ i F ← ▫ ( T ) ┤* ) * 14 T ← T * ▫ F ) * 9 T ← F ▫ ) * 5 10 F ← i ▫ ) * 11 F ← ( ▫ T ) ) * finish states 16,17
29
The LR Matrix symbols stack input states i * i ┤ 1 1i4 * i ┤ 1F * i ┤
( ) 1 2 3 4 5 6 7 -2 -4 8 9 10 11 -1 12 14 13 15 -3 -5 16 17 -1: -2: -3: -4: -5: E ← T ┤ T ← F T ← T * F F ← i F ← ( T ) i * i ┤ 1 1i4 * i ┤ 1F * i ┤ 1F3 * i ┤ 1T * i ┤ 1T2 * i ┤ 1T2*7 i ┤ states 1T2*7i4 ┤ 1T2*7F ┤ 1T2*7F12 ┤ 1T ┤ 1T2 ┤ 1T2 ┤6 E
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.