
# parsetab.py
# This file is automatically generated. Do not edit.
# pylint: disable=W,C,R
_tabversion = '3.10'

_lr_method = 'LALR'

_lr_signature = 'BEGIN_OBJECT END_OBJECT LIST_SEPARATOR NAME TYPE VALUEsisl_object : BEGIN_OBJECT sisl_triplets END_OBJECT sisl_triplets : empty_triplet\n                     | sisl_triplet\n                     | sisl_triplet_list  empty_triplet :  sisl_triplet : NAME type_and_value  type_and_value : type value  type : TYPE  value : VALUE\n              | sisl_object  sisl_triplet_list : sisl_triplet LIST_SEPARATOR sisl_triplets '
    
_lr_action_items = {'BEGIN_OBJECT':([0,11,12,],[2,2,-8,]),'$end':([1,8,],[0,-1,]),'END_OBJECT':([2,3,4,5,6,8,9,10,13,14,15,16,],[-5,8,-2,-3,-4,-1,-5,-6,-11,-7,-9,-10,]),'NAME':([2,9,],[7,7,]),'LIST_SEPARATOR':([5,8,10,14,15,16,],[9,-1,-6,-7,-9,-10,]),'TYPE':([7,],[12,]),'VALUE':([11,12,],[15,-8,]),}

_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 = {'sisl_object':([0,11,],[1,16,]),'sisl_triplets':([2,9,],[3,13,]),'empty_triplet':([2,9,],[4,4,]),'sisl_triplet':([2,9,],[5,5,]),'sisl_triplet_list':([2,9,],[6,6,]),'type_and_value':([7,],[10,]),'type':([7,],[11,]),'value':([11,],[14,]),}

_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' -> sisl_object","S'",1,None,None,None),
  ('sisl_object -> BEGIN_OBJECT sisl_triplets END_OBJECT','sisl_object',3,'p_sisl_object','sisl_parser.py',7),
  ('sisl_triplets -> empty_triplet','sisl_triplets',1,'p_sisl_triplets','sisl_parser.py',12),
  ('sisl_triplets -> sisl_triplet','sisl_triplets',1,'p_sisl_triplets','sisl_parser.py',13),
  ('sisl_triplets -> sisl_triplet_list','sisl_triplets',1,'p_sisl_triplets','sisl_parser.py',14),
  ('empty_triplet -> <empty>','empty_triplet',0,'p_empty_triplet','sisl_parser.py',19),
  ('sisl_triplet -> NAME type_and_value','sisl_triplet',2,'p_sisl_triplet','sisl_parser.py',24),
  ('type_and_value -> type value','type_and_value',2,'p_type_and_value','sisl_parser.py',29),
  ('type -> TYPE','type',1,'p_type','sisl_parser.py',34),
  ('value -> VALUE','value',1,'p_value','sisl_parser.py',39),
  ('value -> sisl_object','value',1,'p_value','sisl_parser.py',40),
  ('sisl_triplet_list -> sisl_triplet LIST_SEPARATOR sisl_triplets','sisl_triplet_list',3,'p_sisl_triplet_list','sisl_parser.py',45),
]
