Esempio n. 1
0
 def p_symbol_dec_1(self, p):
     r'''symbol_dec :   var_dec'''
     p[0] = NoneTerminal(p)
     p[0].vars = p[1].code
Esempio n. 2
0
 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
Esempio n. 3
0
 def p_symbol_decs_2(self, p):
     r'''symbol_decs :   empty'''
     p[0] = NoneTerminal(p)
     p[0].vars = ""
     p[0].funcs = ""
Esempio n. 4
0
 def p_classes_2(self, p):
     r'''classes :   empty'''
     p[0] = NoneTerminal(p)
     p[0].vars = ""
     p[0].funcs = ""
Esempio n. 5
0
 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
Esempio n. 6
0
    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
Esempio n. 7
0
 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]]
Esempio n. 8
0
 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]]
Esempio n. 9
0
 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
Esempio n. 10
0
 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