def p_symbol_dec_1(self, p): r'''symbol_dec : var_dec''' p[0] = NoneTerminal(p) p[0].vars = p[1].code
def p_symbol_decs_1(self, p): r'''symbol_decs : symbol_decs symbol_dec''' p[0] = NoneTerminal(p) p[0].vars = p[1].vars + p[2].vars p[0].funcs = p[1].funcs + p[2].funcs
def p_symbol_decs_2(self, p): r'''symbol_decs : empty''' p[0] = NoneTerminal(p) p[0].vars = "" p[0].funcs = ""
def p_classes_2(self, p): r'''classes : empty''' p[0] = NoneTerminal(p) p[0].vars = "" p[0].funcs = ""
def p_class(self, p): r'''class : CLASS ID LCB symbol_decs RCB ''' p[0] = NoneTerminal(p) p[0].vars = p[4].vars p[0].funcs = p[4].funcs
def p_classes_1(self, p): r'''classes : classes class''' p[0] = NoneTerminal(p) p[0].vars = p[1].vars + p[2].vars p[0].funcs = p[1].funcs + p[2].funcs
def p_var_list_item_2(self, p): r'''var_list_item : ID ASSIGNMENT exp''' p[0] = NoneTerminal(p) p[0].code = p[3].code + p[1] + " = " + p[3].get_value() + ";\n" p[0].vars = [p[1]]
def p_var_list_item_1(self, p): r'''var_list_item : ID''' p[0] = NoneTerminal(p) p[0].code = "" p[0].vars = [p[1]]
def p_var_list_2(self, p): r'''var_list : var_list_item''' p[0] = NoneTerminal(p) p[0].code = p[1].code p[0].vars = p[1].vars
def p_var_list_1(self, p): r'''var_list : var_list COMMA var_list_item''' p[0] = NoneTerminal(p) p[0].code = p[1].code + p[3].code p[0].vars = p[1].vars + p[3].vars