Grammar

This grammar is LALR(1)

Number of Rules 24

Number of Terminals 22

Number of Lr0 States2

Number of La States0

BNF

Accept ::= rhs

1: rhs ::= rhs tZ

2: rhs ::= rhs tE

3: rhs ::= rhs tz

4: rhs ::= rhs tD

5: rhs ::=

6: rhs ::= rhs tG

7: rhs ::= rhs tF

8: rhs ::= rhs ta

9: rhs ::= rhs tH

10: rhs ::= rhs tK

11: rhs ::= rhs tS

12: rhs ::= rhs tM

13: rhs ::= rhs ts

14: rhs ::= rhs tW

15: rhs ::= rhs ty

16: rhs ::= rhs literal

17: rhs ::= rhs tw

18: rhs ::= rhs tX

19: rhs ::= rhs tk

20: rhs ::= rhs tm

21: rhs ::= rhs td

22: rhs ::= rhs th

23: rhs ::= rhs delimiter

Terminals

th = 'h+'

td = 'd+'

tm = 'm+'

ta = 'a+'

ts = 's+'

tk = 'k+'

tz = 'z+'

tw = 'w+'

tH = 'H+'

delimiter = '[^A-Za-z']+'

ty = 'y+'

tG = 'G+'

tM = 'M+'

tW = 'W+'

tD = 'D+'

tF = 'F+'

tE = 'E+'

tK = 'K+'

tS = 'S+'

tX = 'X+'

tZ = 'Z+'

literal = ''[^']*''

States

State 1

( )

Accept->.rhs

rhs->. (5)

rhs Goto 2

Eof Reduce 5

tZ Reduce 5

tE Reduce 5

tz Reduce 5

tD Reduce 5

tG Reduce 5

tF Reduce 5

ta Reduce 5

tH Reduce 5

tK Reduce 5

tS Reduce 5

tM Reduce 5

ts Reduce 5

tW Reduce 5

ty Reduce 5

literal Reduce 5

tw Reduce 5

tX Reduce 5

tk Reduce 5

tm Reduce 5

td Reduce 5

th Reduce 5

delimiter Reduce 5

State 2

( 1 )

Accept->rhs . (0)

rhs->rhs .tZ

rhs->rhs .tE

rhs->rhs .tz

rhs->rhs .tD

rhs->rhs .tG

rhs->rhs .tF

rhs->rhs .ta

rhs->rhs .tH

rhs->rhs .tK

rhs->rhs .tS

rhs->rhs .tM

rhs->rhs .ts

rhs->rhs .tW

rhs->rhs .ty

rhs->rhs .literal

rhs->rhs .tw

rhs->rhs .tX

rhs->rhs .tk

rhs->rhs .tm

rhs->rhs .td

rhs->rhs .th

rhs->rhs .delimiter

Accept->rhs . (0)

delimiter Sh/Rd 23

th Sh/Rd 22

td Sh/Rd 21

tm Sh/Rd 20

tk Sh/Rd 19

tX Sh/Rd 18

tw Sh/Rd 17

literal Sh/Rd 16

ty Sh/Rd 15

tW Sh/Rd 14

ts Sh/Rd 13

tM Sh/Rd 12

tS Sh/Rd 11

tK Sh/Rd 10

tH Sh/Rd 9

ta Sh/Rd 8

tF Sh/Rd 7

tG Sh/Rd 6

tD Sh/Rd 4

tz Sh/Rd 3

tE Sh/Rd 2

tZ Sh/Rd 1

Eof Reduce 0

First Map for Nonterminals

rhs ==>> { tZ tE tz tD Empty tG tF ta tH tK tS tM ts tW ty literal tw tX tk tm td th delimiter}

Accept ==>> { tZ tE tz tD tG tF ta tH tK tS tM ts tW ty literal tw tX tk tm td th delimiter Eof}

Closure for Nonterminals

rhs ==>> {}

Accept ==>> { rhs}

Nullable Nonterminals

rhs ==>> true

Accept ==>> false