# parsetab.py
# This file is automatically generated. Do not edit.
_tabversion = '3.5'
_lr_method = 'LALR'
_lr_signature = 'A4908DFFF94F3402E0156DF82495775C'
_lr_action_items = {'GREATER_THAN':([2,3,4,6,10,11,12,13,14,16,17,18,20,22,24,25,27,29,31,32,33,34,35,36,37,38,39,40,41,],[11,-3,-3,-3,-1,-3,-4,-6,-5,-3,-8,-7,-3,-3,33,-12,-10,-9,-11,-1,-3,-3,-3,-3,-2,-16,-14,-13,-15,]),'AMPERSAND':([0,2,3,4,5,6,7,8,9,11,16,20,22,23,33,34,35,36,],[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,]),'RBRACE':([3,4,6,9,11,12,13,14,16,17,18,20,21,22,25,27,29,30,31,32,33,34,35,36,37,38,39,40,41,],[-3,-3,-3,22,-3,-4,-6,-5,-3,-8,-7,-3,-1,-3,-12,-10,-9,36,-11,-1,-3,-3,-3,-3,-2,-16,-14,-13,-15,]),'RPAREN':([3,4,6,8,11,12,13,14,16,17,18,19,20,22,25,27,28,29,31,32,33,34,35,36,37,38,39,40,41,],[-3,-3,-3,20,-3,-4,-6,-5,-3,-8,-7,-1,-3,-3,-12,-10,35,-9,-11,-1,-3,-3,-3,-3,-2,-16,-14,-13,-15,]),'ASTERISK':([0,2,3,4,5,6,7,8,9,11,16,20,22,23,33,34,35,36,],[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,]),'$end':([1,3,4,6,11,12,13,14,16,17,18,20,22,25,27,29,31,33,34,35,36,38,39,40,41,],[0,-3,-3,-3,-3,-4,-6,-5,-3,-8,-7,-3,-3,-12,-10,-9,-11,-3,-3,-3,-3,-16,-14,-13,-15,]),'COMMA':([3,4,6,10,11,12,13,14,15,16,17,18,19,20,21,22,25,27,29,31,32,33,34,35,36,38,39,40,41,],[-3,-3,-3,23,-3,-4,-6,-5,23,-3,-8,-7,23,-3,23,-3,-12,-10,-9,-11,23,-3,-3,-3,-3,-16,-14,-13,-15,]),'LESS_THAN':([0,2,3,4,5,6,7,8,9,11,16,20,22,23,33,34,35,36,],[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,]),'LBRACKET':([0,2,3,4,5,6,7,8,9,11,16,20,22,23,33,34,35,36,],[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,]),'IDENTIFIER':([0,2,3,4,5,6,7,8,9,11,16,20,22,23,33,34,35,36,],[6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,]),'RBRACKET':([3,4,5,6,11,12,13,14,15,16,17,18,20,22,25,26,27,29,31,32,33,34,35,36,37,38,39,40,41,],[-3,-3,16,-3,-3,-4,-6,-5,-1,-3,-8,-7,-3,-3,-12,34,-10,-9,-11,-1,-3,-3,-3,-3,-2,-16,-14,-13,-15,]),'DOUBLE_COLON':([0,2,3,4,5,6,7,8,9,11,16,20,22,23,33,34,35,36,],[7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,]),'LPAREN':([0,2,3,4,5,6,7,8,9,11,16,20,22,23,33,34,35,36,],[8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,]),'LBRACE':([0,2,3,4,5,6,7,8,9,11,16,20,22,23,33,34,35,36,],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,]),}
_lr_action = {}
for _k, _v in _lr_action_items.items():
for _x,_y in zip(_v[0],_v[1]):
if not _x in _lr_action: _lr_action[_x] = {}
_lr_action[_x][_k] = _y
del _lr_action_items
_lr_goto_items = {'balanced_string':([0,2,3,4,5,6,7,8,9,11,16,20,22,23,33,34,35,36,],[1,10,12,12,15,12,18,19,21,12,12,12,12,32,12,12,12,12,]),'comma_separated_balanced_string':([10,15,19,21,32,],[24,26,28,30,37,]),'optional_balanced_string':([3,4,6,11,16,20,22,33,34,35,36,],[13,14,17,25,27,29,31,38,39,40,41,]),}
_lr_goto = {}
for _k, _v in _lr_goto_items.items():
for _x, _y in zip(_v[0], _v[1]):
if not _x in _lr_goto: _lr_goto[_x] = {}
_lr_goto[_x][_k] = _y
del _lr_goto_items
_lr_productions = [
("S' -> balanced_string","S'",1,None,None,None),
('comma_separated_balanced_string -> <empty>','comma_separated_balanced_string',0,'p_comma_separated_balanced_string_empty','analyze_template_instantiations_clang_diagnostics.py',156),
('comma_separated_balanced_string -> COMMA balanced_string comma_separated_balanced_string','comma_separated_balanced_string',3,'p_comma_separated_balanced_string_not_empty','analyze_template_instantiations_clang_diagnostics.py',160),
('optional_balanced_string -> <empty>','optional_balanced_string',0,'p_optional_balanced_string_empty','analyze_template_instantiations_clang_diagnostics.py',167),
('optional_balanced_string -> balanced_string','optional_balanced_string',1,'p_optional_balanced_string_not_empty','analyze_template_instantiations_clang_diagnostics.py',171),
('balanced_string -> ASTERISK optional_balanced_string','balanced_string',2,'p_balanced_string_terminal_symbol','analyze_template_instantiations_clang_diagnostics.py',200),
('balanced_string -> AMPERSAND optional_balanced_string','balanced_string',2,'p_balanced_string_terminal_symbol','analyze_template_instantiations_clang_diagnostics.py',201),
('balanced_string -> DOUBLE_COLON balanced_string','balanced_string',2,'p_balanced_string_terminal','analyze_template_instantiations_clang_diagnostics.py',206),
('balanced_string -> IDENTIFIER optional_balanced_string','balanced_string',2,'p_balanced_string_terminal','analyze_template_instantiations_clang_diagnostics.py',207),
('balanced_string -> LPAREN RPAREN optional_balanced_string','balanced_string',3,'p_balanced_string_with_balanced_token_no_comma_separated_elems','analyze_template_instantiations_clang_diagnostics.py',283),
('balanced_string -> LBRACKET RBRACKET optional_balanced_string','balanced_string',3,'p_balanced_string_with_balanced_token_no_comma_separated_elems','analyze_template_instantiations_clang_diagnostics.py',284),
('balanced_string -> LBRACE RBRACE optional_balanced_string','balanced_string',3,'p_balanced_string_with_balanced_token_no_comma_separated_elems','analyze_template_instantiations_clang_diagnostics.py',285),
('balanced_string -> LESS_THAN GREATER_THAN optional_balanced_string','balanced_string',3,'p_balanced_string_with_balanced_token_no_comma_separated_elems','analyze_template_instantiations_clang_diagnostics.py',286),
('balanced_string -> LPAREN balanced_string comma_separated_balanced_string RPAREN optional_balanced_string','balanced_string',5,'p_balanced_string_with_balanced_token_some_comma_separated_elems','analyze_template_instantiations_clang_diagnostics.py',297),
('balanced_string -> LBRACKET balanced_string comma_separated_balanced_string RBRACKET optional_balanced_string','balanced_string',5,'p_balanced_string_with_balanced_token_some_comma_separated_elems','analyze_template_instantiations_clang_diagnostics.py',298),
('balanced_string -> LBRACE balanced_string comma_separated_balanced_string RBRACE optional_balanced_string','balanced_string',5,'p_balanced_string_with_balanced_token_some_comma_separated_elems','analyze_template_instantiations_clang_diagnostics.py',299),
('balanced_string -> LESS_THAN balanced_string comma_separated_balanced_string GREATER_THAN optional_balanced_string','balanced_string',5,'p_balanced_string_with_balanced_token_some_comma_separated_elems','analyze_template_instantiations_clang_diagnostics.py',300),
]