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

_lr_method = 'LALR'

_lr_signature = 'AND COALITION EVENTUALLY GLOBALLY IMPLIES LPAREN NEXT NOT OR PROP RPAREN UNTILexpression : expression AND expression\n                  | expression OR expression\n                  | expression IMPLIES expressionexpression : COALITION expression UNTIL expressionexpression : COALITION GLOBALLY expression\n                  | COALITION NEXT expression\n                  | COALITION EVENTUALLY expressionexpression : NOT expressionexpression : LPAREN expression RPARENexpression : PROP'
    
_lr_action_items = {'COALITION':([0,2,3,4,6,7,8,10,11,12,18,],[2,2,2,2,2,2,2,2,2,2,2,]),'NOT':([0,2,3,4,6,7,8,10,11,12,18,],[3,3,3,3,3,3,3,3,3,3,3,]),'LPAREN':([0,2,3,4,6,7,8,10,11,12,18,],[4,4,4,4,4,4,4,4,4,4,4,]),'PROP':([0,2,3,4,6,7,8,10,11,12,18,],[5,5,5,5,5,5,5,5,5,5,5,]),'$end':([1,5,13,15,16,17,19,20,21,22,23,],[0,-10,-8,-1,-2,-3,-5,-6,-7,-9,-4,]),'AND':([1,5,9,13,14,15,16,17,19,20,21,22,23,],[6,-10,6,6,6,6,6,6,6,6,6,-9,6,]),'OR':([1,5,9,13,14,15,16,17,19,20,21,22,23,],[7,-10,7,7,7,7,7,7,7,7,7,-9,7,]),'IMPLIES':([1,5,9,13,14,15,16,17,19,20,21,22,23,],[8,-10,8,8,8,8,8,8,8,8,8,-9,8,]),'GLOBALLY':([2,],[10,]),'NEXT':([2,],[11,]),'EVENTUALLY':([2,],[12,]),'UNTIL':([5,9,13,15,16,17,19,20,21,22,23,],[-10,18,-8,-1,-2,-3,-5,-6,-7,-9,-4,]),'RPAREN':([5,13,14,15,16,17,19,20,21,22,23,],[-10,-8,22,-1,-2,-3,-5,-6,-7,-9,-4,]),}

_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 = {'expression':([0,2,3,4,6,7,8,10,11,12,18,],[1,9,13,14,15,16,17,19,20,21,23,]),}

_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' -> expression","S'",1,None,None,None),
  ('expression -> expression AND expression','expression',3,'p_expression_binary','parser.py',43),
  ('expression -> expression OR expression','expression',3,'p_expression_binary','parser.py',44),
  ('expression -> expression IMPLIES expression','expression',3,'p_expression_binary','parser.py',45),
  ('expression -> COALITION expression UNTIL expression','expression',4,'p_expression_ternary','parser.py',50),
  ('expression -> COALITION GLOBALLY expression','expression',3,'p_expression_unary','parser.py',55),
  ('expression -> COALITION NEXT expression','expression',3,'p_expression_unary','parser.py',56),
  ('expression -> COALITION EVENTUALLY expression','expression',3,'p_expression_unary','parser.py',57),
  ('expression -> NOT expression','expression',2,'p_expression_not','parser.py',62),
  ('expression -> LPAREN expression RPAREN','expression',3,'p_expression_group','parser.py',67),
  ('expression -> PROP','expression',1,'p_expression_prop','parser.py',72),
]
