Grammar
This grammar is LALR(1)
Number of Rules 7
Number of Terminals 3
Number of Lr0 States6
Number of La States0
BNF
Accept ::= sqlDate
sqlDate ::= yyyy '-' MM '-' dd
yyyy ::= year4
MM ::= month
dd ::= dayInMonth
5: month ::= digit12
6: dayInMonth ::= digit12
Terminals
digit12 = '[0-9]{1,2}'
year4 = '[0-9]{4}'
States
State 1
( )
Accept->.sqlDate
year4 Sh/Rd 2
sqlDate Goto 2
yyyy Goto 3
State 2
( 1 )
Accept->sqlDate . (0)
Accept->sqlDate . (0)
Eof Reduce 0
State 3
( 1 )
sqlDate->yyyy .'-' MM '-' dd
'-' Shift 4
State 4
( 3 )
sqlDate->yyyy '-' .MM '-' dd
digit12 Sh/Rd 5
MM Goto 5
month Gt/Rd 3
State 5
( 4 )
sqlDate->yyyy '-' MM .'-' dd
'-' Shift 6
State 6
( 5 )
sqlDate->yyyy '-' MM '-' .dd
digit12 Sh/Rd 6
dd Gt/Rd 1
dayInMonth Gt/Rd 4
First Map for Nonterminals
dayInMonth ==>> { digit12}
dd ==>> { digit12}
month ==>> { digit12}
yyyy ==>> { year4}
MM ==>> { digit12}
sqlDate ==>> { year4}
Accept ==>> { year4}
Closure for Nonterminals
dayInMonth ==>> {}
dd ==>> { dayInMonth}
month ==>> {}
yyyy ==>> {}
MM ==>> { month}
sqlDate ==>> { yyyy}
Accept ==>> { yyyy sqlDate}
Nullable Nonterminals
dayInMonth ==>> false
dd ==>> false
month ==>> false
yyyy ==>> false
MM ==>> false
sqlDate ==>> false
Accept ==>> false