예제 #1
0
    def p_args_list(self, p):
        """args_list : args_list ',' arg
                     | arg """

        if len(p) == 2:
            p[0] = AST.ArgList(p[1], None)
        else:
            p[0] = AST.ArgList(p[1], p[3])
예제 #2
0
    def p_args_list(self, p):
        """args_list : args_list ',' arg
                     | arg """

        if len(p) == 4:
            p[0] = AST.ArgList() if p[1] is None else p[1]
            p[0].addArgument(p[3])
        else:
            p[0] = AST.ArgList()
            p[0].addArgument(p[1])
예제 #3
0
 def p_args_list(self, p):
     """args_list : args_list ',' arg
                  | arg """
     if len(p) > 2:
         if p[1] is None:
             p[1] = AST.ArgList()
         p[0] = p[1]
         p[0].add_to_list(p[3])
     else:
         p[0] = AST.ArgList()
         p[0].add_to_list(p[1])
예제 #4
0
 def p_args_list(self, p):
     """args_list : arg ',' args_list 
                  | arg """
     if len(p) == 4:
         if p[3] == None:
             p[0] = AST.ArgList(p[1])
         else:
             p[0] = p[3]
             p[0].addArgToList(p[1])
     else:
         p[0] = AST.ArgList(p[1])
예제 #5
0
 def p_args_list_or_empty(self, p):
     """args_list_or_empty : args_list
                           | """
     if len(p) == 2:
         p[0] = p[1]
     else:
         p[0] = AST.ArgList()  # empty
예제 #6
0
 def p_args_list(self, p):
     """args_list : args_list ',' arg 
                  | arg """
     p[0] = AST.ArgList()
     if len(p) == 4:
         p[0].cons_arg(p[1].arg_list, p[3])
     else:
         p[0].append_arg(p[1])
예제 #7
0
def p_arglist(p):
    """ arglist : expr
                | arglist COMMA expr
    """
    if len(p) == 2:
        p[0] = AST.ArgList(p[1])
    else:
        p[1].addarg(p[3])
        p[0] = p[1]
    p[0].insertLineNumInfo(p.lineno(1), p.lexpos(1))
예제 #8
0
 def p_args_list(self, p):
     """args_list : args_list ',' arg 
                  | arg """
     if len(p) == 2:
         argList = AST.ArgList()
         argList.list.append(p[1])
         p[0] = argList
     else:
         p[1].list.append(p[3])
         p[0] = p[1]
예제 #9
0
 def p_args_list_or_empty(self, p):
     """args_list_or_empty : args_list
                           | """
     p[0] = p[1] if len(p) > 1 else AST.ArgList(line=p.lineno(0))
예제 #10
0
    def p_args_list_or_empty(self, p):
        """args_list_or_empty : args_list
                              | """

        if len(p) == 2:
            p[0] = AST.ArgList(p[1], None)