You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

898 lines
50 KiB

Created by PLY version 3.7 (http://www.dabeaz.com/ply)
Grammar
Rule 0 S' -> balanced_string
Rule 1 comma_separated_balanced_string -> <empty>
Rule 2 comma_separated_balanced_string -> COMMA balanced_string comma_separated_balanced_string
Rule 3 optional_balanced_string -> <empty>
Rule 4 optional_balanced_string -> balanced_string
Rule 5 balanced_string -> ASTERISK optional_balanced_string
Rule 6 balanced_string -> AMPERSAND optional_balanced_string
Rule 7 balanced_string -> DOUBLE_COLON balanced_string
Rule 8 balanced_string -> IDENTIFIER optional_balanced_string
Rule 9 balanced_string -> LPAREN RPAREN optional_balanced_string
Rule 10 balanced_string -> LBRACKET RBRACKET optional_balanced_string
Rule 11 balanced_string -> LBRACE RBRACE optional_balanced_string
Rule 12 balanced_string -> LESS_THAN GREATER_THAN optional_balanced_string
Rule 13 balanced_string -> LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
Rule 14 balanced_string -> LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
Rule 15 balanced_string -> LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
Rule 16 balanced_string -> LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
Terminals, with rules where they appear
AMPERSAND : 6
ASTERISK : 5
COMMA : 2
DOUBLE_COLON : 7
GREATER_THAN : 12 16
IDENTIFIER : 8
LBRACE : 11 15
LBRACKET : 10 14
LESS_THAN : 12 16
LPAREN : 9 13
RBRACE : 11 15
RBRACKET : 10 14
RPAREN : 9 13
error :
Nonterminals, with rules where they appear
balanced_string : 2 4 7 13 14 15 16 0
comma_separated_balanced_string : 2 13 14 15 16
optional_balanced_string : 5 6 8 9 10 11 12 13 14 15 16
Parsing method: LALR
state 0
(0) S' -> . balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 1
state 1
(0) S' -> balanced_string .
state 2
(12) balanced_string -> LESS_THAN . GREATER_THAN optional_balanced_string
(16) balanced_string -> LESS_THAN . balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
GREATER_THAN shift and go to state 11
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 10
state 3
(6) balanced_string -> AMPERSAND . optional_balanced_string
(3) optional_balanced_string -> .
(4) optional_balanced_string -> . balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
$end reduce using rule 3 (optional_balanced_string -> .)
COMMA reduce using rule 3 (optional_balanced_string -> .)
GREATER_THAN reduce using rule 3 (optional_balanced_string -> .)
RBRACKET reduce using rule 3 (optional_balanced_string -> .)
RPAREN reduce using rule 3 (optional_balanced_string -> .)
RBRACE reduce using rule 3 (optional_balanced_string -> .)
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 12
optional_balanced_string shift and go to state 13
state 4
(5) balanced_string -> ASTERISK . optional_balanced_string
(3) optional_balanced_string -> .
(4) optional_balanced_string -> . balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
$end reduce using rule 3 (optional_balanced_string -> .)
COMMA reduce using rule 3 (optional_balanced_string -> .)
GREATER_THAN reduce using rule 3 (optional_balanced_string -> .)
RBRACKET reduce using rule 3 (optional_balanced_string -> .)
RPAREN reduce using rule 3 (optional_balanced_string -> .)
RBRACE reduce using rule 3 (optional_balanced_string -> .)
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 12
optional_balanced_string shift and go to state 14
state 5
(10) balanced_string -> LBRACKET . RBRACKET optional_balanced_string
(14) balanced_string -> LBRACKET . balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
RBRACKET shift and go to state 16
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 15
state 6
(8) balanced_string -> IDENTIFIER . optional_balanced_string
(3) optional_balanced_string -> .
(4) optional_balanced_string -> . balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
$end reduce using rule 3 (optional_balanced_string -> .)
COMMA reduce using rule 3 (optional_balanced_string -> .)
GREATER_THAN reduce using rule 3 (optional_balanced_string -> .)
RBRACKET reduce using rule 3 (optional_balanced_string -> .)
RPAREN reduce using rule 3 (optional_balanced_string -> .)
RBRACE reduce using rule 3 (optional_balanced_string -> .)
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 12
optional_balanced_string shift and go to state 17
state 7
(7) balanced_string -> DOUBLE_COLON . balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 18
state 8
(9) balanced_string -> LPAREN . RPAREN optional_balanced_string
(13) balanced_string -> LPAREN . balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
RPAREN shift and go to state 20
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 19
state 9
(11) balanced_string -> LBRACE . RBRACE optional_balanced_string
(15) balanced_string -> LBRACE . balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
RBRACE shift and go to state 22
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 21
state 10
(16) balanced_string -> LESS_THAN balanced_string . comma_separated_balanced_string GREATER_THAN optional_balanced_string
(1) comma_separated_balanced_string -> .
(2) comma_separated_balanced_string -> . COMMA balanced_string comma_separated_balanced_string
GREATER_THAN reduce using rule 1 (comma_separated_balanced_string -> .)
COMMA shift and go to state 23
comma_separated_balanced_string shift and go to state 24
state 11
(12) balanced_string -> LESS_THAN GREATER_THAN . optional_balanced_string
(3) optional_balanced_string -> .
(4) optional_balanced_string -> . balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
$end reduce using rule 3 (optional_balanced_string -> .)
COMMA reduce using rule 3 (optional_balanced_string -> .)
GREATER_THAN reduce using rule 3 (optional_balanced_string -> .)
RBRACKET reduce using rule 3 (optional_balanced_string -> .)
RPAREN reduce using rule 3 (optional_balanced_string -> .)
RBRACE reduce using rule 3 (optional_balanced_string -> .)
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 12
optional_balanced_string shift and go to state 25
state 12
(4) optional_balanced_string -> balanced_string .
$end reduce using rule 4 (optional_balanced_string -> balanced_string .)
COMMA reduce using rule 4 (optional_balanced_string -> balanced_string .)
GREATER_THAN reduce using rule 4 (optional_balanced_string -> balanced_string .)
RBRACKET reduce using rule 4 (optional_balanced_string -> balanced_string .)
RPAREN reduce using rule 4 (optional_balanced_string -> balanced_string .)
RBRACE reduce using rule 4 (optional_balanced_string -> balanced_string .)
state 13
(6) balanced_string -> AMPERSAND optional_balanced_string .
$end reduce using rule 6 (balanced_string -> AMPERSAND optional_balanced_string .)
COMMA reduce using rule 6 (balanced_string -> AMPERSAND optional_balanced_string .)
GREATER_THAN reduce using rule 6 (balanced_string -> AMPERSAND optional_balanced_string .)
RBRACKET reduce using rule 6 (balanced_string -> AMPERSAND optional_balanced_string .)
RPAREN reduce using rule 6 (balanced_string -> AMPERSAND optional_balanced_string .)
RBRACE reduce using rule 6 (balanced_string -> AMPERSAND optional_balanced_string .)
state 14
(5) balanced_string -> ASTERISK optional_balanced_string .
$end reduce using rule 5 (balanced_string -> ASTERISK optional_balanced_string .)
COMMA reduce using rule 5 (balanced_string -> ASTERISK optional_balanced_string .)
GREATER_THAN reduce using rule 5 (balanced_string -> ASTERISK optional_balanced_string .)
RBRACKET reduce using rule 5 (balanced_string -> ASTERISK optional_balanced_string .)
RPAREN reduce using rule 5 (balanced_string -> ASTERISK optional_balanced_string .)
RBRACE reduce using rule 5 (balanced_string -> ASTERISK optional_balanced_string .)
state 15
(14) balanced_string -> LBRACKET balanced_string . comma_separated_balanced_string RBRACKET optional_balanced_string
(1) comma_separated_balanced_string -> .
(2) comma_separated_balanced_string -> . COMMA balanced_string comma_separated_balanced_string
RBRACKET reduce using rule 1 (comma_separated_balanced_string -> .)
COMMA shift and go to state 23
comma_separated_balanced_string shift and go to state 26
state 16
(10) balanced_string -> LBRACKET RBRACKET . optional_balanced_string
(3) optional_balanced_string -> .
(4) optional_balanced_string -> . balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
$end reduce using rule 3 (optional_balanced_string -> .)
COMMA reduce using rule 3 (optional_balanced_string -> .)
GREATER_THAN reduce using rule 3 (optional_balanced_string -> .)
RBRACKET reduce using rule 3 (optional_balanced_string -> .)
RPAREN reduce using rule 3 (optional_balanced_string -> .)
RBRACE reduce using rule 3 (optional_balanced_string -> .)
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 12
optional_balanced_string shift and go to state 27
state 17
(8) balanced_string -> IDENTIFIER optional_balanced_string .
$end reduce using rule 8 (balanced_string -> IDENTIFIER optional_balanced_string .)
COMMA reduce using rule 8 (balanced_string -> IDENTIFIER optional_balanced_string .)
GREATER_THAN reduce using rule 8 (balanced_string -> IDENTIFIER optional_balanced_string .)
RBRACKET reduce using rule 8 (balanced_string -> IDENTIFIER optional_balanced_string .)
RPAREN reduce using rule 8 (balanced_string -> IDENTIFIER optional_balanced_string .)
RBRACE reduce using rule 8 (balanced_string -> IDENTIFIER optional_balanced_string .)
state 18
(7) balanced_string -> DOUBLE_COLON balanced_string .
$end reduce using rule 7 (balanced_string -> DOUBLE_COLON balanced_string .)
COMMA reduce using rule 7 (balanced_string -> DOUBLE_COLON balanced_string .)
GREATER_THAN reduce using rule 7 (balanced_string -> DOUBLE_COLON balanced_string .)
RBRACKET reduce using rule 7 (balanced_string -> DOUBLE_COLON balanced_string .)
RPAREN reduce using rule 7 (balanced_string -> DOUBLE_COLON balanced_string .)
RBRACE reduce using rule 7 (balanced_string -> DOUBLE_COLON balanced_string .)
state 19
(13) balanced_string -> LPAREN balanced_string . comma_separated_balanced_string RPAREN optional_balanced_string
(1) comma_separated_balanced_string -> .
(2) comma_separated_balanced_string -> . COMMA balanced_string comma_separated_balanced_string
RPAREN reduce using rule 1 (comma_separated_balanced_string -> .)
COMMA shift and go to state 23
comma_separated_balanced_string shift and go to state 28
state 20
(9) balanced_string -> LPAREN RPAREN . optional_balanced_string
(3) optional_balanced_string -> .
(4) optional_balanced_string -> . balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
$end reduce using rule 3 (optional_balanced_string -> .)
COMMA reduce using rule 3 (optional_balanced_string -> .)
GREATER_THAN reduce using rule 3 (optional_balanced_string -> .)
RBRACKET reduce using rule 3 (optional_balanced_string -> .)
RPAREN reduce using rule 3 (optional_balanced_string -> .)
RBRACE reduce using rule 3 (optional_balanced_string -> .)
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 12
optional_balanced_string shift and go to state 29
state 21
(15) balanced_string -> LBRACE balanced_string . comma_separated_balanced_string RBRACE optional_balanced_string
(1) comma_separated_balanced_string -> .
(2) comma_separated_balanced_string -> . COMMA balanced_string comma_separated_balanced_string
RBRACE reduce using rule 1 (comma_separated_balanced_string -> .)
COMMA shift and go to state 23
comma_separated_balanced_string shift and go to state 30
state 22
(11) balanced_string -> LBRACE RBRACE . optional_balanced_string
(3) optional_balanced_string -> .
(4) optional_balanced_string -> . balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
$end reduce using rule 3 (optional_balanced_string -> .)
COMMA reduce using rule 3 (optional_balanced_string -> .)
GREATER_THAN reduce using rule 3 (optional_balanced_string -> .)
RBRACKET reduce using rule 3 (optional_balanced_string -> .)
RPAREN reduce using rule 3 (optional_balanced_string -> .)
RBRACE reduce using rule 3 (optional_balanced_string -> .)
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 12
optional_balanced_string shift and go to state 31
state 23
(2) comma_separated_balanced_string -> COMMA . balanced_string comma_separated_balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 32
state 24
(16) balanced_string -> LESS_THAN balanced_string comma_separated_balanced_string . GREATER_THAN optional_balanced_string
GREATER_THAN shift and go to state 33
state 25
(12) balanced_string -> LESS_THAN GREATER_THAN optional_balanced_string .
$end reduce using rule 12 (balanced_string -> LESS_THAN GREATER_THAN optional_balanced_string .)
COMMA reduce using rule 12 (balanced_string -> LESS_THAN GREATER_THAN optional_balanced_string .)
GREATER_THAN reduce using rule 12 (balanced_string -> LESS_THAN GREATER_THAN optional_balanced_string .)
RBRACKET reduce using rule 12 (balanced_string -> LESS_THAN GREATER_THAN optional_balanced_string .)
RPAREN reduce using rule 12 (balanced_string -> LESS_THAN GREATER_THAN optional_balanced_string .)
RBRACE reduce using rule 12 (balanced_string -> LESS_THAN GREATER_THAN optional_balanced_string .)
state 26
(14) balanced_string -> LBRACKET balanced_string comma_separated_balanced_string . RBRACKET optional_balanced_string
RBRACKET shift and go to state 34
state 27
(10) balanced_string -> LBRACKET RBRACKET optional_balanced_string .
$end reduce using rule 10 (balanced_string -> LBRACKET RBRACKET optional_balanced_string .)
COMMA reduce using rule 10 (balanced_string -> LBRACKET RBRACKET optional_balanced_string .)
GREATER_THAN reduce using rule 10 (balanced_string -> LBRACKET RBRACKET optional_balanced_string .)
RBRACKET reduce using rule 10 (balanced_string -> LBRACKET RBRACKET optional_balanced_string .)
RPAREN reduce using rule 10 (balanced_string -> LBRACKET RBRACKET optional_balanced_string .)
RBRACE reduce using rule 10 (balanced_string -> LBRACKET RBRACKET optional_balanced_string .)
state 28
(13) balanced_string -> LPAREN balanced_string comma_separated_balanced_string . RPAREN optional_balanced_string
RPAREN shift and go to state 35
state 29
(9) balanced_string -> LPAREN RPAREN optional_balanced_string .
$end reduce using rule 9 (balanced_string -> LPAREN RPAREN optional_balanced_string .)
COMMA reduce using rule 9 (balanced_string -> LPAREN RPAREN optional_balanced_string .)
GREATER_THAN reduce using rule 9 (balanced_string -> LPAREN RPAREN optional_balanced_string .)
RBRACKET reduce using rule 9 (balanced_string -> LPAREN RPAREN optional_balanced_string .)
RPAREN reduce using rule 9 (balanced_string -> LPAREN RPAREN optional_balanced_string .)
RBRACE reduce using rule 9 (balanced_string -> LPAREN RPAREN optional_balanced_string .)
state 30
(15) balanced_string -> LBRACE balanced_string comma_separated_balanced_string . RBRACE optional_balanced_string
RBRACE shift and go to state 36
state 31
(11) balanced_string -> LBRACE RBRACE optional_balanced_string .
$end reduce using rule 11 (balanced_string -> LBRACE RBRACE optional_balanced_string .)
COMMA reduce using rule 11 (balanced_string -> LBRACE RBRACE optional_balanced_string .)
GREATER_THAN reduce using rule 11 (balanced_string -> LBRACE RBRACE optional_balanced_string .)
RBRACKET reduce using rule 11 (balanced_string -> LBRACE RBRACE optional_balanced_string .)
RPAREN reduce using rule 11 (balanced_string -> LBRACE RBRACE optional_balanced_string .)
RBRACE reduce using rule 11 (balanced_string -> LBRACE RBRACE optional_balanced_string .)
state 32
(2) comma_separated_balanced_string -> COMMA balanced_string . comma_separated_balanced_string
(1) comma_separated_balanced_string -> .
(2) comma_separated_balanced_string -> . COMMA balanced_string comma_separated_balanced_string
GREATER_THAN reduce using rule 1 (comma_separated_balanced_string -> .)
RBRACKET reduce using rule 1 (comma_separated_balanced_string -> .)
RPAREN reduce using rule 1 (comma_separated_balanced_string -> .)
RBRACE reduce using rule 1 (comma_separated_balanced_string -> .)
COMMA shift and go to state 23
comma_separated_balanced_string shift and go to state 37
state 33
(16) balanced_string -> LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN . optional_balanced_string
(3) optional_balanced_string -> .
(4) optional_balanced_string -> . balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
$end reduce using rule 3 (optional_balanced_string -> .)
COMMA reduce using rule 3 (optional_balanced_string -> .)
GREATER_THAN reduce using rule 3 (optional_balanced_string -> .)
RBRACKET reduce using rule 3 (optional_balanced_string -> .)
RPAREN reduce using rule 3 (optional_balanced_string -> .)
RBRACE reduce using rule 3 (optional_balanced_string -> .)
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 12
optional_balanced_string shift and go to state 38
state 34
(14) balanced_string -> LBRACKET balanced_string comma_separated_balanced_string RBRACKET . optional_balanced_string
(3) optional_balanced_string -> .
(4) optional_balanced_string -> . balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
$end reduce using rule 3 (optional_balanced_string -> .)
COMMA reduce using rule 3 (optional_balanced_string -> .)
GREATER_THAN reduce using rule 3 (optional_balanced_string -> .)
RBRACKET reduce using rule 3 (optional_balanced_string -> .)
RPAREN reduce using rule 3 (optional_balanced_string -> .)
RBRACE reduce using rule 3 (optional_balanced_string -> .)
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 12
optional_balanced_string shift and go to state 39
state 35
(13) balanced_string -> LPAREN balanced_string comma_separated_balanced_string RPAREN . optional_balanced_string
(3) optional_balanced_string -> .
(4) optional_balanced_string -> . balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
$end reduce using rule 3 (optional_balanced_string -> .)
COMMA reduce using rule 3 (optional_balanced_string -> .)
GREATER_THAN reduce using rule 3 (optional_balanced_string -> .)
RBRACKET reduce using rule 3 (optional_balanced_string -> .)
RPAREN reduce using rule 3 (optional_balanced_string -> .)
RBRACE reduce using rule 3 (optional_balanced_string -> .)
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 12
optional_balanced_string shift and go to state 40
state 36
(15) balanced_string -> LBRACE balanced_string comma_separated_balanced_string RBRACE . optional_balanced_string
(3) optional_balanced_string -> .
(4) optional_balanced_string -> . balanced_string
(5) balanced_string -> . ASTERISK optional_balanced_string
(6) balanced_string -> . AMPERSAND optional_balanced_string
(7) balanced_string -> . DOUBLE_COLON balanced_string
(8) balanced_string -> . IDENTIFIER optional_balanced_string
(9) balanced_string -> . LPAREN RPAREN optional_balanced_string
(10) balanced_string -> . LBRACKET RBRACKET optional_balanced_string
(11) balanced_string -> . LBRACE RBRACE optional_balanced_string
(12) balanced_string -> . LESS_THAN GREATER_THAN optional_balanced_string
(13) balanced_string -> . LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string
(14) balanced_string -> . LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string
(15) balanced_string -> . LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string
(16) balanced_string -> . LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string
$end reduce using rule 3 (optional_balanced_string -> .)
COMMA reduce using rule 3 (optional_balanced_string -> .)
GREATER_THAN reduce using rule 3 (optional_balanced_string -> .)
RBRACKET reduce using rule 3 (optional_balanced_string -> .)
RPAREN reduce using rule 3 (optional_balanced_string -> .)
RBRACE reduce using rule 3 (optional_balanced_string -> .)
ASTERISK shift and go to state 4
AMPERSAND shift and go to state 3
DOUBLE_COLON shift and go to state 7
IDENTIFIER shift and go to state 6
LPAREN shift and go to state 8
LBRACKET shift and go to state 5
LBRACE shift and go to state 9
LESS_THAN shift and go to state 2
balanced_string shift and go to state 12
optional_balanced_string shift and go to state 41
state 37
(2) comma_separated_balanced_string -> COMMA balanced_string comma_separated_balanced_string .
RBRACE reduce using rule 2 (comma_separated_balanced_string -> COMMA balanced_string comma_separated_balanced_string .)
GREATER_THAN reduce using rule 2 (comma_separated_balanced_string -> COMMA balanced_string comma_separated_balanced_string .)
RBRACKET reduce using rule 2 (comma_separated_balanced_string -> COMMA balanced_string comma_separated_balanced_string .)
RPAREN reduce using rule 2 (comma_separated_balanced_string -> COMMA balanced_string comma_separated_balanced_string .)
state 38
(16) balanced_string -> LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string .
$end reduce using rule 16 (balanced_string -> LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string .)
COMMA reduce using rule 16 (balanced_string -> LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string .)
GREATER_THAN reduce using rule 16 (balanced_string -> LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string .)
RBRACKET reduce using rule 16 (balanced_string -> LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string .)
RPAREN reduce using rule 16 (balanced_string -> LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string .)
RBRACE reduce using rule 16 (balanced_string -> LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string .)
state 39
(14) balanced_string -> LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string .
$end reduce using rule 14 (balanced_string -> LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string .)
COMMA reduce using rule 14 (balanced_string -> LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string .)
GREATER_THAN reduce using rule 14 (balanced_string -> LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string .)
RBRACKET reduce using rule 14 (balanced_string -> LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string .)
RPAREN reduce using rule 14 (balanced_string -> LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string .)
RBRACE reduce using rule 14 (balanced_string -> LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string .)
state 40
(13) balanced_string -> LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string .
$end reduce using rule 13 (balanced_string -> LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string .)
COMMA reduce using rule 13 (balanced_string -> LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string .)
GREATER_THAN reduce using rule 13 (balanced_string -> LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string .)
RBRACKET reduce using rule 13 (balanced_string -> LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string .)
RPAREN reduce using rule 13 (balanced_string -> LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string .)
RBRACE reduce using rule 13 (balanced_string -> LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string .)
state 41
(15) balanced_string -> LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string .
$end reduce using rule 15 (balanced_string -> LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string .)
COMMA reduce using rule 15 (balanced_string -> LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string .)
GREATER_THAN reduce using rule 15 (balanced_string -> LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string .)
RBRACKET reduce using rule 15 (balanced_string -> LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string .)
RPAREN reduce using rule 15 (balanced_string -> LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string .)
RBRACE reduce using rule 15 (balanced_string -> LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string .)