Module hxl.formulas.parsetab

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

_lr_method = 'LALR'

_lr_signature = 'leftPLUSMINUSleftTIMESDIVIDEMODULOrightUMINUSCOMMA DIVIDE FLOAT INT LPAREN MINUS MODULO NAME PLUS RPAREN STRING TAGPATTERN TIMESexpression : INT\n                  | FLOAT\n                  | STRING\n    expression : LPAREN expression RPARENexpression : expression PLUS expressionexpression : expression MINUS expressionexpression : expression TIMES expressionexpression : expression DIVIDE expressionexpression : expression MODULO expressionexpression : MINUS expression %prec UMINUSexpression : TAGPATTERNexpression : NAME LPAREN args RPARENargs : expression COMMA argsargs : expressionargs :'
    
_lr_action_items = {'INT':([0,5,6,9,10,11,12,13,16,26,],[2,2,2,2,2,2,2,2,2,2,]),'FLOAT':([0,5,6,9,10,11,12,13,16,26,],[3,3,3,3,3,3,3,3,3,3,]),'STRING':([0,5,6,9,10,11,12,13,16,26,],[4,4,4,4,4,4,4,4,4,4,]),'LPAREN':([0,5,6,8,9,10,11,12,13,16,26,],[5,5,5,16,5,5,5,5,5,5,5,]),'MINUS':([0,1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,],[6,10,-1,-2,-3,6,6,-11,6,6,6,6,6,10,-10,6,-5,-6,-7,-8,-9,-4,10,-12,6,]),'TAGPATTERN':([0,5,6,9,10,11,12,13,16,26,],[7,7,7,7,7,7,7,7,7,7,]),'NAME':([0,5,6,9,10,11,12,13,16,26,],[8,8,8,8,8,8,8,8,8,8,]),'$end':([1,2,3,4,7,15,17,18,19,20,21,22,25,],[0,-1,-2,-3,-11,-10,-5,-6,-7,-8,-9,-4,-12,]),'PLUS':([1,2,3,4,7,14,15,17,18,19,20,21,22,24,25,],[9,-1,-2,-3,-11,9,-10,-5,-6,-7,-8,-9,-4,9,-12,]),'TIMES':([1,2,3,4,7,14,15,17,18,19,20,21,22,24,25,],[11,-1,-2,-3,-11,11,-10,11,11,-7,-8,-9,-4,11,-12,]),'DIVIDE':([1,2,3,4,7,14,15,17,18,19,20,21,22,24,25,],[12,-1,-2,-3,-11,12,-10,12,12,-7,-8,-9,-4,12,-12,]),'MODULO':([1,2,3,4,7,14,15,17,18,19,20,21,22,24,25,],[13,-1,-2,-3,-11,13,-10,13,13,-7,-8,-9,-4,13,-12,]),'RPAREN':([2,3,4,7,14,15,16,17,18,19,20,21,22,23,24,25,26,27,],[-1,-2,-3,-11,22,-10,-15,-5,-6,-7,-8,-9,-4,25,-14,-12,-15,-13,]),'COMMA':([2,3,4,7,15,17,18,19,20,21,22,24,25,],[-1,-2,-3,-11,-10,-5,-6,-7,-8,-9,-4,26,-12,]),}

_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,5,6,9,10,11,12,13,16,26,],[1,14,15,17,18,19,20,21,24,24,]),'args':([16,26,],[23,27,]),}

_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 -> INT','expression',1,'p_expression_const','parser.py',17),
  ('expression -> FLOAT','expression',1,'p_expression_const','parser.py',18),
  ('expression -> STRING','expression',1,'p_expression_const','parser.py',19),
  ('expression -> LPAREN expression RPAREN','expression',3,'p_expression_group','parser.py',24),
  ('expression -> expression PLUS expression','expression',3,'p_expression_plus','parser.py',28),
  ('expression -> expression MINUS expression','expression',3,'p_expression_minus','parser.py',32),
  ('expression -> expression TIMES expression','expression',3,'p_expression_times','parser.py',36),
  ('expression -> expression DIVIDE expression','expression',3,'p_expression_divide','parser.py',40),
  ('expression -> expression MODULO expression','expression',3,'p_expression_modulo','parser.py',44),
  ('expression -> MINUS expression','expression',2,'p_expression_uminus','parser.py',48),
  ('expression -> TAGPATTERN','expression',1,'p_expression_tagpattern','parser.py',52),
  ('expression -> NAME LPAREN args RPAREN','expression',4,'p_expression_function','parser.py',56),
  ('args -> expression COMMA args','args',3,'p_args_multiple','parser.py',60),
  ('args -> expression','args',1,'p_args_single','parser.py',64),
  ('args -> <empty>','args',0,'p_args_empty','parser.py',68),
]