LR0 Parsing Table CSC 3130 Tutorial 7 bridger
LR(0) Parsing Table CSC 3130 Tutorial 7 bridger. zhao@gmail. com Department of Computer Science & Engineering
LR(0) Example • Given grammar G: – S a A c B e – A b – A A b – B d • Construct the deterministic PDA that parse. • Show the parsing process for string abbcde and abbce CSC 3130 Tutorial One 10/28/2021 2
DFA for Shifting G[S] : (0)S’ S# (1)S a A c B e (2)A b (3)A Ab (4)B d I 1 : S’ S • # I 4 : A b • b I 2 : S a • A c B e a S I 0 : S’ • S # S • a. Ac. Be CSC 3130 Tutorial One I 6 : A A b • A A • b A • Ab I 5 : S a A c • B e B • d d I 8 : B d • 10/28/2021 b I 3 : S a A • c B e A A • b c B I 7 : S a A c B • e e I 9 : S a A c B e • 3
Parsing Table CSC 3130 Tutorial One 10/28/2021 4
Parsing abbcde Step 1 2 3 4 5 6 7 8 9 10 11 CSC 3130 Tutorial One states. Syms. The rest of input action goto 0 # abbcde# s 2 02 #a bbcde# s 4 024 #ab bcde# r 2 3 023 #a. A bcde# s 6 0236 #a. Ab cde# r 3 3 023 #a. A cde# s 5 0235 #a. Ac de# s 8 02358 #a. Acd e# r 4 7 02357 #a. Ac. B e# s 9 023579 #a. Ac. Be # r 1 1 01 #S # acc 10/28/2021 5
Parsing abbce Step 1 2 3 4 5 6 7 states. Syms. The rest of input action goto 0 # abbce# s 2 02 #a bbce# s 4 024 #ab bce# r 2 3 023 #a. A bce# s 6 0236 #a. Ab ce# r 3 3 023 #a. A ce# s 5 0235 #a. Ac e# err CSC 3130 Tutorial One 10/28/2021 6
Practice • Grammar G: – (0) S`→E (1) E→a. A – (3) A→c. A (4) A→d – (7) B→d (2) E→b. B (5) B→c. B • PDA states for LR(0): – I 0: S`→.E – E→.a. A – E→.b. B CSC 3130 Tutorial One I 1: S`→E. I 2: E→a.A A→. c. A A→.d 10/28/2021 7
PDA states cont. I 3: E→b.B B→.c. B B→.d I 4: A→c. AI 5: B→c.B A→.c. A B→.c. B A →. d B→.d I 6: E→a. A. I 7: E→b. B. I 8: A→c. A. I 9: B→c. B. I 10: A→d. I 11: B→d. CSC 3130 Tutorial One 10/28/2021 8
G: (0) S`→E (1) E→a. A (2) E→b. B (3) A→c. A (4) A→d (5) B→c. B (6) B→d ACTION a 0 1 2 3 4 5 6 7 8 9 10 11 c S 2 r 1 r 2 r 3 r 5 r 4 r 6 CSC 3130 Tutorial One b d S 3 S 4 S 5 r 1 r 2 r 3 r 5 r 4 r 6 S 10 S 11 r 1 r 2 r 3 r 5 r 4 r 6 # acc GOTO E A 1 6 8 r 1 r 2 r 3 r 5 r 4 r 6 10/28/2021 B 7 9 9
- Slides: 9