示例#1
0
 def p_formal_argument(self, p):
     r'''formal_argument :   return_type ID '''
     p[0] = NoneTerminal(p)
     p[0].code = pop_variable(p[2])
     ALL_VARIABLES.add(p[2])
     global VARIABLES
     VARIABLES += [p[2]]
     p[0].t = 1
示例#2
0
 def p_formal_arguments_list_2(self, p):
     r'''formal_arguments_list :   formal_argument'''
     p[0] = NoneTerminal(p)
     p[0].code = p[1].code
     p[0].t = 1
示例#3
0
 def p_formal_arguments_2(self, p):
     r'''formal_arguments :   empty'''
     p[0] = NoneTerminal(p)
     p[0].t = 0
     p[0].code = ""
示例#4
0
 def p_formal_arguments_list_1(self, p):
     r'''formal_arguments_list :   formal_arguments_list COMMA formal_argument'''
     p[0] = NoneTerminal(p)
     p[0].code = p[1].code + p[3].code
     p[0].t = p[1].t + p[3].t
示例#5
0
 def p_formal_arguments_1(self, p):
     r'''formal_arguments :   formal_arguments_list'''
     p[0] = NoneTerminal(p)
     p[0].code = "// fetching arguments\n\n" + p[1].code
     p[0].t = p[1].t