t443.trans 55 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944
  1. Module(body=[Expr(value=Str(s='\nAdapted from http://hg.python.org/cpython/file/936621d33c38/Lib/test/test_scope.py\n')),
  2. Print(dest=None,
  3. values=[Str(s='\ntestSimpleNesting')],
  4. nl=True),
  5. FunctionDef(name='make_adder',
  6. args=arguments(args=[Name(id='x',
  7. ctx=Param())],
  8. vararg=None,
  9. kwarg=None,
  10. defaults=[]),
  11. body=[FunctionDef(name='adder',
  12. args=arguments(args=[Name(id='y',
  13. ctx=Param())],
  14. vararg=None,
  15. kwarg=None,
  16. defaults=[]),
  17. body=[Return(value=BinOp(left=Name(id='x',
  18. ctx=Load()),
  19. op=Add(),
  20. right=Name(id='y',
  21. ctx=Load())))],
  22. decorator_list=[]),
  23. Return(value=Name(id='adder',
  24. ctx=Load()))],
  25. decorator_list=[]),
  26. Assign(targets=[Name(id='inc',
  27. ctx=Store())],
  28. value=Call(func=Name(id='make_adder',
  29. ctx=Load()),
  30. args=[Num(n=1)],
  31. keywords=[],
  32. starargs=None,
  33. kwargs=None)),
  34. Assign(targets=[Name(id='plus10',
  35. ctx=Store())],
  36. value=Call(func=Name(id='make_adder',
  37. ctx=Load()),
  38. args=[Num(n=10)],
  39. keywords=[],
  40. starargs=None,
  41. kwargs=None)),
  42. Print(dest=None,
  43. values=[Call(func=Name(id='inc',
  44. ctx=Load()),
  45. args=[Num(n=1)],
  46. keywords=[],
  47. starargs=None,
  48. kwargs=None),
  49. Num(n=2),
  50. Compare(left=Call(func=Name(id='inc',
  51. ctx=Load()),
  52. args=[Num(n=1)],
  53. keywords=[],
  54. starargs=None,
  55. kwargs=None),
  56. ops=[Eq()],
  57. comparators=[Num(n=2)])],
  58. nl=True),
  59. Print(dest=None,
  60. values=[Call(func=Name(id='inc',
  61. ctx=Load()),
  62. args=[Num(n=-4)],
  63. keywords=[],
  64. starargs=None,
  65. kwargs=None),
  66. Num(n=-3),
  67. Compare(left=Call(func=Name(id='inc',
  68. ctx=Load()),
  69. args=[Num(n=-4)],
  70. keywords=[],
  71. starargs=None,
  72. kwargs=None),
  73. ops=[Eq()],
  74. comparators=[Num(n=-3)])],
  75. nl=True),
  76. Print(dest=None,
  77. values=[Call(func=Name(id='plus10',
  78. ctx=Load()),
  79. args=[Num(n=8)],
  80. keywords=[],
  81. starargs=None,
  82. kwargs=None),
  83. Num(n=18),
  84. Compare(left=Call(func=Name(id='plus10',
  85. ctx=Load()),
  86. args=[Num(n=8)],
  87. keywords=[],
  88. starargs=None,
  89. kwargs=None),
  90. ops=[Eq()],
  91. comparators=[Num(n=18)])],
  92. nl=True),
  93. Print(dest=None,
  94. values=[Call(func=Name(id='plus10',
  95. ctx=Load()),
  96. args=[Num(n=-2)],
  97. keywords=[],
  98. starargs=None,
  99. kwargs=None),
  100. Num(n=8),
  101. Compare(left=Call(func=Name(id='plus10',
  102. ctx=Load()),
  103. args=[Num(n=-2)],
  104. keywords=[],
  105. starargs=None,
  106. kwargs=None),
  107. ops=[Eq()],
  108. comparators=[Num(n=8)])],
  109. nl=True),
  110. Print(dest=None,
  111. values=[Str(s='\ntestSimpleAndRebinding')],
  112. nl=True),
  113. FunctionDef(name='make_adder3',
  114. args=arguments(args=[Name(id='x',
  115. ctx=Param())],
  116. vararg=None,
  117. kwarg=None,
  118. defaults=[]),
  119. body=[FunctionDef(name='adder',
  120. args=arguments(args=[Name(id='y',
  121. ctx=Param())],
  122. vararg=None,
  123. kwarg=None,
  124. defaults=[]),
  125. body=[Return(value=BinOp(left=Name(id='x',
  126. ctx=Load()),
  127. op=Add(),
  128. right=Name(id='y',
  129. ctx=Load())))],
  130. decorator_list=[]),
  131. Assign(targets=[Name(id='x',
  132. ctx=Store())],
  133. value=BinOp(left=Name(id='x',
  134. ctx=Load()),
  135. op=Add(),
  136. right=Num(n=1))),
  137. Return(value=Name(id='adder',
  138. ctx=Load()))],
  139. decorator_list=[]),
  140. Assign(targets=[Name(id='inc',
  141. ctx=Store())],
  142. value=Call(func=Name(id='make_adder3',
  143. ctx=Load()),
  144. args=[Num(n=0)],
  145. keywords=[],
  146. starargs=None,
  147. kwargs=None)),
  148. Assign(targets=[Name(id='plus10',
  149. ctx=Store())],
  150. value=Call(func=Name(id='make_adder3',
  151. ctx=Load()),
  152. args=[Num(n=9)],
  153. keywords=[],
  154. starargs=None,
  155. kwargs=None)),
  156. Print(dest=None,
  157. values=[Call(func=Name(id='inc',
  158. ctx=Load()),
  159. args=[Num(n=1)],
  160. keywords=[],
  161. starargs=None,
  162. kwargs=None),
  163. Num(n=2),
  164. Compare(left=Call(func=Name(id='inc',
  165. ctx=Load()),
  166. args=[Num(n=1)],
  167. keywords=[],
  168. starargs=None,
  169. kwargs=None),
  170. ops=[Eq()],
  171. comparators=[Num(n=2)])],
  172. nl=True),
  173. Print(dest=None,
  174. values=[Call(func=Name(id='inc',
  175. ctx=Load()),
  176. args=[Num(n=-4)],
  177. keywords=[],
  178. starargs=None,
  179. kwargs=None),
  180. Num(n=-3),
  181. Compare(left=Call(func=Name(id='inc',
  182. ctx=Load()),
  183. args=[Num(n=-4)],
  184. keywords=[],
  185. starargs=None,
  186. kwargs=None),
  187. ops=[Eq()],
  188. comparators=[Num(n=-3)])],
  189. nl=True),
  190. Print(dest=None,
  191. values=[Call(func=Name(id='plus10',
  192. ctx=Load()),
  193. args=[Num(n=8)],
  194. keywords=[],
  195. starargs=None,
  196. kwargs=None),
  197. Num(n=18),
  198. Compare(left=Call(func=Name(id='plus10',
  199. ctx=Load()),
  200. args=[Num(n=8)],
  201. keywords=[],
  202. starargs=None,
  203. kwargs=None),
  204. ops=[Eq()],
  205. comparators=[Num(n=18)])],
  206. nl=True),
  207. Print(dest=None,
  208. values=[Call(func=Name(id='plus10',
  209. ctx=Load()),
  210. args=[Num(n=-2)],
  211. keywords=[],
  212. starargs=None,
  213. kwargs=None),
  214. Num(n=8),
  215. Compare(left=Call(func=Name(id='plus10',
  216. ctx=Load()),
  217. args=[Num(n=-2)],
  218. keywords=[],
  219. starargs=None,
  220. kwargs=None),
  221. ops=[Eq()],
  222. comparators=[Num(n=8)])],
  223. nl=True),
  224. Print(dest=None,
  225. values=[Str(s='\ntestNestingGlobalNoFree')],
  226. nl=True),
  227. FunctionDef(name='make_adder4',
  228. args=arguments(args=[],
  229. vararg=None,
  230. kwarg=None,
  231. defaults=[]),
  232. body=[FunctionDef(name='nest',
  233. args=arguments(args=[],
  234. vararg=None,
  235. kwarg=None,
  236. defaults=[]),
  237. body=[FunctionDef(name='nest',
  238. args=arguments(args=[],
  239. vararg=None,
  240. kwarg=None,
  241. defaults=[]),
  242. body=[FunctionDef(name='adder',
  243. args=arguments(args=[Name(id='y',
  244. ctx=Param())],
  245. vararg=None,
  246. kwarg=None,
  247. defaults=[]),
  248. body=[Return(value=BinOp(left=Name(id='global_x',
  249. ctx=Load()),
  250. op=Add(),
  251. right=Name(id='y',
  252. ctx=Load())))],
  253. decorator_list=[]),
  254. Return(value=Name(id='adder',
  255. ctx=Load()))],
  256. decorator_list=[]),
  257. Return(value=Call(func=Name(id='nest',
  258. ctx=Load()),
  259. args=[],
  260. keywords=[],
  261. starargs=None,
  262. kwargs=None))],
  263. decorator_list=[]),
  264. Return(value=Call(func=Name(id='nest',
  265. ctx=Load()),
  266. args=[],
  267. keywords=[],
  268. starargs=None,
  269. kwargs=None))],
  270. decorator_list=[]),
  271. Assign(targets=[Name(id='global_x',
  272. ctx=Store())],
  273. value=Num(n=1)),
  274. Assign(targets=[Name(id='adder',
  275. ctx=Store())],
  276. value=Call(func=Name(id='make_adder4',
  277. ctx=Load()),
  278. args=[],
  279. keywords=[],
  280. starargs=None,
  281. kwargs=None)),
  282. Assign(targets=[Name(id='x',
  283. ctx=Store())],
  284. value=Call(func=Name(id='adder',
  285. ctx=Load()),
  286. args=[Num(n=1)],
  287. keywords=[],
  288. starargs=None,
  289. kwargs=None)),
  290. Print(dest=None,
  291. values=[Name(id='x',
  292. ctx=Load()),
  293. Num(n=2),
  294. Compare(left=Name(id='x',
  295. ctx=Load()),
  296. ops=[Eq()],
  297. comparators=[Num(n=2)])],
  298. nl=True),
  299. Assign(targets=[Name(id='global_x',
  300. ctx=Store())],
  301. value=Num(n=10)),
  302. Assign(targets=[Name(id='x',
  303. ctx=Store())],
  304. value=Call(func=Name(id='adder',
  305. ctx=Load()),
  306. args=[Num(n=-2)],
  307. keywords=[],
  308. starargs=None,
  309. kwargs=None)),
  310. Print(dest=None,
  311. values=[Name(id='x',
  312. ctx=Load()),
  313. Num(n=8),
  314. Compare(left=Name(id='x',
  315. ctx=Load()),
  316. ops=[Eq()],
  317. comparators=[Num(n=8)])],
  318. nl=True),
  319. Print(dest=None,
  320. values=[Str(s='\ntestNestingPlusFreeRefToGlobal')],
  321. nl=True),
  322. FunctionDef(name='make_adder6',
  323. args=arguments(args=[Name(id='x',
  324. ctx=Param())],
  325. vararg=None,
  326. kwarg=None,
  327. defaults=[]),
  328. body=[Global(names=['global_nest_x']),
  329. FunctionDef(name='adder',
  330. args=arguments(args=[Name(id='y',
  331. ctx=Param())],
  332. vararg=None,
  333. kwarg=None,
  334. defaults=[]),
  335. body=[Return(value=BinOp(left=Name(id='global_nest_x',
  336. ctx=Load()),
  337. op=Add(),
  338. right=Name(id='y',
  339. ctx=Load())))],
  340. decorator_list=[]),
  341. Assign(targets=[Name(id='global_nest_x',
  342. ctx=Store())],
  343. value=Name(id='x',
  344. ctx=Load())),
  345. Return(value=Name(id='adder',
  346. ctx=Load()))],
  347. decorator_list=[]),
  348. Assign(targets=[Name(id='inc',
  349. ctx=Store())],
  350. value=Call(func=Name(id='make_adder6',
  351. ctx=Load()),
  352. args=[Num(n=1)],
  353. keywords=[],
  354. starargs=None,
  355. kwargs=None)),
  356. Print(dest=None,
  357. values=[Call(func=Name(id='inc',
  358. ctx=Load()),
  359. args=[Num(n=1)],
  360. keywords=[],
  361. starargs=None,
  362. kwargs=None),
  363. Num(n=2),
  364. Compare(left=Call(func=Name(id='inc',
  365. ctx=Load()),
  366. args=[Num(n=1)],
  367. keywords=[],
  368. starargs=None,
  369. kwargs=None),
  370. ops=[Eq()],
  371. comparators=[Num(n=2)])],
  372. nl=True),
  373. Print(dest=None,
  374. values=[Call(func=Name(id='inc',
  375. ctx=Load()),
  376. args=[Num(n=-4)],
  377. keywords=[],
  378. starargs=None,
  379. kwargs=None),
  380. Num(n=-3),
  381. Compare(left=Call(func=Name(id='inc',
  382. ctx=Load()),
  383. args=[Num(n=-4)],
  384. keywords=[],
  385. starargs=None,
  386. kwargs=None),
  387. ops=[Eq()],
  388. comparators=[Num(n=-3)])],
  389. nl=True),
  390. Assign(targets=[Name(id='plus10',
  391. ctx=Store())],
  392. value=Call(func=Name(id='make_adder6',
  393. ctx=Load()),
  394. args=[Num(n=10)],
  395. keywords=[],
  396. starargs=None,
  397. kwargs=None)),
  398. Print(dest=None,
  399. values=[Call(func=Name(id='plus10',
  400. ctx=Load()),
  401. args=[Num(n=8)],
  402. keywords=[],
  403. starargs=None,
  404. kwargs=None),
  405. Num(n=18),
  406. Compare(left=Call(func=Name(id='plus10',
  407. ctx=Load()),
  408. args=[Num(n=8)],
  409. keywords=[],
  410. starargs=None,
  411. kwargs=None),
  412. ops=[Eq()],
  413. comparators=[Num(n=18)])],
  414. nl=True),
  415. Print(dest=None,
  416. values=[Call(func=Name(id='plus10',
  417. ctx=Load()),
  418. args=[Num(n=-2)],
  419. keywords=[],
  420. starargs=None,
  421. kwargs=None),
  422. Num(n=8),
  423. Compare(left=Call(func=Name(id='plus10',
  424. ctx=Load()),
  425. args=[Num(n=-2)],
  426. keywords=[],
  427. starargs=None,
  428. kwargs=None),
  429. ops=[Eq()],
  430. comparators=[Num(n=8)])],
  431. nl=True),
  432. Print(dest=None,
  433. values=[Str(s='\ntestNearestEnclosingScope')],
  434. nl=True),
  435. FunctionDef(name='f',
  436. args=arguments(args=[Name(id='x',
  437. ctx=Param())],
  438. vararg=None,
  439. kwarg=None,
  440. defaults=[]),
  441. body=[FunctionDef(name='g',
  442. args=arguments(args=[Name(id='y',
  443. ctx=Param())],
  444. vararg=None,
  445. kwarg=None,
  446. defaults=[]),
  447. body=[Assign(targets=[Name(id='x',
  448. ctx=Store())],
  449. value=Num(n=42)),
  450. FunctionDef(name='h',
  451. args=arguments(args=[Name(id='z',
  452. ctx=Param())],
  453. vararg=None,
  454. kwarg=None,
  455. defaults=[]),
  456. body=[Return(value=BinOp(left=Name(id='x',
  457. ctx=Load()),
  458. op=Add(),
  459. right=Name(id='z',
  460. ctx=Load())))],
  461. decorator_list=[]),
  462. Return(value=Name(id='h',
  463. ctx=Load()))],
  464. decorator_list=[]),
  465. Return(value=Call(func=Name(id='g',
  466. ctx=Load()),
  467. args=[Num(n=2)],
  468. keywords=[],
  469. starargs=None,
  470. kwargs=None))],
  471. decorator_list=[]),
  472. Assign(targets=[Name(id='test_func',
  473. ctx=Store())],
  474. value=Call(func=Name(id='f',
  475. ctx=Load()),
  476. args=[Num(n=10)],
  477. keywords=[],
  478. starargs=None,
  479. kwargs=None)),
  480. Print(dest=None,
  481. values=[Call(func=Name(id='test_func',
  482. ctx=Load()),
  483. args=[Num(n=5)],
  484. keywords=[],
  485. starargs=None,
  486. kwargs=None),
  487. Num(n=47),
  488. Compare(left=Call(func=Name(id='test_func',
  489. ctx=Load()),
  490. args=[Num(n=5)],
  491. keywords=[],
  492. starargs=None,
  493. kwargs=None),
  494. ops=[Eq()],
  495. comparators=[Num(n=47)])],
  496. nl=True),
  497. Print(dest=None,
  498. values=[Str(s='\ntestMixedFreevarsAndCellvars')],
  499. nl=True),
  500. FunctionDef(name='identity',
  501. args=arguments(args=[Name(id='x',
  502. ctx=Param())],
  503. vararg=None,
  504. kwarg=None,
  505. defaults=[]),
  506. body=[Return(value=Name(id='x',
  507. ctx=Load()))],
  508. decorator_list=[]),
  509. FunctionDef(name='f',
  510. args=arguments(args=[Name(id='x',
  511. ctx=Param()),
  512. Name(id='y',
  513. ctx=Param()),
  514. Name(id='z',
  515. ctx=Param())],
  516. vararg=None,
  517. kwarg=None,
  518. defaults=[]),
  519. body=[FunctionDef(name='g',
  520. args=arguments(args=[Name(id='a',
  521. ctx=Param()),
  522. Name(id='b',
  523. ctx=Param()),
  524. Name(id='c',
  525. ctx=Param())],
  526. vararg=None,
  527. kwarg=None,
  528. defaults=[]),
  529. body=[Assign(targets=[Name(id='a',
  530. ctx=Store())],
  531. value=BinOp(left=Name(id='a',
  532. ctx=Load()),
  533. op=Add(),
  534. right=Name(id='x',
  535. ctx=Load()))),
  536. FunctionDef(name='h',
  537. args=arguments(args=[],
  538. vararg=None,
  539. kwarg=None,
  540. defaults=[]),
  541. body=[Return(value=Call(func=Name(id='identity',
  542. ctx=Load()),
  543. args=[BinOp(left=Name(id='z',
  544. ctx=Load()),
  545. op=Mult(),
  546. right=BinOp(left=Name(id='b',
  547. ctx=Load()),
  548. op=Add(),
  549. right=Name(id='y',
  550. ctx=Load())))],
  551. keywords=[],
  552. starargs=None,
  553. kwargs=None))],
  554. decorator_list=[]),
  555. Assign(targets=[Name(id='y',
  556. ctx=Store())],
  557. value=BinOp(left=Name(id='c',
  558. ctx=Load()),
  559. op=Add(),
  560. right=Name(id='z',
  561. ctx=Load()))),
  562. Return(value=Name(id='h',
  563. ctx=Load()))],
  564. decorator_list=[]),
  565. Return(value=Name(id='g',
  566. ctx=Load()))],
  567. decorator_list=[]),
  568. Assign(targets=[Name(id='g',
  569. ctx=Store())],
  570. value=Call(func=Name(id='f',
  571. ctx=Load()),
  572. args=[Num(n=1),
  573. Num(n=2),
  574. Num(n=3)],
  575. keywords=[],
  576. starargs=None,
  577. kwargs=None)),
  578. Assign(targets=[Name(id='h',
  579. ctx=Store())],
  580. value=Call(func=Name(id='g',
  581. ctx=Load()),
  582. args=[Num(n=2),
  583. Num(n=4),
  584. Num(n=6)],
  585. keywords=[],
  586. starargs=None,
  587. kwargs=None)),
  588. Print(dest=None,
  589. values=[Call(func=Name(id='h',
  590. ctx=Load()),
  591. args=[],
  592. keywords=[],
  593. starargs=None,
  594. kwargs=None),
  595. Num(n=39),
  596. Compare(left=Call(func=Name(id='h',
  597. ctx=Load()),
  598. args=[],
  599. keywords=[],
  600. starargs=None,
  601. kwargs=None),
  602. ops=[Eq()],
  603. comparators=[Num(n=39)])],
  604. nl=True),
  605. Print(dest=None,
  606. values=[Str(s='\ntestFreeVarInMethod')],
  607. nl=True),
  608. Assign(targets=[Name(id='method_and_var',
  609. ctx=Store())],
  610. value=Str(s='var')),
  611. ClassDef(name='Test',
  612. bases=[],
  613. body=[FunctionDef(name='method_and_var',
  614. args=arguments(args=[Name(id='self',
  615. ctx=Param())],
  616. vararg=None,
  617. kwarg=None,
  618. defaults=[]),
  619. body=[Return(value=Str(s='method'))],
  620. decorator_list=[]),
  621. FunctionDef(name='test',
  622. args=arguments(args=[Name(id='self',
  623. ctx=Param())],
  624. vararg=None,
  625. kwarg=None,
  626. defaults=[]),
  627. body=[Return(value=Name(id='method_and_var',
  628. ctx=Load()))],
  629. decorator_list=[]),
  630. FunctionDef(name='actual_global',
  631. args=arguments(args=[Name(id='self',
  632. ctx=Param())],
  633. vararg=None,
  634. kwarg=None,
  635. defaults=[]),
  636. body=[Return(value=Call(func=Name(id='str',
  637. ctx=Load()),
  638. args=[Str(s='global')],
  639. keywords=[],
  640. starargs=None,
  641. kwargs=None))],
  642. decorator_list=[]),
  643. FunctionDef(name='str',
  644. args=arguments(args=[Name(id='self',
  645. ctx=Param())],
  646. vararg=None,
  647. kwarg=None,
  648. defaults=[]),
  649. body=[Return(value=Call(func=Name(id='str',
  650. ctx=Load()),
  651. args=[Name(id='self',
  652. ctx=Load())],
  653. keywords=[],
  654. starargs=None,
  655. kwargs=None))],
  656. decorator_list=[])],
  657. decorator_list=[]),
  658. Assign(targets=[Name(id='t',
  659. ctx=Store())],
  660. value=Call(func=Name(id='Test',
  661. ctx=Load()),
  662. args=[],
  663. keywords=[],
  664. starargs=None,
  665. kwargs=None)),
  666. Print(dest=None,
  667. values=[Call(func=Attribute(value=Name(id='t',
  668. ctx=Load()),
  669. attr='test',
  670. ctx=Load()),
  671. args=[],
  672. keywords=[],
  673. starargs=None,
  674. kwargs=None),
  675. Str(s='var'),
  676. Compare(left=Call(func=Attribute(value=Name(id='t',
  677. ctx=Load()),
  678. attr='test',
  679. ctx=Load()),
  680. args=[],
  681. keywords=[],
  682. starargs=None,
  683. kwargs=None),
  684. ops=[Eq()],
  685. comparators=[Str(s='var')])],
  686. nl=True),
  687. Print(dest=None,
  688. values=[Call(func=Attribute(value=Name(id='t',
  689. ctx=Load()),
  690. attr='method_and_var',
  691. ctx=Load()),
  692. args=[],
  693. keywords=[],
  694. starargs=None,
  695. kwargs=None),
  696. Str(s='method'),
  697. Compare(left=Call(func=Attribute(value=Name(id='t',
  698. ctx=Load()),
  699. attr='method_and_var',
  700. ctx=Load()),
  701. args=[],
  702. keywords=[],
  703. starargs=None,
  704. kwargs=None),
  705. ops=[Eq()],
  706. comparators=[Str(s='method')])],
  707. nl=True),
  708. Print(dest=None,
  709. values=[Call(func=Attribute(value=Name(id='t',
  710. ctx=Load()),
  711. attr='actual_global',
  712. ctx=Load()),
  713. args=[],
  714. keywords=[],
  715. starargs=None,
  716. kwargs=None),
  717. Str(s='global'),
  718. Compare(left=Call(func=Attribute(value=Name(id='t',
  719. ctx=Load()),
  720. attr='actual_global',
  721. ctx=Load()),
  722. args=[],
  723. keywords=[],
  724. starargs=None,
  725. kwargs=None),
  726. ops=[Eq()],
  727. comparators=[Str(s='global')])],
  728. nl=True),
  729. Print(dest=None,
  730. values=[Str(s='\ntestRecursion')],
  731. nl=True),
  732. FunctionDef(name='f',
  733. args=arguments(args=[Name(id='x',
  734. ctx=Param())],
  735. vararg=None,
  736. kwarg=None,
  737. defaults=[]),
  738. body=[FunctionDef(name='fact',
  739. args=arguments(args=[Name(id='n',
  740. ctx=Param())],
  741. vararg=None,
  742. kwarg=None,
  743. defaults=[]),
  744. body=[If(test=Compare(left=Name(id='n',
  745. ctx=Load()),
  746. ops=[Eq()],
  747. comparators=[Num(n=0)]),
  748. body=[Return(value=Num(n=1))],
  749. orelse=[Return(value=BinOp(left=Name(id='n',
  750. ctx=Load()),
  751. op=Mult(),
  752. right=Call(func=Name(id='fact',
  753. ctx=Load()),
  754. args=[BinOp(left=Name(id='n',
  755. ctx=Load()),
  756. op=Sub(),
  757. right=Num(n=1))],
  758. keywords=[],
  759. starargs=None,
  760. kwargs=None)))])],
  761. decorator_list=[]),
  762. If(test=Compare(left=Name(id='x',
  763. ctx=Load()),
  764. ops=[GtE()],
  765. comparators=[Num(n=0)]),
  766. body=[Return(value=Call(func=Name(id='fact',
  767. ctx=Load()),
  768. args=[Name(id='x',
  769. ctx=Load())],
  770. keywords=[],
  771. starargs=None,
  772. kwargs=None))],
  773. orelse=[Raise(type=Name(id='ValueError',
  774. ctx=Load()),
  775. inst=Str(s='x must be >=0'),
  776. tback=None)])],
  777. decorator_list=[]),
  778. Print(dest=None,
  779. values=[Call(func=Name(id='f',
  780. ctx=Load()),
  781. args=[Num(n=6)],
  782. keywords=[],
  783. starargs=None,
  784. kwargs=None),
  785. Num(n=720),
  786. Compare(left=Call(func=Name(id='f',
  787. ctx=Load()),
  788. args=[Num(n=6)],
  789. keywords=[],
  790. starargs=None,
  791. kwargs=None),
  792. ops=[Eq()],
  793. comparators=[Num(n=720)])],
  794. nl=True),
  795. Print(dest=None,
  796. values=[Str(s='\ntestLambdas')],
  797. nl=True),
  798. Assign(targets=[Name(id='f1',
  799. ctx=Store())],
  800. value=Lambda(args=arguments(args=[Name(id='x',
  801. ctx=Param())],
  802. vararg=None,
  803. kwarg=None,
  804. defaults=[]),
  805. body=Lambda(args=arguments(args=[Name(id='y',
  806. ctx=Param())],
  807. vararg=None,
  808. kwarg=None,
  809. defaults=[]),
  810. body=BinOp(left=Name(id='x',
  811. ctx=Load()),
  812. op=Add(),
  813. right=Name(id='y',
  814. ctx=Load()))))),
  815. Assign(targets=[Name(id='inc',
  816. ctx=Store())],
  817. value=Call(func=Name(id='f1',
  818. ctx=Load()),
  819. args=[Num(n=1)],
  820. keywords=[],
  821. starargs=None,
  822. kwargs=None)),
  823. Assign(targets=[Name(id='plus10',
  824. ctx=Store())],
  825. value=Call(func=Name(id='f1',
  826. ctx=Load()),
  827. args=[Num(n=10)],
  828. keywords=[],
  829. starargs=None,
  830. kwargs=None)),
  831. Print(dest=None,
  832. values=[Call(func=Name(id='inc',
  833. ctx=Load()),
  834. args=[Num(n=1)],
  835. keywords=[],
  836. starargs=None,
  837. kwargs=None),
  838. Num(n=2),
  839. Compare(left=Call(func=Name(id='inc',
  840. ctx=Load()),
  841. args=[Num(n=1)],
  842. keywords=[],
  843. starargs=None,
  844. kwargs=None),
  845. ops=[Eq()],
  846. comparators=[Num(n=2)])],
  847. nl=True),
  848. Print(dest=None,
  849. values=[Call(func=Name(id='inc',
  850. ctx=Load()),
  851. args=[Num(n=-4)],
  852. keywords=[],
  853. starargs=None,
  854. kwargs=None),
  855. Num(n=-3),
  856. Compare(left=Call(func=Name(id='inc',
  857. ctx=Load()),
  858. args=[Num(n=-4)],
  859. keywords=[],
  860. starargs=None,
  861. kwargs=None),
  862. ops=[Eq()],
  863. comparators=[Num(n=-3)])],
  864. nl=True),
  865. Print(dest=None,
  866. values=[Call(func=Name(id='plus10',
  867. ctx=Load()),
  868. args=[Num(n=8)],
  869. keywords=[],
  870. starargs=None,
  871. kwargs=None),
  872. Num(n=18),
  873. Compare(left=Call(func=Name(id='plus10',
  874. ctx=Load()),
  875. args=[Num(n=8)],
  876. keywords=[],
  877. starargs=None,
  878. kwargs=None),
  879. ops=[Eq()],
  880. comparators=[Num(n=18)])],
  881. nl=True),
  882. Print(dest=None,
  883. values=[Call(func=Name(id='plus10',
  884. ctx=Load()),
  885. args=[Num(n=-2)],
  886. keywords=[],
  887. starargs=None,
  888. kwargs=None),
  889. Num(n=8),
  890. Compare(left=Call(func=Name(id='plus10',
  891. ctx=Load()),
  892. args=[Num(n=-2)],
  893. keywords=[],
  894. starargs=None,
  895. kwargs=None),
  896. ops=[Eq()],
  897. comparators=[Num(n=8)])],
  898. nl=True),
  899. Assign(targets=[Name(id='f3',
  900. ctx=Store())],
  901. value=Lambda(args=arguments(args=[Name(id='x',
  902. ctx=Param())],
  903. vararg=None,
  904. kwarg=None,
  905. defaults=[]),
  906. body=Lambda(args=arguments(args=[Name(id='y',
  907. ctx=Param())],
  908. vararg=None,
  909. kwarg=None,
  910. defaults=[]),
  911. body=BinOp(left=Name(id='global_x',
  912. ctx=Load()),
  913. op=Add(),
  914. right=Name(id='y',
  915. ctx=Load()))))),
  916. Assign(targets=[Name(id='global_x',
  917. ctx=Store())],
  918. value=Num(n=1)),
  919. Assign(targets=[Name(id='inc',
  920. ctx=Store())],
  921. value=Call(func=Name(id='f3',
  922. ctx=Load()),
  923. args=[Name(id='None',
  924. ctx=Load())],
  925. keywords=[],
  926. starargs=None,
  927. kwargs=None)),
  928. Print(dest=None,
  929. values=[Call(func=Name(id='inc',
  930. ctx=Load()),
  931. args=[Num(n=2)],
  932. keywords=[],
  933. starargs=None,
  934. kwargs=None),
  935. Num(n=3),
  936. Compare(left=Call(func=Name(id='inc',
  937. ctx=Load()),
  938. args=[Num(n=2)],
  939. keywords=[],
  940. starargs=None,
  941. kwargs=None),
  942. ops=[Eq()],
  943. comparators=[Num(n=3)])],
  944. nl=True)])