コード例 #1
0
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)
コード例 #2
0
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)
コード例 #3
0
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))
コード例 #4
0
def p_method_no_args(p):
    """
    func : value '.' FUNC ')'
    """
    p[0] = expressions.Function(p[3], p[1])
コード例 #5
0
def p_function_no_args(p):
    """
    func : FUNC ')'
    """
    p[0] = expressions.Function(p[1], None)
コード例 #6
0
ファイル: parser.py プロジェクト: D3f0/urxdsl
 def p_func(self, p):
     'expr : FUNCNAME LPAREN expr RPAREN'
     import pdb; pdb.set_trace()
     p[0] = expressions.Function(p[1], p[3])