Files
openttd-cmclient/grf/alpine/parsetab.py
2021-12-20 13:56:58 +03:00

52 lines
6.2 KiB
Python

# parsetab.py
# This file is automatically generated. Do not edit.
# pylint: disable=W,C,R
_tabversion = '3.10'
_lr_method = 'LALR'
_lr_signature = 'leftSHRSHLleftBINORleftBINXORleftBINANDleftADDSUBleftMULrightUMINUSADD ASSIGN BINAND BINOR BINXOR COMMA LBRACKET LPAREN MUL NAME NEWLINE NUMBER RBRACKET RPAREN SHL SHR SUBlines : line\n | expression\n | lines line\n line : expression NEWLINE\n | NEWLINE\n expression : expression ADD expression\n | expression SUB expression\n | expression MUL expression\n | expression BINAND expression\n | expression BINOR expression\n | expression BINXOR expression\n | expression SHL expression\n | expression SHR expression\n expression : NAME LBRACKET NUMBER RBRACKET ASSIGN expressionexpression : NAME LPAREN NUMBER RPARENexpression : NAME LPAREN expression COMMA expression RPARENexpression : LPAREN expression RPARENexpression : NAME LBRACKET NUMBER RBRACKETexpression : NUMBER\n | SUB NUMBER %prec UMINUS\n expression : NAME'
_lr_action_items = {'NEWLINE':([0,1,2,3,4,6,7,9,10,11,20,24,25,26,27,28,29,30,31,35,36,37,41,42,],[4,4,-1,11,-5,-21,-19,-3,11,-4,-20,-6,-7,-8,-9,-10,-11,-12,-13,-17,-18,-15,-14,-16,]),'NAME':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,22,24,25,26,27,28,29,30,31,35,36,37,38,39,41,42,],[6,6,-1,-2,-5,-21,-19,6,-3,-4,6,6,6,6,6,6,6,6,-20,6,-6,-7,-8,-9,-10,-11,-12,-13,-17,-18,-15,6,6,-14,-16,]),'LPAREN':([0,1,2,3,4,6,7,8,9,11,12,13,14,15,16,17,18,19,20,22,24,25,26,27,28,29,30,31,35,36,37,38,39,41,42,],[8,8,-1,-2,-5,22,-19,8,-3,-4,8,8,8,8,8,8,8,8,-20,8,-6,-7,-8,-9,-10,-11,-12,-13,-17,-18,-15,8,8,-14,-16,]),'NUMBER':([0,1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,27,28,29,30,31,35,36,37,38,39,41,42,],[7,7,-1,-2,-5,20,-21,-19,7,-3,-4,7,7,7,7,7,7,7,7,-20,32,33,-6,-7,-8,-9,-10,-11,-12,-13,-17,-18,-15,7,7,-14,-16,]),'SUB':([0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,],[5,5,-1,13,-5,-21,-19,5,-3,13,-4,5,5,5,5,5,5,5,5,-20,5,13,-6,-7,-8,13,13,13,13,13,-19,13,-17,-18,-15,5,5,13,13,-16,]),'$end':([1,2,3,4,6,7,9,11,20,24,25,26,27,28,29,30,31,35,36,37,41,42,],[0,-1,-2,-5,-21,-19,-3,-4,-20,-6,-7,-8,-9,-10,-11,-12,-13,-17,-18,-15,-14,-16,]),'ADD':([3,6,7,10,20,23,24,25,26,27,28,29,30,31,33,34,35,36,37,40,41,42,],[12,-21,-19,12,-20,12,-6,-7,-8,12,12,12,12,12,-19,12,-17,-18,-15,12,12,-16,]),'MUL':([3,6,7,10,20,23,24,25,26,27,28,29,30,31,33,34,35,36,37,40,41,42,],[14,-21,-19,14,-20,14,14,14,-8,14,14,14,14,14,-19,14,-17,-18,-15,14,14,-16,]),'BINAND':([3,6,7,10,20,23,24,25,26,27,28,29,30,31,33,34,35,36,37,40,41,42,],[15,-21,-19,15,-20,15,-6,-7,-8,-9,15,15,15,15,-19,15,-17,-18,-15,15,15,-16,]),'BINOR':([3,6,7,10,20,23,24,25,26,27,28,29,30,31,33,34,35,36,37,40,41,42,],[16,-21,-19,16,-20,16,-6,-7,-8,-9,-10,-11,16,16,-19,16,-17,-18,-15,16,16,-16,]),'BINXOR':([3,6,7,10,20,23,24,25,26,27,28,29,30,31,33,34,35,36,37,40,41,42,],[17,-21,-19,17,-20,17,-6,-7,-8,-9,17,-11,17,17,-19,17,-17,-18,-15,17,17,-16,]),'SHL':([3,6,7,10,20,23,24,25,26,27,28,29,30,31,33,34,35,36,37,40,41,42,],[18,-21,-19,18,-20,18,-6,-7,-8,-9,-10,-11,-12,-13,-19,18,-17,-18,-15,18,18,-16,]),'SHR':([3,6,7,10,20,23,24,25,26,27,28,29,30,31,33,34,35,36,37,40,41,42,],[19,-21,-19,19,-20,19,-6,-7,-8,-9,-10,-11,-12,-13,-19,19,-17,-18,-15,19,19,-16,]),'LBRACKET':([6,],[21,]),'RPAREN':([6,7,20,23,24,25,26,27,28,29,30,31,33,35,36,37,40,41,42,],[-21,-19,-20,35,-6,-7,-8,-9,-10,-11,-12,-13,37,-17,-18,-15,42,-14,-16,]),'COMMA':([6,7,20,24,25,26,27,28,29,30,31,33,34,35,36,37,41,42,],[-21,-19,-20,-6,-7,-8,-9,-10,-11,-12,-13,-19,38,-17,-18,-15,-14,-16,]),'RBRACKET':([32,],[36,]),'ASSIGN':([36,],[39,]),}
_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 = {'lines':([0,],[1,]),'line':([0,1,],[2,9,]),'expression':([0,1,8,12,13,14,15,16,17,18,19,22,38,39,],[3,10,23,24,25,26,27,28,29,30,31,34,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' -> lines","S'",1,None,None,None),
('lines -> line','lines',1,'p_lines','parser.py',334),
('lines -> expression','lines',1,'p_lines','parser.py',335),
('lines -> lines line','lines',2,'p_lines','parser.py',336),
('line -> expression NEWLINE','line',2,'p_line','parser.py',350),
('line -> NEWLINE','line',1,'p_line','parser.py',351),
('expression -> expression ADD expression','expression',3,'p_expression_binop','parser.py',378),
('expression -> expression SUB expression','expression',3,'p_expression_binop','parser.py',379),
('expression -> expression MUL expression','expression',3,'p_expression_binop','parser.py',380),
('expression -> expression BINAND expression','expression',3,'p_expression_binop','parser.py',381),
('expression -> expression BINOR expression','expression',3,'p_expression_binop','parser.py',382),
('expression -> expression BINXOR expression','expression',3,'p_expression_binop','parser.py',383),
('expression -> expression SHL expression','expression',3,'p_expression_binop','parser.py',384),
('expression -> expression SHR expression','expression',3,'p_expression_binop','parser.py',385),
('expression -> NAME LBRACKET NUMBER RBRACKET ASSIGN expression','expression',6,'p_expression_assign','parser.py',416),
('expression -> NAME LPAREN NUMBER RPAREN','expression',4,'p_expression_call1','parser.py',429),
('expression -> NAME LPAREN expression COMMA expression RPAREN','expression',6,'p_expression_call2','parser.py',435),
('expression -> LPAREN expression RPAREN','expression',3,'p_expression_group','parser.py',450),
('expression -> NAME LBRACKET NUMBER RBRACKET','expression',4,'p_expression_storage','parser.py',455),
('expression -> NUMBER','expression',1,'p_expression_number','parser.py',463),
('expression -> SUB NUMBER','expression',2,'p_expression_number','parser.py',464),
('expression -> NAME','expression',1,'p_expression_name','parser.py',472),
]