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

_lr_method = 'LALR'

_lr_signature = 'BI_EDGE DIR_EDGE EOC NODE TITLEgrapl : TITLE EOC graph\n                 | graphgraph : graph command\n                | commandcommand : NODE EOC\n                | NODE DIR_EDGE NODE EOC\n                | NODE BI_EDGE NODE EOC'
    
_lr_action_items = {'TITLE':([0,],[2,]),'NODE':([0,3,4,6,7,8,9,10,11,14,15,],[5,5,-4,5,-3,-5,12,13,5,-6,-7,]),'$end':([1,3,4,7,8,11,14,15,],[0,-2,-4,-3,-5,-1,-6,-7,]),'EOC':([2,5,12,13,],[6,8,14,15,]),'DIR_EDGE':([5,],[9,]),'BI_EDGE':([5,],[10,]),}

_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 = {'grapl':([0,],[1,]),'graph':([0,6,],[3,11,]),'command':([0,3,6,11,],[4,7,4,7,]),}

_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' -> grapl","S'",1,None,None,None),
  ('grapl -> TITLE EOC graph','grapl',3,'p_grapl','dsl.py',66),
  ('grapl -> graph','grapl',1,'p_grapl','dsl.py',67),
  ('graph -> graph command','graph',2,'p_graph','dsl.py',72),
  ('graph -> command','graph',1,'p_graph','dsl.py',73),
  ('command -> NODE EOC','command',2,'p_command','dsl.py',77),
  ('command -> NODE DIR_EDGE NODE EOC','command',4,'p_command','dsl.py',78),
  ('command -> NODE BI_EDGE NODE EOC','command',4,'p_command','dsl.py',79),
]
