Exemplo 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
Exemplo 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
Exemplo n.º 3
0
 def p_symbol_decs_2(self, p):
     r'''symbol_decs :   empty'''
     p[0] = NoneTerminal(p)
     p[0].vars = ""
     p[0].funcs = ""
Exemplo n.º 4
0
 def p_classes_2(self, p):
     r'''classes :   empty'''
     p[0] = NoneTerminal(p)
     p[0].vars = ""
     p[0].funcs = ""
Exemplo 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
Exemplo 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
Exemplo 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]]
Exemplo 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]]
Exemplo 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
Exemplo 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