def p_method_w_args(p): """ func : value '.' FUNC arg ')' """ if isinstance(p[4], types.ListType): arg = p[4] else: arg = [p[4]] p[0] = expressions.Function(p[3], p[1], *arg)
def p_function_w_args(p): """ func : FUNC arg ')' """ if isinstance(p[2], types.ListType): arg = p[2] else: arg = [p[2]] p[0] = expressions.Function(p[1], None, *arg)
def p_value_to_symbol(p): """ symbol : SYMBOL """ symbol_parts = p[1].split(':') sns = symbol_parts[0] name = symbol_parts[1] expanding = expressions.UnaryOperator(':', expressions.Constant(sns)) p[0] = expressions.Function('validate', None, expanding, expressions.Constant(name))
def p_method_no_args(p): """ func : value '.' FUNC ')' """ p[0] = expressions.Function(p[3], p[1])
def p_function_no_args(p): """ func : FUNC ')' """ p[0] = expressions.Function(p[1], None)
def p_func(self, p): 'expr : FUNCNAME LPAREN expr RPAREN' import pdb; pdb.set_trace() p[0] = expressions.Function(p[1], p[3])