33 lines
1.2 KiB
Python
33 lines
1.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 = 'AOP ASSIGN COMMA CONST DO ELSE FALSE ID IF IN LBRACE LET LOP LPAREN RBRACE RELOP RPAREN SEMICOLON THEN TRUE WHILEexpression : CONSTexpression : WHILE expression DO LBRACE expression RBRACE'
|
|
|
|
_lr_action_items = {'CONST':([0,3,6,],[2,2,2,]),'WHILE':([0,3,6,],[3,3,3,]),'$end':([1,2,8,],[0,-1,-2,]),'DO':([2,4,8,],[-1,5,-2,]),'RBRACE':([2,7,8,],[-1,8,-2,]),'LBRACE':([5,],[6,]),}
|
|
|
|
_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,3,6,],[1,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' -> expression","S'",1,None,None,None),
|
|
('expression -> CONST','expression',1,'p_expression_const','triplayacc.py',28),
|
|
('expression -> WHILE expression DO LBRACE expression RBRACE','expression',6,'p_expression_while','triplayacc.py',33),
|
|
]
|