예제 #1
0
파일: parse.py 프로젝트: yenchih/smop
def p_unwind(p):
    """
    unwind : UNWIND_PROTECT stmt_list UNWIND_PROTECT_CLEANUP stmt_list END_UNWIND_PROTECT
    """
    p[0] = node.try_catch(try_stmt=p[2],
                          catch_stmt=node.expr_list(),
                          finally_stmt=p[4])
예제 #2
0
def p_unwind(p):
    """
    unwind : UNWIND_PROTECT stmt_list UNWIND_PROTECT_CLEANUP stmt_list END_UNWIND_PROTECT
    """
    p[0] = node.try_catch(try_stmt=p[2],
                          catch_stmt=node.expr_list(),
                          finally_stmt=p[4])
예제 #3
0
def p_try_catch(p):
    """
    try_catch : TRY stmt_list CATCH stmt_list END_STMT
    """
    assert isinstance(p[2],node.stmt_list)
    assert isinstance(p[4],node.stmt_list)
    p[0] = node.try_catch(try_stmt=p[2],
                          catch_stmt=p[4])
예제 #4
0
파일: parse.py 프로젝트: yenchih/smop
def p_try_catch(p):
    """
    try_catch : TRY stmt_list CATCH stmt_list END_STMT
              | TRY stmt_list END_STMT
    """
    assert isinstance(p[2],node.stmt_list)
    #assert isinstance(p[4],node.stmt_list)
    p[0] = node.try_catch(try_stmt=p[2],
                          catch_stmt=node.stmt_list(), # FIXME
                          finally_stmt=node.stmt_list())
예제 #5
0
def p_try_catch(p):
    """
    try_catch : TRY stmt_list CATCH stmt_list END_STMT
    """
    ## | TRY stmt_list END_STMT
    assert isinstance(p[2], node.stmt_list)
    # assert isinstance(p[4],node.stmt_list)
    p[0] = node.try_catch(try_stmt=p[2],
                          catch_stmt=p[4],
                          finally_stmt=node.stmt_list())