rustlr 0.2.1

LR(1)/LALR(1) parser generator for rust
Documentation
trace-level set to 4
parsing grammar from ../class-resources/brackets/brackets.grammar
computing Nullable set
computing First sets
Generating LALR state machine for grammar brackets...
state 0:
  (5) WS --> .  { Whitespace,(,[,LBRACE,EOF, }
  (6) WS --> .WS Whitespace  { (,Whitespace,EOF,LBRACE,[, }
  (7) START --> .S  { EOF, }
  (3) S --> .WS  { LBRACE,[,EOF,(, }
  (4) S --> .S E  { [,LBRACE,EOF,(, }
state 1:
  (7) START --> S .  { EOF, }
  (1) E --> .[ S ]  { EOF,LBRACE,(,[, }
  (2) E --> .LBRACE S RBRACE  { (,LBRACE,[,EOF, }
  (0) E --> .( S )  { [,LBRACE,EOF,(, }
  (4) S --> S .E  { LBRACE,(,EOF,[, }
state 2:
  (6) WS --> WS .Whitespace  { EOF,],RBRACE,LBRACE,),Whitespace,[,(, }
  (3) S --> WS .  { ],LBRACE,RBRACE,),(,EOF,[, }
state 3:
  (1) E --> [ .S ]  { LBRACE,(,[,EOF,RBRACE,),], }
  (4) S --> .S E  { (,[,],LBRACE, }
  (6) WS --> .WS Whitespace  { [,(,],Whitespace,LBRACE, }
  (3) S --> .WS  { ],(,[,LBRACE, }
  (5) WS --> .  { ],Whitespace,LBRACE,[,(, }
state 4:
  (2) E --> LBRACE .S RBRACE  { ),LBRACE,(,[,RBRACE,],EOF, }
  (3) S --> .WS  { [,LBRACE,RBRACE,(, }
  (4) S --> .S E  { (,RBRACE,[,LBRACE, }
  (6) WS --> .WS Whitespace  { (,Whitespace,RBRACE,LBRACE,[, }
  (5) WS --> .  { Whitespace,(,[,LBRACE,RBRACE, }
state 5:
  (4) S --> S E .  { ],EOF,(,LBRACE,[,RBRACE,), }
state 6:
  (6) WS --> .WS Whitespace  { Whitespace,),[,LBRACE,(, }
  (4) S --> .S E  { LBRACE,[,),(, }
  (5) WS --> .  { Whitespace,LBRACE,(,),[, }
  (0) E --> ( .S )  { RBRACE,],LBRACE,(,[,EOF,), }
  (3) S --> .WS  { [,),(,LBRACE, }
state 7:
  (6) WS --> WS Whitespace .  { Whitespace,EOF,LBRACE,[,],RBRACE,),(, }
state 8:
  (4) S --> S .E  { (,LBRACE,],[, }
  (1) E --> [ S .]  { (,RBRACE,EOF,],LBRACE,[,), }
  (2) E --> .LBRACE S RBRACE  { ],(,LBRACE,[, }
  (0) E --> .( S )  { LBRACE,],(,[, }
  (1) E --> .[ S ]  { (,],LBRACE,[, }
state 9:
  (2) E --> LBRACE S .RBRACE  { RBRACE,EOF,(,],LBRACE,),[, }
  (2) E --> .LBRACE S RBRACE  { [,LBRACE,(,RBRACE, }
  (0) E --> .( S )  { LBRACE,[,(,RBRACE, }
  (4) S --> S .E  { LBRACE,(,[,RBRACE, }
  (1) E --> .[ S ]  { [,(,LBRACE,RBRACE, }
state 10:
  (0) E --> ( S .)  { RBRACE,LBRACE,[,(,EOF,],), }
  (4) S --> S .E  { ),[,LBRACE,(, }
  (2) E --> .LBRACE S RBRACE  { LBRACE,(,[,), }
  (0) E --> .( S )  { (,[,LBRACE,), }
  (1) E --> .[ S ]  { LBRACE,),(,[, }
state 11:
  (1) E --> [ S ] .  { ],(,EOF,),RBRACE,[,LBRACE, }
state 12:
  (2) E --> LBRACE S RBRACE .  { RBRACE,LBRACE,),],EOF,(,[, }
state 13:
  (0) E --> ( S ) .  { LBRACE,),EOF,[,(,RBRACE,], }
written parser to bracketsparser.rs