@ -326,7 +326,7 @@ class AST_Tests(unittest.TestCase):
def test_classattrs ( self ) :
x = ast . Num ( )
self . assertEqual ( x . _fields , ( ' value ' , ) )
self . assertEqual ( x . _fields , ( ' value ' , ' kind ' ) )
with self . assertRaises ( AttributeError ) :
x . value
@ -349,12 +349,12 @@ class AST_Tests(unittest.TestCase):
x = ast . Num ( 42 , lineno = 0 )
self . assertEqual ( x . lineno , 0 )
self . assertEqual ( x . _fields , ( ' value ' , ) )
self . assertEqual ( x . _fields , ( ' value ' , ' kind ' ) )
self . assertEqual ( x . value , 42 )
self . assertEqual ( x . n , 42 )
self . assertRaises ( TypeError , ast . Num , 1 , 2 )
self . assertRaises ( TypeError , ast . Num , 1 , 2 , lineno = 0 )
self . assertRaises ( TypeError , ast . Num , 1 , None , 2 )
self . assertRaises ( TypeError , ast . Num , 1 , None , 2 , lineno = 0 )
self . assertEqual ( ast . Num ( 42 ) . n , 42 )
self . assertEqual ( ast . Num ( 4.25 ) . n , 4.25 )
@ -556,6 +556,7 @@ class AST_Tests(unittest.TestCase):
class ASTHelpers_Test ( unittest . TestCase ) :
maxDiff = None
def test_parse ( self ) :
a = ast . parse ( ' foo(1 + 1) ' )
@ -574,18 +575,18 @@ class ASTHelpers_Test(unittest.TestCase):
node = ast . parse ( ' spam(eggs, " and cheese " ) ' )
self . assertEqual ( ast . dump ( node ) ,
" Module(body=[Expr(value=Call(func=Name(id= ' spam ' , ctx=Load()), "
" args=[Name(id= ' eggs ' , ctx=Load()), Constant(value= ' and cheese ' )], "
" args=[Name(id= ' eggs ' , ctx=Load()), Constant(value= ' and cheese ' , kind=None )], "
" keywords=[]))], type_ignores=[]) "
)
self . assertEqual ( ast . dump ( node , annotate_fields = False ) ,
" Module([Expr(Call(Name( ' spam ' , Load()), [Name( ' eggs ' , Load()), "
" Constant( ' and cheese ' )], []))], []) "
" Constant( ' and cheese ' , None )], []))], [])"
)
self . assertEqual ( ast . dump ( node , include_attributes = True ) ,
" Module(body=[Expr(value=Call(func=Name(id= ' spam ' , ctx=Load(), "
" lineno=1, col_offset=0, end_lineno=1, end_col_offset=4), "
" args=[Name(id= ' eggs ' , ctx=Load(), lineno=1, col_offset=5, "
" end_lineno=1, end_col_offset=9), Constant(value= ' and cheese ' , "
" end_lineno=1, end_col_offset=9), Constant(value= ' and cheese ' , kind=None, "
" lineno=1, col_offset=11, end_lineno=1, end_col_offset=23)], keywords=[], "
" lineno=1, col_offset=0, end_lineno=1, end_col_offset=24), "
" lineno=1, col_offset=0, end_lineno=1, end_col_offset=24)], type_ignores=[]) "
@ -595,7 +596,7 @@ class ASTHelpers_Test(unittest.TestCase):
src = ast . parse ( ' 1 + 1 ' , mode = ' eval ' )
src . body . right = ast . copy_location ( ast . Num ( 2 ) , src . body . right )
self . assertEqual ( ast . dump ( src , include_attributes = True ) ,
' Expression(body=BinOp(left=Constant(value=1, lineno=1, col_offset=0, '
' Expression(body=BinOp(left=Constant(value=1, kind=None, lineno=1, col_offset=0, '
' end_lineno=1, end_col_offset=1), op=Add(), right=Constant(value=2, '
' lineno=1, col_offset=4, end_lineno=1, end_col_offset=5), lineno=1, '
' col_offset=0, end_lineno=1, end_col_offset=5)) '
@ -610,7 +611,7 @@ class ASTHelpers_Test(unittest.TestCase):
self . assertEqual ( ast . dump ( src , include_attributes = True ) ,
" Module(body=[Expr(value=Call(func=Name(id= ' write ' , ctx=Load(), "
" lineno=1, col_offset=0, end_lineno=1, end_col_offset=5), "
" args=[Constant(value= ' spam ' , lineno=1, col_offset=6, end_lineno=1, "
" args=[Constant(value= ' spam ' , kind=None, lineno=1, col_offset=6, end_lineno=1, "
" end_col_offset=12)], keywords=[], lineno=1, col_offset=0, end_lineno=1, "
" end_col_offset=13), lineno=1, col_offset=0, end_lineno=1, "
" end_col_offset=13), Expr(value=Call(func=Name(id= ' spam ' , ctx=Load(), "
@ -625,8 +626,8 @@ class ASTHelpers_Test(unittest.TestCase):
src = ast . parse ( ' 1 + 1 ' , mode = ' eval ' )
self . assertEqual ( ast . increment_lineno ( src , n = 3 ) , src )
self . assertEqual ( ast . dump ( src , include_attributes = True ) ,
' Expression(body=BinOp(left=Constant(value=1, lineno=4, col_offset=0, '
' end_lineno=4, end_col_offset=1), op=Add(), right=Constant(value=1, '
' Expression(body=BinOp(left=Constant(value=1, kind=None, lineno=4, col_offset=0, '
' end_lineno=4, end_col_offset=1), op=Add(), right=Constant(value=1, kind=None, '
' lineno=4, col_offset=4, end_lineno=4, end_col_offset=5), lineno=4, '
' col_offset=0, end_lineno=4, end_col_offset=5)) '
)
@ -634,8 +635,8 @@ class ASTHelpers_Test(unittest.TestCase):
src = ast . parse ( ' 1 + 1 ' , mode = ' eval ' )
self . assertEqual ( ast . increment_lineno ( src . body , n = 3 ) , src . body )
self . assertEqual ( ast . dump ( src , include_attributes = True ) ,
' Expression(body=BinOp(left=Constant(value=1, lineno=4, col_offset=0, '
' end_lineno=4, end_col_offset=1), op=Add(), right=Constant(value=1, '
' Expression(body=BinOp(left=Constant(value=1, kind=None, lineno=4, col_offset=0, '
' end_lineno=4, end_col_offset=1), op=Add(), right=Constant(value=1, kind=None, '
' lineno=4, col_offset=4, end_lineno=4, end_col_offset=5), lineno=4, '
' col_offset=0, end_lineno=4, end_col_offset=5)) '
)
@ -654,7 +655,7 @@ class ASTHelpers_Test(unittest.TestCase):
self . assertEqual ( next ( iterator ) . value , 23 )
self . assertEqual ( next ( iterator ) . value , 42 )
self . assertEqual ( ast . dump ( next ( iterator ) ) ,
" keyword(arg= ' eggs ' , value=Constant(value= ' leek ' )) "
" keyword(arg= ' eggs ' , value=Constant(value= ' leek ' , kind=None ))"
)
def test_get_docstring ( self ) :
@ -1283,6 +1284,23 @@ class ConstantTests(unittest.TestCase):
self . assertEqual ( ast . literal_eval ( binop ) , 10 + 20j )
def test_string_kind ( self ) :
c = ast . parse ( ' " x " ' , mode = ' eval ' ) . body
self . assertEqual ( c . value , " x " )
self . assertEqual ( c . kind , None )
c = ast . parse ( ' u " x " ' , mode = ' eval ' ) . body
self . assertEqual ( c . value , " x " )
self . assertEqual ( c . kind , " u " )
c = ast . parse ( ' r " x " ' , mode = ' eval ' ) . body
self . assertEqual ( c . value , " x " )
self . assertEqual ( c . kind , None )
c = ast . parse ( ' b " x " ' , mode = ' eval ' ) . body
self . assertEqual ( c . value , b " x " )
self . assertEqual ( c . kind , None )
class EndPositionTests ( unittest . TestCase ) :
""" Tests for end position of AST nodes.
@ -1606,38 +1624,38 @@ def main():
#### EVERYTHING BELOW IS GENERATED BY python Lib/test/test_ast.py -g #####
exec_results = [
( ' Module ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' Constant ' , ( 1 , 0 ) , None ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' Constant ' , ( 1 , 0 ) , ' module docstring ' ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' Constant ' , ( 1 , 0 ) , None , None ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' Constant ' , ( 1 , 0 ) , ' module docstring ' , None ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' FunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' Pass ' , ( 1 , 9 ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' FunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' Expr ' , ( 1 , 9 ) , ( ' Constant ' , ( 1 , 9 ) , ' function docstring ' ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' FunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' Expr ' , ( 1 , 9 ) , ( ' Constant ' , ( 1 , 9 ) , ' function docstring ' , None ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' FunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ( ' arg ' , ( 1 , 6 ) , ' a ' , None , None ) ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' Pass ' , ( 1 , 10 ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' FunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ( ' arg ' , ( 1 , 6 ) , ' a ' , None , None ) ] , None , [ ] , [ ] , None , [ ( ' Constant ' , ( 1 , 8 ) , 0 ) ] ) , [ ( ' Pass ' , ( 1 , 12 ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' FunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ( ' arg ' , ( 1 , 6 ) , ' a ' , None , None ) ] , None , [ ] , [ ] , None , [ ( ' Constant ' , ( 1 , 8 ) , 0 , None ) ] ) , [ ( ' Pass ' , ( 1 , 12 ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' FunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ] , ( ' arg ' , ( 1 , 7 ) , ' args ' , None , None ) , [ ] , [ ] , None , [ ] ) , [ ( ' Pass ' , ( 1 , 14 ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' FunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , ( ' arg ' , ( 1 , 8 ) , ' kwargs ' , None , None ) , [ ] ) , [ ( ' Pass ' , ( 1 , 17 ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' FunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ( ' arg ' , ( 1 , 6 ) , ' a ' , None , None ) , ( ' arg ' , ( 1 , 9 ) , ' b ' , None , None ) , ( ' arg ' , ( 1 , 14 ) , ' c ' , None , None ) , ( ' arg ' , ( 1 , 22 ) , ' d ' , None , None ) , ( ' arg ' , ( 1 , 28 ) , ' e ' , None , None ) ] , ( ' arg ' , ( 1 , 35 ) , ' args ' , None , None ) , [ ( ' arg ' , ( 1 , 41 ) , ' f ' , None , None ) ] , [ ( ' Constant ' , ( 1 , 43 ) , 42 ) ] , ( ' arg ' , ( 1 , 49 ) , ' kwargs ' , None , None ) , [ ( ' Constant ' , ( 1 , 11 ) , 1 ) , ( ' Constant ' , ( 1 , 16 ) , None ) , ( ' List ' , ( 1 , 24 ) , [ ] , ( ' Load ' , ) ) , ( ' Dict ' , ( 1 , 30 ) , [ ] , [ ] ) ] ) , [ ( ' Expr ' , ( 1 , 58 ) , ( ' Constant ' , ( 1 , 58 ) , ' doc for f() ' ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' FunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ( ' arg ' , ( 1 , 6 ) , ' a ' , None , None ) , ( ' arg ' , ( 1 , 9 ) , ' b ' , None , None ) , ( ' arg ' , ( 1 , 14 ) , ' c ' , None , None ) , ( ' arg ' , ( 1 , 22 ) , ' d ' , None , None ) , ( ' arg ' , ( 1 , 28 ) , ' e ' , None , None ) ] , ( ' arg ' , ( 1 , 35 ) , ' args ' , None , None ) , [ ( ' arg ' , ( 1 , 41 ) , ' f ' , None , None ) ] , [ ( ' Constant ' , ( 1 , 43 ) , 42 , None ) ] , ( ' arg ' , ( 1 , 49 ) , ' kwargs ' , None , None ) , [ ( ' Constant ' , ( 1 , 11 ) , 1 , None ) , ( ' Constant ' , ( 1 , 16 ) , None , None ) , ( ' List ' , ( 1 , 24 ) , [ ] , ( ' Load ' , ) ) , ( ' Dict ' , ( 1 , 30 ) , [ ] , [ ] ) ] ) , [ ( ' Expr ' , ( 1 , 58 ) , ( ' Constant ' , ( 1 , 58 ) , ' doc for f() ' , None ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' ClassDef ' , ( 1 , 0 ) , ' C ' , [ ] , [ ] , [ ( ' Pass ' , ( 1 , 8 ) ) ] , [ ] ) ] , [ ] ) ,
( ' Module ' , [ ( ' ClassDef ' , ( 1 , 0 ) , ' C ' , [ ] , [ ] , [ ( ' Expr ' , ( 1 , 9 ) , ( ' Constant ' , ( 1 , 9 ) , ' docstring for class C ' ) ) ] , [ ] ) ] , [ ] ) ,
( ' Module ' , [ ( ' ClassDef ' , ( 1 , 0 ) , ' C ' , [ ] , [ ] , [ ( ' Expr ' , ( 1 , 9 ) , ( ' Constant ' , ( 1 , 9 ) , ' docstring for class C ' , None ) ) ] , [ ] ) ] , [ ] ) ,
( ' Module ' , [ ( ' ClassDef ' , ( 1 , 0 ) , ' C ' , [ ( ' Name ' , ( 1 , 8 ) , ' object ' , ( ' Load ' , ) ) ] , [ ] , [ ( ' Pass ' , ( 1 , 17 ) ) ] , [ ] ) ] , [ ] ) ,
( ' Module ' , [ ( ' FunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' Return ' , ( 1 , 8 ) , ( ' Constant ' , ( 1 , 15 ) , 1 ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' FunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' Return ' , ( 1 , 8 ) , ( ' Constant ' , ( 1 , 15 ) , 1 , None ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' Delete ' , ( 1 , 0 ) , [ ( ' Name ' , ( 1 , 4 ) , ' v ' , ( ' Del ' , ) ) ] ) ] , [ ] ) ,
( ' Module ' , [ ( ' Assign ' , ( 1 , 0 ) , [ ( ' Name ' , ( 1 , 0 ) , ' v ' , ( ' Store ' , ) ) ] , ( ' Constant ' , ( 1 , 4 ) , 1 ) , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' Assign ' , ( 1 , 0 ) , [ ( ' Name ' , ( 1 , 0 ) , ' v ' , ( ' Store ' , ) ) ] , ( ' Constant ' , ( 1 , 4 ) , 1 , None ) , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' Assign ' , ( 1 , 0 ) , [ ( ' Tuple ' , ( 1 , 0 ) , [ ( ' Name ' , ( 1 , 0 ) , ' a ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 2 ) , ' b ' , ( ' Store ' , ) ) ] , ( ' Store ' , ) ) ] , ( ' Name ' , ( 1 , 6 ) , ' c ' , ( ' Load ' , ) ) , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' Assign ' , ( 1 , 0 ) , [ ( ' Tuple ' , ( 1 , 0 ) , [ ( ' Name ' , ( 1 , 1 ) , ' a ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 3 ) , ' b ' , ( ' Store ' , ) ) ] , ( ' Store ' , ) ) ] , ( ' Name ' , ( 1 , 8 ) , ' c ' , ( ' Load ' , ) ) , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' Assign ' , ( 1 , 0 ) , [ ( ' List ' , ( 1 , 0 ) , [ ( ' Name ' , ( 1 , 1 ) , ' a ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 3 ) , ' b ' , ( ' Store ' , ) ) ] , ( ' Store ' , ) ) ] , ( ' Name ' , ( 1 , 8 ) , ' c ' , ( ' Load ' , ) ) , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' AugAssign ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 0 ) , ' v ' , ( ' Store ' , ) ) , ( ' Add ' , ) , ( ' Constant ' , ( 1 , 5 ) , 1 ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' AugAssign ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 0 ) , ' v ' , ( ' Store ' , ) ) , ( ' Add ' , ) , ( ' Constant ' , ( 1 , 5 ) , 1 , None ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' For ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 4 ) , ' v ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 9 ) , ' v ' , ( ' Load ' , ) ) , [ ( ' Pass ' , ( 1 , 11 ) ) ] , [ ] , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' While ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 6 ) , ' v ' , ( ' Load ' , ) ) , [ ( ' Pass ' , ( 1 , 8 ) ) ] , [ ] ) ] , [ ] ) ,
( ' Module ' , [ ( ' If ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 3 ) , ' v ' , ( ' Load ' , ) ) , [ ( ' Pass ' , ( 1 , 5 ) ) ] , [ ] ) ] , [ ] ) ,
( ' Module ' , [ ( ' With ' , ( 1 , 0 ) , [ ( ' withitem ' , ( ' Name ' , ( 1 , 5 ) , ' x ' , ( ' Load ' , ) ) , ( ' Name ' , ( 1 , 10 ) , ' y ' , ( ' Store ' , ) ) ) ] , [ ( ' Pass ' , ( 1 , 13 ) ) ] , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' With ' , ( 1 , 0 ) , [ ( ' withitem ' , ( ' Name ' , ( 1 , 5 ) , ' x ' , ( ' Load ' , ) ) , ( ' Name ' , ( 1 , 10 ) , ' y ' , ( ' Store ' , ) ) ) , ( ' withitem ' , ( ' Name ' , ( 1 , 13 ) , ' z ' , ( ' Load ' , ) ) , ( ' Name ' , ( 1 , 18 ) , ' q ' , ( ' Store ' , ) ) ) ] , [ ( ' Pass ' , ( 1 , 21 ) ) ] , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' Raise ' , ( 1 , 0 ) , ( ' Call ' , ( 1 , 6 ) , ( ' Name ' , ( 1 , 6 ) , ' Exception ' , ( ' Load ' , ) ) , [ ( ' Constant ' , ( 1 , 16 ) , ' string ' ) ] , [ ] ) , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' Raise ' , ( 1 , 0 ) , ( ' Call ' , ( 1 , 6 ) , ( ' Name ' , ( 1 , 6 ) , ' Exception ' , ( ' Load ' , ) ) , [ ( ' Constant ' , ( 1 , 16 ) , ' string ' , None ) ] , [ ] ) , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' Try ' , ( 1 , 0 ) , [ ( ' Pass ' , ( 2 , 2 ) ) ] , [ ( ' ExceptHandler ' , ( 3 , 0 ) , ( ' Name ' , ( 3 , 7 ) , ' Exception ' , ( ' Load ' , ) ) , None , [ ( ' Pass ' , ( 4 , 2 ) ) ] ) ] , [ ] , [ ] ) ] , [ ] ) ,
( ' Module ' , [ ( ' Try ' , ( 1 , 0 ) , [ ( ' Pass ' , ( 2 , 2 ) ) ] , [ ] , [ ] , [ ( ' Pass ' , ( 4 , 2 ) ) ] ) ] , [ ] ) ,
( ' Module ' , [ ( ' Assert ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 7 ) , ' v ' , ( ' Load ' , ) ) , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' Import ' , ( 1 , 0 ) , [ ( ' alias ' , ' sys ' , None ) ] ) ] , [ ] ) ,
( ' Module ' , [ ( ' ImportFrom ' , ( 1 , 0 ) , ' sys ' , [ ( ' alias ' , ' v ' , None ) ] , 0 ) ] , [ ] ) ,
( ' Module ' , [ ( ' Global ' , ( 1 , 0 ) , [ ' v ' ] ) ] , [ ] ) ,
( ' Module ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' Constant ' , ( 1 , 0 ) , 1 ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' Constant ' , ( 1 , 0 ) , 1 , None ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' Pass ' , ( 1 , 0 ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' For ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 4 ) , ' v ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 9 ) , ' v ' , ( ' Load ' , ) ) , [ ( ' Break ' , ( 1 , 11 ) ) ] , [ ] , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' For ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 4 ) , ' v ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 9 ) , ' v ' , ( ' Load ' , ) ) , [ ( ' Continue ' , ( 1 , 11 ) ) ] , [ ] , None ) ] , [ ] ) ,
@ -1649,11 +1667,11 @@ exec_results = [
( ' Module ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' DictComp ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 1 ) , ' a ' , ( ' Load ' , ) ) , ( ' Name ' , ( 1 , 5 ) , ' b ' , ( ' Load ' , ) ) , [ ( ' comprehension ' , ( ' Tuple ' , ( 1 , 11 ) , [ ( ' Name ' , ( 1 , 11 ) , ' v ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 13 ) , ' w ' , ( ' Store ' , ) ) ] , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 18 ) , ' x ' , ( ' Load ' , ) ) , [ ] , 0 ) ] ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' SetComp ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 1 ) , ' r ' , ( ' Load ' , ) ) , [ ( ' comprehension ' , ( ' Name ' , ( 1 , 7 ) , ' l ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 12 ) , ' x ' , ( ' Load ' , ) ) , [ ( ' Name ' , ( 1 , 17 ) , ' g ' , ( ' Load ' , ) ) ] , 0 ) ] ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' SetComp ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 1 ) , ' r ' , ( ' Load ' , ) ) , [ ( ' comprehension ' , ( ' Tuple ' , ( 1 , 7 ) , [ ( ' Name ' , ( 1 , 7 ) , ' l ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 9 ) , ' m ' , ( ' Store ' , ) ) ] , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 14 ) , ' x ' , ( ' Load ' , ) ) , [ ] , 0 ) ] ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' AsyncFunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' Expr ' , ( 2 , 1 ) , ( ' Constant ' , ( 2 , 1 ) , ' async function ' ) ) , ( ' Expr ' , ( 3 , 1 ) , ( ' Await ' , ( 3 , 1 ) , ( ' Call ' , ( 3 , 7 ) , ( ' Name ' , ( 3 , 7 ) , ' something ' , ( ' Load ' , ) ) , [ ] , [ ] ) ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' AsyncFunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' AsyncFor ' , ( 2 , 1 ) , ( ' Name ' , ( 2 , 11 ) , ' e ' , ( ' Store ' , ) ) , ( ' Name ' , ( 2 , 16 ) , ' i ' , ( ' Load ' , ) ) , [ ( ' Expr ' , ( 2 , 19 ) , ( ' Constant ' , ( 2 , 19 ) , 1 ) ) ] , [ ( ' Expr ' , ( 3 , 7 ) , ( ' Constant ' , ( 3 , 7 ) , 2 ) ) ] , None ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' AsyncFunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' AsyncWith ' , ( 2 , 1 ) , [ ( ' withitem ' , ( ' Name ' , ( 2 , 12 ) , ' a ' , ( ' Load ' , ) ) , ( ' Name ' , ( 2 , 17 ) , ' b ' , ( ' Store ' , ) ) ) ] , [ ( ' Expr ' , ( 2 , 20 ) , ( ' Constant ' , ( 2 , 20 ) , 1 ) ) ] , None ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' Dict ' , ( 1 , 0 ) , [ None , ( ' Constant ' , ( 1 , 10 ) , 2 ) ] , [ ( ' Dict ' , ( 1 , 3 ) , [ ( ' Constant ' , ( 1 , 4 ) , 1 ) ] , [ ( ' Constant ' , ( 1 , 6 ) , 2 ) ] ) , ( ' Constant ' , ( 1 , 12 ) , 3 ) ] ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' Set ' , ( 1 , 0 ) , [ ( ' Starred ' , ( 1 , 1 ) , ( ' Set ' , ( 1 , 2 ) , [ ( ' Constant ' , ( 1 , 3 ) , 1 ) , ( ' Constant ' , ( 1 , 6 ) , 2 ) ] ) , ( ' Load ' , ) ) , ( ' Constant ' , ( 1 , 10 ) , 3 ) ] ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' AsyncFunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' Expr ' , ( 2 , 1 ) , ( ' Constant ' , ( 2 , 1 ) , ' async function ' , None ) ) , ( ' Expr ' , ( 3 , 1 ) , ( ' Await ' , ( 3 , 1 ) , ( ' Call ' , ( 3 , 7 ) , ( ' Name ' , ( 3 , 7 ) , ' something ' , ( ' Load ' , ) ) , [ ] , [ ] ) ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' AsyncFunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' AsyncFor ' , ( 2 , 1 ) , ( ' Name ' , ( 2 , 11 ) , ' e ' , ( ' Store ' , ) ) , ( ' Name ' , ( 2 , 16 ) , ' i ' , ( ' Load ' , ) ) , [ ( ' Expr ' , ( 2 , 19 ) , ( ' Constant ' , ( 2 , 19 ) , 1 , None ) ) ] , [ ( ' Expr ' , ( 3 , 7 ) , ( ' Constant ' , ( 3 , 7 ) , 2 , None ) ) ] , None ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' AsyncFunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' AsyncWith ' , ( 2 , 1 ) , [ ( ' withitem ' , ( ' Name ' , ( 2 , 12 ) , ' a ' , ( ' Load ' , ) ) , ( ' Name ' , ( 2 , 17 ) , ' b ' , ( ' Store ' , ) ) ) ] , [ ( ' Expr ' , ( 2 , 20 ) , ( ' Constant ' , ( 2 , 20 ) , 1 , None ) ) ] , None ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' Dict ' , ( 1 , 0 ) , [ None , ( ' Constant ' , ( 1 , 10 ) , 2 , None ) ] , [ ( ' Dict ' , ( 1 , 3 ) , [ ( ' Constant ' , ( 1 , 4 ) , 1 , None ) ] , [ ( ' Constant ' , ( 1 , 6 ) , 2 , None ) ] ) , ( ' Constant ' , ( 1 , 12 ) , 3 , None ) ] ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' Set ' , ( 1 , 0 ) , [ ( ' Starred ' , ( 1 , 1 ) , ( ' Set ' , ( 1 , 2 ) , [ ( ' Constant ' , ( 1 , 3 ) , 1 , None ) , ( ' Constant ' , ( 1 , 6 ) , 2 , None ) ] ) , ( ' Load ' , ) ) , ( ' Constant ' , ( 1 , 10 ) , 3 , None ) ] ) ) ] , [ ] ) ,
( ' Module ' , [ ( ' AsyncFunctionDef ' , ( 1 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' Expr ' , ( 2 , 1 ) , ( ' ListComp ' , ( 2 , 1 ) , ( ' Name ' , ( 2 , 2 ) , ' i ' , ( ' Load ' , ) ) , [ ( ' comprehension ' , ( ' Name ' , ( 2 , 14 ) , ' b ' , ( ' Store ' , ) ) , ( ' Name ' , ( 2 , 19 ) , ' c ' , ( ' Load ' , ) ) , [ ] , 1 ) ] ) ) ] , [ ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' FunctionDef ' , ( 3 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' Pass ' , ( 3 , 9 ) ) ] , [ ( ' Name ' , ( 1 , 1 ) , ' deco1 ' , ( ' Load ' , ) ) , ( ' Call ' , ( 2 , 0 ) , ( ' Name ' , ( 2 , 1 ) , ' deco2 ' , ( ' Load ' , ) ) , [ ] , [ ] ) ] , None , None ) ] , [ ] ) ,
( ' Module ' , [ ( ' AsyncFunctionDef ' , ( 3 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' Pass ' , ( 3 , 15 ) ) ] , [ ( ' Name ' , ( 1 , 1 ) , ' deco1 ' , ( ' Load ' , ) ) , ( ' Call ' , ( 2 , 0 ) , ( ' Name ' , ( 2 , 1 ) , ' deco2 ' , ( ' Load ' , ) ) , [ ] , [ ] ) ] , None , None ) ] , [ ] ) ,
@ -1661,18 +1679,18 @@ exec_results = [
( ' Module ' , [ ( ' FunctionDef ' , ( 2 , 0 ) , ' f ' , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , [ ( ' Pass ' , ( 2 , 9 ) ) ] , [ ( ' Call ' , ( 1 , 1 ) , ( ' Name ' , ( 1 , 1 ) , ' deco ' , ( ' Load ' , ) ) , [ ( ' GeneratorExp ' , ( 1 , 5 ) , ( ' Name ' , ( 1 , 6 ) , ' a ' , ( ' Load ' , ) ) , [ ( ' comprehension ' , ( ' Name ' , ( 1 , 12 ) , ' a ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 17 ) , ' b ' , ( ' Load ' , ) ) , [ ] , 0 ) ] ) ] , [ ] ) ] , None , None ) ] , [ ] ) ,
]
single_results = [
( ' Interactive ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' BinOp ' , ( 1 , 0 ) , ( ' Constant ' , ( 1 , 0 ) , 1 ) , ( ' Add ' , ) , ( ' Constant ' , ( 1 , 2 ) , 2 ) ) ) ] ) ,
( ' Interactive ' , [ ( ' Expr ' , ( 1 , 0 ) , ( ' BinOp ' , ( 1 , 0 ) , ( ' Constant ' , ( 1 , 0 ) , 1 , None ) , ( ' Add ' , ) , ( ' Constant ' , ( 1 , 2 ) , 2 , None ) ) ) ] ) ,
]
eval_results = [
( ' Expression ' , ( ' Constant ' , ( 1 , 0 ) , None ) ) ,
( ' Expression ' , ( ' Constant ' , ( 1 , 0 ) , None , None ) ) ,
( ' Expression ' , ( ' BoolOp ' , ( 1 , 0 ) , ( ' And ' , ) , [ ( ' Name ' , ( 1 , 0 ) , ' a ' , ( ' Load ' , ) ) , ( ' Name ' , ( 1 , 6 ) , ' b ' , ( ' Load ' , ) ) ] ) ) ,
( ' Expression ' , ( ' BinOp ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 0 ) , ' a ' , ( ' Load ' , ) ) , ( ' Add ' , ) , ( ' Name ' , ( 1 , 4 ) , ' b ' , ( ' Load ' , ) ) ) ) ,
( ' Expression ' , ( ' UnaryOp ' , ( 1 , 0 ) , ( ' Not ' , ) , ( ' Name ' , ( 1 , 4 ) , ' v ' , ( ' Load ' , ) ) ) ) ,
( ' Expression ' , ( ' Lambda ' , ( 1 , 0 ) , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , ( ' Constant ' , ( 1 , 7 ) , None ) ) ) ,
( ' Expression ' , ( ' Dict ' , ( 1 , 0 ) , [ ( ' Constant ' , ( 1 , 2 ) , 1 ) ] , [ ( ' Constant ' , ( 1 , 4 ) , 2 ) ] ) ) ,
( ' Expression ' , ( ' Lambda ' , ( 1 , 0 ) , ( ' arguments ' , [ ] , None , [ ] , [ ] , None , [ ] ) , ( ' Constant ' , ( 1 , 7 ) , None , None ) ) ) ,
( ' Expression ' , ( ' Dict ' , ( 1 , 0 ) , [ ( ' Constant ' , ( 1 , 2 ) , 1 , None ) ] , [ ( ' Constant ' , ( 1 , 4 ) , 2 , None ) ] ) ) ,
( ' Expression ' , ( ' Dict ' , ( 1 , 0 ) , [ ] , [ ] ) ) ,
( ' Expression ' , ( ' Set ' , ( 1 , 0 ) , [ ( ' Constant ' , ( 1 , 1 ) , None ) ] ) ) ,
( ' Expression ' , ( ' Dict ' , ( 1 , 0 ) , [ ( ' Constant ' , ( 2 , 6 ) , 1 ) ] , [ ( ' Constant ' , ( 4 , 10 ) , 2 ) ] ) ) ,
( ' Expression ' , ( ' Set ' , ( 1 , 0 ) , [ ( ' Constant ' , ( 1 , 1 ) , None , None ) ] ) ) ,
( ' Expression ' , ( ' Dict ' , ( 1 , 0 ) , [ ( ' Constant ' , ( 2 , 6 ) , 1 , None ) ] , [ ( ' Constant ' , ( 4 , 10 ) , 2 , None ) ] ) ) ,
( ' Expression ' , ( ' ListComp ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 1 ) , ' a ' , ( ' Load ' , ) ) , [ ( ' comprehension ' , ( ' Name ' , ( 1 , 7 ) , ' b ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 12 ) , ' c ' , ( ' Load ' , ) ) , [ ( ' Name ' , ( 1 , 17 ) , ' d ' , ( ' Load ' , ) ) ] , 0 ) ] ) ) ,
( ' Expression ' , ( ' GeneratorExp ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 1 ) , ' a ' , ( ' Load ' , ) ) , [ ( ' comprehension ' , ( ' Name ' , ( 1 , 7 ) , ' b ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 12 ) , ' c ' , ( ' Load ' , ) ) , [ ( ' Name ' , ( 1 , 17 ) , ' d ' , ( ' Load ' , ) ) ] , 0 ) ] ) ) ,
( ' Expression ' , ( ' ListComp ' , ( 1 , 0 ) , ( ' Tuple ' , ( 1 , 1 ) , [ ( ' Name ' , ( 1 , 2 ) , ' a ' , ( ' Load ' , ) ) , ( ' Name ' , ( 1 , 4 ) , ' b ' , ( ' Load ' , ) ) ] , ( ' Load ' , ) ) , [ ( ' comprehension ' , ( ' Tuple ' , ( 1 , 11 ) , [ ( ' Name ' , ( 1 , 11 ) , ' a ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 13 ) , ' b ' , ( ' Store ' , ) ) ] , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 18 ) , ' c ' , ( ' Load ' , ) ) , [ ] , 0 ) ] ) ) ,
@ -1684,19 +1702,19 @@ eval_results = [
( ' Expression ' , ( ' GeneratorExp ' , ( 1 , 0 ) , ( ' Tuple ' , ( 1 , 1 ) , [ ( ' Name ' , ( 1 , 2 ) , ' a ' , ( ' Load ' , ) ) , ( ' Name ' , ( 1 , 4 ) , ' b ' , ( ' Load ' , ) ) ] , ( ' Load ' , ) ) , [ ( ' comprehension ' , ( ' Tuple ' , ( 1 , 11 ) , [ ( ' Name ' , ( 1 , 11 ) , ' a ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 13 ) , ' b ' , ( ' Store ' , ) ) ] , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 18 ) , ' c ' , ( ' Load ' , ) ) , [ ] , 0 ) ] ) ) ,
( ' Expression ' , ( ' GeneratorExp ' , ( 1 , 0 ) , ( ' Tuple ' , ( 1 , 1 ) , [ ( ' Name ' , ( 1 , 2 ) , ' a ' , ( ' Load ' , ) ) , ( ' Name ' , ( 1 , 4 ) , ' b ' , ( ' Load ' , ) ) ] , ( ' Load ' , ) ) , [ ( ' comprehension ' , ( ' Tuple ' , ( 1 , 11 ) , [ ( ' Name ' , ( 1 , 12 ) , ' a ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 14 ) , ' b ' , ( ' Store ' , ) ) ] , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 20 ) , ' c ' , ( ' Load ' , ) ) , [ ] , 0 ) ] ) ) ,
( ' Expression ' , ( ' GeneratorExp ' , ( 1 , 0 ) , ( ' Tuple ' , ( 1 , 1 ) , [ ( ' Name ' , ( 1 , 2 ) , ' a ' , ( ' Load ' , ) ) , ( ' Name ' , ( 1 , 4 ) , ' b ' , ( ' Load ' , ) ) ] , ( ' Load ' , ) ) , [ ( ' comprehension ' , ( ' List ' , ( 1 , 11 ) , [ ( ' Name ' , ( 1 , 12 ) , ' a ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 14 ) , ' b ' , ( ' Store ' , ) ) ] , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 20 ) , ' c ' , ( ' Load ' , ) ) , [ ] , 0 ) ] ) ) ,
( ' Expression ' , ( ' Compare ' , ( 1 , 0 ) , ( ' Constant ' , ( 1 , 0 ) , 1 ) , [ ( ' Lt ' , ) , ( ' Lt ' , ) ] , [ ( ' Constant ' , ( 1 , 4 ) , 2 ) , ( ' Constant ' , ( 1 , 8 ) , 3 ) ] ) ) ,
( ' Expression ' , ( ' Call ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 0 ) , ' f ' , ( ' Load ' , ) ) , [ ( ' Constant ' , ( 1 , 2 ) , 1 ) , ( ' Constant ' , ( 1 , 4 ) , 2 ) , ( ' Starred ' , ( 1 , 10 ) , ( ' Name ' , ( 1 , 11 ) , ' d ' , ( ' Load ' , ) ) , ( ' Load ' , ) ) ] , [ ( ' keyword ' , ' c ' , ( ' Constant ' , ( 1 , 8 ) , 3 ) ) , ( ' keyword ' , None , ( ' Name ' , ( 1 , 15 ) , ' e ' , ( ' Load ' , ) ) ) ] ) ) ,
( ' Expression ' , ( ' Compare ' , ( 1 , 0 ) , ( ' Constant ' , ( 1 , 0 ) , 1 , None ) , [ ( ' Lt ' , ) , ( ' Lt ' , ) ] , [ ( ' Constant ' , ( 1 , 4 ) , 2 , None ) , ( ' Constant ' , ( 1 , 8 ) , 3 , None ) ] ) ) ,
( ' Expression ' , ( ' Call ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 0 ) , ' f ' , ( ' Load ' , ) ) , [ ( ' Constant ' , ( 1 , 2 ) , 1 , None ) , ( ' Constant ' , ( 1 , 4 ) , 2 , None ) , ( ' Starred ' , ( 1 , 10 ) , ( ' Name ' , ( 1 , 11 ) , ' d ' , ( ' Load ' , ) ) , ( ' Load ' , ) ) ] , [ ( ' keyword ' , ' c ' , ( ' Constant ' , ( 1 , 8 ) , 3 , None ) ) , ( ' keyword ' , None , ( ' Name ' , ( 1 , 15 ) , ' e ' , ( ' Load ' , ) ) ) ] ) ) ,
( ' Expression ' , ( ' Call ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 0 ) , ' f ' , ( ' Load ' , ) ) , [ ( ' GeneratorExp ' , ( 1 , 1 ) , ( ' Name ' , ( 1 , 2 ) , ' a ' , ( ' Load ' , ) ) , [ ( ' comprehension ' , ( ' Name ' , ( 1 , 8 ) , ' a ' , ( ' Store ' , ) ) , ( ' Name ' , ( 1 , 13 ) , ' b ' , ( ' Load ' , ) ) , [ ] , 0 ) ] ) ] , [ ] ) ) ,
( ' Expression ' , ( ' Constant ' , ( 1 , 0 ) , 10 ) ) ,
( ' Expression ' , ( ' Constant ' , ( 1 , 0 ) , ' string ' ) ) ,
( ' Expression ' , ( ' Constant ' , ( 1 , 0 ) , 10 , None ) ) ,
( ' Expression ' , ( ' Constant ' , ( 1 , 0 ) , ' string ' , None ) ) ,
( ' Expression ' , ( ' Attribute ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 0 ) , ' a ' , ( ' Load ' , ) ) , ' b ' , ( ' Load ' , ) ) ) ,
( ' Expression ' , ( ' Subscript ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 0 ) , ' a ' , ( ' Load ' , ) ) , ( ' Slice ' , ( ' Name ' , ( 1 , 2 ) , ' b ' , ( ' Load ' , ) ) , ( ' Name ' , ( 1 , 4 ) , ' c ' , ( ' Load ' , ) ) , None ) , ( ' Load ' , ) ) ) ,
( ' Expression ' , ( ' Name ' , ( 1 , 0 ) , ' v ' , ( ' Load ' , ) ) ) ,
( ' Expression ' , ( ' List ' , ( 1 , 0 ) , [ ( ' Constant ' , ( 1 , 1 ) , 1 ) , ( ' Constant ' , ( 1 , 3 ) , 2 ) , ( ' Constant ' , ( 1 , 5 ) , 3 ) ] , ( ' Load ' , ) ) ) ,
( ' Expression ' , ( ' List ' , ( 1 , 0 ) , [ ( ' Constant ' , ( 1 , 1 ) , 1 , None ) , ( ' Constant ' , ( 1 , 3 ) , 2 , None ) , ( ' Constant ' , ( 1 , 5 ) , 3 , None ) ] , ( ' Load ' , ) ) ) ,
( ' Expression ' , ( ' List ' , ( 1 , 0 ) , [ ] , ( ' Load ' , ) ) ) ,
( ' Expression ' , ( ' Tuple ' , ( 1 , 0 ) , [ ( ' Constant ' , ( 1 , 0 ) , 1 ) , ( ' Constant ' , ( 1 , 2 ) , 2 ) , ( ' Constant ' , ( 1 , 4 ) , 3 ) ] , ( ' Load ' , ) ) ) ,
( ' Expression ' , ( ' Tuple ' , ( 1 , 0 ) , [ ( ' Constant ' , ( 1 , 1 ) , 1 ) , ( ' Constant ' , ( 1 , 3 ) , 2 ) , ( ' Constant ' , ( 1 , 5 ) , 3 ) ] , ( ' Load ' , ) ) ) ,
( ' Expression ' , ( ' Tuple ' , ( 1 , 0 ) , [ ( ' Constant ' , ( 1 , 0 ) , 1 , None ) , ( ' Constant ' , ( 1 , 2 ) , 2 , None ) , ( ' Constant ' , ( 1 , 4 ) , 3 , None ) ] , ( ' Load ' , ) ) ) ,
( ' Expression ' , ( ' Tuple ' , ( 1 , 0 ) , [ ( ' Constant ' , ( 1 , 1 ) , 1 , None ) , ( ' Constant ' , ( 1 , 3 ) , 2 , None ) , ( ' Constant ' , ( 1 , 5 ) , 3 , None ) ] , ( ' Load ' , ) ) ) ,
( ' Expression ' , ( ' Tuple ' , ( 1 , 0 ) , [ ] , ( ' Load ' , ) ) ) ,
( ' Expression ' , ( ' Call ' , ( 1 , 0 ) , ( ' Attribute ' , ( 1 , 0 ) , ( ' Attribute ' , ( 1 , 0 ) , ( ' Attribute ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 0 ) , ' a ' , ( ' Load ' , ) ) , ' b ' , ( ' Load ' , ) ) , ' c ' , ( ' Load ' , ) ) , ' d ' , ( ' Load ' , ) ) , [ ( ' Subscript ' , ( 1 , 8 ) , ( ' Attribute ' , ( 1 , 8 ) , ( ' Name ' , ( 1 , 8 ) , ' a ' , ( ' Load ' , ) ) , ' b ' , ( ' Load ' , ) ) , ( ' Slice ' , ( ' Constant ' , ( 1 , 12 ) , 1 ) , ( ' Constant ' , ( 1 , 14 ) , 2 ) , None ) , ( ' Load ' , ) ) ] , [ ] ) ) ,
( ' Expression ' , ( ' Call ' , ( 1 , 0 ) , ( ' Attribute ' , ( 1 , 0 ) , ( ' Attribute ' , ( 1 , 0 ) , ( ' Attribute ' , ( 1 , 0 ) , ( ' Name ' , ( 1 , 0 ) , ' a ' , ( ' Load ' , ) ) , ' b ' , ( ' Load ' , ) ) , ' c ' , ( ' Load ' , ) ) , ' d ' , ( ' Load ' , ) ) , [ ( ' Subscript ' , ( 1 , 8 ) , ( ' Attribute ' , ( 1 , 8 ) , ( ' Name ' , ( 1 , 8 ) , ' a ' , ( ' Load ' , ) ) , ' b ' , ( ' Load ' , ) ) , ( ' Slice ' , ( ' Constant ' , ( 1 , 12 ) , 1 , None ) , ( ' Constant ' , ( 1 , 14 ) , 2 , None ) , None ) , ( ' Load ' , ) ) ] , [ ] ) ) ,
]
main ( )