
# 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),
]
