Esempio n. 1
0
def p_additional_catches(p):
    '''additional_catches : additional_catches CATCH LPAREN fully_qualified_class_name VARIABLE RPAREN LBRACE inner_statement_list RBRACE
                          | empty'''
    if len(p) == 10:
        p[0] = p[1] + [ast.Catch(p[4], ast.Variable(p[5], lineno=p.lineno(5)),
                                 p[8], lineno=p.lineno(2))]
    else:
        p[0] = []
Esempio n. 2
0
def p_statement_try(p):
    'statement : TRY LBRACE inner_statement_list RBRACE CATCH LPAREN fully_qualified_class_name VARIABLE RPAREN LBRACE inner_statement_list RBRACE additional_catches'
    p[0] = ast.Try(p[3],
                   [
                       ast.Catch(p[7],
                                 ast.Variable(p[8], lineno=p.lineno(8)),
                                 p[11],
                                 lineno=p.lineno(5))
                   ] + p[13],
                   lineno=p.lineno(1))