generated.py 69 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262
  1. import modelverse_kernel.primitives as primitive_functions
  2. class ModelverseKernel(object):
  3. def __init__(self, root):
  4. self.root = root
  5. self.primitives = {}
  6. self.returnvalue = None
  7. self.success = True
  8. self.generators = {}
  9. def set_overlap(self, lst):
  10. s = set(lst.pop())
  11. while (lst):
  12. s &= set(lst.pop())
  13. return list(s)
  14. def execute_yields(self, taskname, operation, params, reply):
  15. try:
  16. self.success = True
  17. self.taskname = taskname
  18. if taskname not in self.generators:
  19. self.generators[taskname] = {}
  20. if operation not in self.generators[taskname]:
  21. # Create the generator for the function to execute
  22. self.generators[taskname][operation] = getattr(self, operation)(taskname, *params)
  23. if reply is not None:
  24. return self.generators[taskname][operation].send(reply)
  25. else:
  26. return self.generators[taskname][operation].next()
  27. except StopIteration:
  28. # Done, so remove the generator
  29. del self.generators[taskname][operation]
  30. return None
  31. except:
  32. raise
  33. ##########################
  34. ### Process primitives ###
  35. ##########################
  36. def load_primitives(self, taskname):
  37. hierarchy, = yield [('RD', [self.root, '__hierarchy'])]
  38. primitives, = yield [('RD', [hierarchy, 'primitives'])]
  39. keys, = yield [('RDK', [primitives])]
  40. function_names = yield [('RV', [f]) for f in keys]
  41. signatures = yield [('RDN', [primitives, f]) for f in keys]
  42. bodies = yield [('RD', [f, 'body']) for f in signatures]
  43. for i in range(len(keys)):
  44. self.primitives[bodies[i]] = getattr(primitive_functions, function_names[i])
  45. ########################################
  46. ### Execute input and output methods ###
  47. ########################################
  48. def get_output(self, taskname):
  49. task_root, = yield [('RD', [self.root, taskname])]
  50. first_output, = yield [('RD', [task_root, 'output'])]
  51. next_output, rv = yield [('RD', [first_output, 'next']),
  52. ('RD', [first_output, 'value']),
  53. ]
  54. if next_output is None:
  55. self.success = False
  56. self.returnvalue = None
  57. else:
  58. rv_value, = yield [('RV', [rv])]
  59. _, _ = yield [('CD', [task_root, 'output', next_output]),
  60. ('DN', [first_output]),
  61. ]
  62. self.returnvalue = rv_value
  63. def set_input(self, taskname, value):
  64. task_root, = yield [('RD', [self.root, taskname])]
  65. old_input, link = yield [('RD', [task_root, 'last_input']),
  66. ('RDE', [task_root, 'last_input']),
  67. ]
  68. new_input, = yield [('CN', [])]
  69. _, _ = yield [('CD', [task_root, 'last_input', new_input]),
  70. ('CD', [old_input, 'next', new_input]),
  71. ]
  72. new_value, = yield [('CNV', [value])]
  73. _, _ = yield [('CD', [old_input, 'value', new_value]),
  74. ('DE', [link])
  75. ]
  76. self.returnvalue = {'id': 100, 'value': 'success'}
  77. ### Generated rules
  78. def execute_rule(self, taskname):
  79. root, = yield [('RR', [])]
  80. Rules_N1_0 = root
  81. Rules_N1_1, = yield [('RD', [Rules_N1_0, taskname])]
  82. Rules_N1_2, = yield [('RD', [Rules_N1_1, 'frame'])]
  83. Rules_N1_3, = yield [('RD', [Rules_N1_2, 'IP'])]
  84. Rules_N1_3_V, = yield [('RV', [Rules_N1_3])]
  85. Rules_N1_4, = yield [('RD', [Rules_N1_2, 'phase'])]
  86. Rules_N1_4_V, = yield [('RV', [Rules_N1_4])]
  87. Rules_N2_0 = root
  88. Rules_N2_1, = yield [('RD', [Rules_N2_0, taskname])]
  89. Rules_N2_2, = yield [('RD', [Rules_N2_1, 'frame'])]
  90. Rules_N2_3, = yield [('RD', [Rules_N2_2, 'phase'])]
  91. Rules_N2_3_V, = yield [('RV', [Rules_N2_3])]
  92. Rules_N2_5, = yield [('RD', [Rules_N2_2, 'IP'])]
  93. Rules_N2_5_V, = yield [('RV', [Rules_N2_5])]
  94. Rules_N3_0 = root
  95. Rules_N3_1, = yield [('RD', [Rules_N3_0, taskname])]
  96. Rules_N3_2, = yield [('RD', [Rules_N3_1, 'frame'])]
  97. Rules_N3_3, = yield [('RD', [Rules_N3_2, 'IP'])]
  98. Rules_N3_3_V, = yield [('RV', [Rules_N3_3])]
  99. Rules_N3_4, = yield [('RD', [Rules_N3_2, 'phase'])]
  100. Rules_N3_4_V, = yield [('RV', [Rules_N3_4])]
  101. Rules_N4_0 = root
  102. Rules_N4_1, = yield [('RD', [Rules_N4_0, taskname])]
  103. Rules_N4_2, = yield [('RD', [Rules_N4_1, 'frame'])]
  104. Rules_N4_3, = yield [('RD', [Rules_N4_2, 'phase'])]
  105. Rules_N4_3_V, = yield [('RV', [Rules_N4_3])]
  106. Rules_N4_6, = yield [('RD', [Rules_N4_2, 'IP'])]
  107. Rules_N4_6_V, = yield [('RV', [Rules_N4_6])]
  108. Rules_N5_0 = root
  109. Rules_N5_1, = yield [('RD', [Rules_N5_0, taskname])]
  110. Rules_N5_2, = yield [('RD', [Rules_N5_1, 'frame'])]
  111. Rules_N5_3, = yield [('RD', [Rules_N5_2, 'phase'])]
  112. Rules_N5_3_V, = yield [('RV', [Rules_N5_3])]
  113. Rules_N5_4, = yield [('RD', [Rules_N5_2, 'IP'])]
  114. Rules_N5_4_V, = yield [('RV', [Rules_N5_4])]
  115. Rules_N6_0 = root
  116. Rules_N6_1, = yield [('RD', [Rules_N6_0, taskname])]
  117. Rules_N6_2, = yield [('RD', [Rules_N6_1, 'frame'])]
  118. Rules_N6_3, = yield [('RD', [Rules_N6_2, 'phase'])]
  119. Rules_N6_3_V, = yield [('RV', [Rules_N6_3])]
  120. Rules_N6_5, = yield [('RD', [Rules_N6_2, 'IP'])]
  121. Rules_N6_5_V, = yield [('RV', [Rules_N6_5])]
  122. Rules_N7_0 = root
  123. Rules_N7_1, = yield [('RD', [Rules_N7_0, taskname])]
  124. Rules_N7_3, = yield [('RD', [Rules_N7_1, 'frame'])]
  125. Rules_N7_6, = yield [('RD', [Rules_N7_3, 'IP'])]
  126. Rules_N7_6_V, = yield [('RV', [Rules_N7_6])]
  127. Rules_N7_10, = yield [('RD', [Rules_N7_3, 'phase'])]
  128. Rules_N7_10_V, = yield [('RV', [Rules_N7_10])]
  129. Rules_N7_11, = yield [('RD', [Rules_N7_6, 'last_param'])]
  130. Rules_N8_0 = root
  131. Rules_N8_1, = yield [('RD', [Rules_N8_0, taskname])]
  132. Rules_N8_3, = yield [('RD', [Rules_N8_1, 'frame'])]
  133. Rules_N8_4, = yield [('RD', [Rules_N8_3, 'IP'])]
  134. Rules_N8_4_V, = yield [('RV', [Rules_N8_4])]
  135. Rules_N8_14, = yield [('RD', [Rules_N8_3, 'phase'])]
  136. Rules_N8_14_V, = yield [('RV', [Rules_N8_14])]
  137. Rules_N8_5, = yield [('RD', [Rules_N8_4, 'last_param'])]
  138. Rules_N9_0 = root
  139. Rules_N9_1, = yield [('RD', [Rules_N9_0, taskname])]
  140. Rules_N9_2, = yield [('RD', [Rules_N9_1, 'frame'])]
  141. Rules_N9_14, = yield [('RD', [Rules_N9_2, 'IP'])]
  142. Rules_N9_14_V, = yield [('RV', [Rules_N9_14])]
  143. Rules_N9_15, = yield [('RD', [Rules_N9_2, 'phase'])]
  144. yeizjnlzws, = yield [('RD', [Rules_N9_14, 'params'])]
  145. if yeizjnlzws != Rules_N9_15:
  146. Rules_N9_15 = None
  147. Rules_N9_16, = yield [('RD', [Rules_N9_15, 'next_param'])]
  148. Rules_N10_0 = root
  149. Rules_N10_1, = yield [('RD', [Rules_N10_0, taskname])]
  150. Rules_N10_2, = yield [('RD', [Rules_N10_1, 'frame'])]
  151. Rules_N10_14, = yield [('RD', [Rules_N10_2, 'IP'])]
  152. Rules_N10_14_V, = yield [('RV', [Rules_N10_14])]
  153. Rules_N10_15, = yield [('RD', [Rules_N10_2, 'phase'])]
  154. yzdjsemeow, = yield [('RD', [Rules_N10_14, 'params'])]
  155. if yzdjsemeow != Rules_N10_15:
  156. Rules_N10_15 = None
  157. iayfvajbid, = yield [('RD', [Rules_N10_14, 'last_param'])]
  158. if iayfvajbid != Rules_N10_15:
  159. Rules_N10_15 = None
  160. Rules_N11_0 = root
  161. Rules_N11_1, = yield [('RD', [Rules_N11_0, taskname])]
  162. Rules_N11_2, = yield [('RD', [Rules_N11_1, 'frame'])]
  163. Rules_N11_16, = yield [('RD', [Rules_N11_2, 'IP'])]
  164. Rules_N11_16_V, = yield [('RV', [Rules_N11_16])]
  165. Rules_N11_14, = yield [('RD', [Rules_N11_2, 'phase'])]
  166. vkdpuyaazv, = yield [('RD', [Rules_N11_16, 'last_param'])]
  167. if vkdpuyaazv != Rules_N11_14:
  168. Rules_N11_14 = None
  169. Rules_N12_0 = root
  170. Rules_N12_1, = yield [('RD', [Rules_N12_0, taskname])]
  171. Rules_N12_2, = yield [('RD', [Rules_N12_1, 'frame'])]
  172. Rules_N12_11, = yield [('RD', [Rules_N12_2, 'phase'])]
  173. Rules_N12_19, = yield [('RD', [Rules_N12_2, 'IP'])]
  174. Rules_N12_19_V, = yield [('RV', [Rules_N12_19])]
  175. Rules_N12_18, = yield [('RD', [Rules_N12_11, 'next_param'])]
  176. Rules_N13_0 = root
  177. Rules_N13_1, = yield [('RD', [Rules_N13_0, taskname])]
  178. Rules_N13_2, = yield [('RD', [Rules_N13_1, 'frame'])]
  179. Rules_N13_6, = yield [('RD', [Rules_N13_2, 'IP'])]
  180. Rules_N13_6_V, = yield [('RV', [Rules_N13_6])]
  181. Rules_N13_3, = yield [('RD', [Rules_N13_2, 'phase'])]
  182. Rules_N13_3_V, = yield [('RV', [Rules_N13_3])]
  183. Rules_N13_9, = yield [('RD', [Rules_N13_6, 'params'])]
  184. Rules_N14_0 = root
  185. Rules_N14_1, = yield [('RD', [Rules_N14_0, taskname])]
  186. Rules_N14_2, = yield [('RD', [Rules_N14_1, 'frame'])]
  187. Rules_N14_5, = yield [('RD', [Rules_N14_2, 'IP'])]
  188. Rules_N14_5_V, = yield [('RV', [Rules_N14_5])]
  189. Rules_N14_7, = yield [('RD', [Rules_N14_2, 'phase'])]
  190. Rules_N14_7_V, = yield [('RV', [Rules_N14_7])]
  191. Rules_N14_8, = yield [('RD', [Rules_N14_5, 'params'])]
  192. Rules_N15_0 = root
  193. Rules_N15_1, = yield [('RD', [Rules_N15_0, taskname])]
  194. Rules_N15_2, = yield [('RD', [Rules_N15_1, 'frame'])]
  195. Rules_N15_4, = yield [('RD', [Rules_N15_2, 'phase'])]
  196. Rules_N15_4_V, = yield [('RV', [Rules_N15_4])]
  197. Rules_N15_6, = yield [('RD', [Rules_N15_2, 'IP'])]
  198. Rules_N15_6_V, = yield [('RV', [Rules_N15_6])]
  199. Rules_N16_0 = root
  200. Rules_N16_1, = yield [('RD', [Rules_N16_0, taskname])]
  201. Rules_N16_2, = yield [('RD', [Rules_N16_1, 'frame'])]
  202. Rules_N16_3, = yield [('RD', [Rules_N16_2, 'phase'])]
  203. Rules_N16_3_V, = yield [('RV', [Rules_N16_3])]
  204. Rules_N16_4, = yield [('RD', [Rules_N16_2, 'IP'])]
  205. Rules_N16_4_V, = yield [('RV', [Rules_N16_4])]
  206. Rules_N17_0 = root
  207. Rules_N17_1, = yield [('RD', [Rules_N17_0, taskname])]
  208. Rules_N17_2, = yield [('RD', [Rules_N17_1, 'frame'])]
  209. Rules_N17_3, = yield [('RD', [Rules_N17_2, 'phase'])]
  210. Rules_N17_3_V, = yield [('RV', [Rules_N17_3])]
  211. Rules_N17_5, = yield [('RD', [Rules_N17_2, 'IP'])]
  212. Rules_N17_5_V, = yield [('RV', [Rules_N17_5])]
  213. Rules_N18_0 = root
  214. Rules_N18_1, = yield [('RD', [Rules_N18_0, taskname])]
  215. Rules_N18_2, = yield [('RD', [Rules_N18_1, 'frame'])]
  216. Rules_N18_4, = yield [('RD', [Rules_N18_2, 'phase'])]
  217. Rules_N18_4_V, = yield [('RV', [Rules_N18_4])]
  218. Rules_N18_6, = yield [('RD', [Rules_N18_2, 'IP'])]
  219. Rules_N18_6_V, = yield [('RV', [Rules_N18_6])]
  220. Rules_N19_0 = root
  221. Rules_N19_1, = yield [('RD', [Rules_N19_0, taskname])]
  222. Rules_N19_2, = yield [('RD', [Rules_N19_1, 'frame'])]
  223. Rules_N19_3, = yield [('RD', [Rules_N19_2, 'phase'])]
  224. Rules_N19_3_V, = yield [('RV', [Rules_N19_3])]
  225. Rules_N19_6, = yield [('RD', [Rules_N19_2, 'IP'])]
  226. Rules_N19_6_V, = yield [('RV', [Rules_N19_6])]
  227. Rules_N20_0 = root
  228. Rules_N20_1, = yield [('RD', [Rules_N20_0, taskname])]
  229. Rules_N20_2, = yield [('RD', [Rules_N20_1, 'frame'])]
  230. Rules_N20_3, = yield [('RD', [Rules_N20_2, 'phase'])]
  231. Rules_N20_3_V, = yield [('RV', [Rules_N20_3])]
  232. Rules_N20_4, = yield [('RD', [Rules_N20_2, 'IP'])]
  233. Rules_N20_4_V, = yield [('RV', [Rules_N20_4])]
  234. Rules_N20_6, = yield [('RD', [Rules_N20_2, 'returnvalue'])]
  235. Rules_N20_6_V, = yield [('RV', [Rules_N20_6])]
  236. Rules_N20_8, = yield [('RD', [Rules_N20_4, 'else'])]
  237. Rules_N21_0 = root
  238. Rules_N21_1, = yield [('RD', [Rules_N21_0, taskname])]
  239. Rules_N21_2, = yield [('RD', [Rules_N21_1, 'frame'])]
  240. Rules_N21_5, = yield [('RD', [Rules_N21_2, 'IP'])]
  241. Rules_N21_5_V, = yield [('RV', [Rules_N21_5])]
  242. Rules_N21_6, = yield [('RD', [Rules_N21_2, 'returnvalue'])]
  243. Rules_N21_6_V, = yield [('RV', [Rules_N21_6])]
  244. Rules_N21_3, = yield [('RD', [Rules_N21_2, 'phase'])]
  245. Rules_N21_3_V, = yield [('RV', [Rules_N21_3])]
  246. Rules_N21_7, = yield [('RD', [Rules_N21_5, 'else'])]
  247. Rules_N22_0 = root
  248. Rules_N22_1, = yield [('RD', [Rules_N22_0, taskname])]
  249. Rules_N22_2, = yield [('RD', [Rules_N22_1, 'frame'])]
  250. Rules_N22_3, = yield [('RD', [Rules_N22_2, 'phase'])]
  251. Rules_N22_3_V, = yield [('RV', [Rules_N22_3])]
  252. Rules_N22_9, = yield [('RD', [Rules_N22_2, 'IP'])]
  253. Rules_N22_9_V, = yield [('RV', [Rules_N22_9])]
  254. Rules_N22_6, = yield [('RD', [Rules_N22_2, 'returnvalue'])]
  255. Rules_N22_6_V, = yield [('RV', [Rules_N22_6])]
  256. Rules_N23_0 = root
  257. Rules_N23_1, = yield [('RD', [Rules_N23_0, taskname])]
  258. Rules_N23_2, = yield [('RD', [Rules_N23_1, 'frame'])]
  259. Rules_N23_8, = yield [('RD', [Rules_N23_1, 'input'])]
  260. Rules_N23_5, = yield [('RD', [Rules_N23_2, 'IP'])]
  261. Rules_N23_5_V, = yield [('RV', [Rules_N23_5])]
  262. Rules_N23_6, = yield [('RD', [Rules_N23_2, 'phase'])]
  263. Rules_N23_6_V, = yield [('RV', [Rules_N23_6])]
  264. Rules_N23_7, = yield [('RD', [Rules_N23_8, 'value'])]
  265. Rules_N24_0 = root
  266. Rules_N24_1, = yield [('RD', [Rules_N24_0, taskname])]
  267. Rules_N24_2, = yield [('RD', [Rules_N24_1, 'frame'])]
  268. Rules_N24_3, = yield [('RD', [Rules_N24_2, 'phase'])]
  269. Rules_N24_3_V, = yield [('RV', [Rules_N24_3])]
  270. Rules_N24_5, = yield [('RD', [Rules_N24_2, 'IP'])]
  271. Rules_N24_6, = yield [('RD', [Rules_N24_5, 'next'])]
  272. Rules_N25_0 = root
  273. Rules_N25_1, = yield [('RD', [Rules_N25_0, taskname])]
  274. Rules_N25_2, = yield [('RD', [Rules_N25_1, 'frame'])]
  275. Rules_N25_3, = yield [('RD', [Rules_N25_2, 'phase'])]
  276. Rules_N25_3_V, = yield [('RV', [Rules_N25_3])]
  277. Rules_N25_4, = yield [('RD', [Rules_N25_2, 'IP'])]
  278. Rules_N25_9, = yield [('RD', [Rules_N25_4, 'next'])]
  279. Rules_N26_0 = root
  280. Rules_N26_1, = yield [('RD', [Rules_N26_0, taskname])]
  281. Rules_N26_2, = yield [('RD', [Rules_N26_1, 'frame'])]
  282. Rules_N26_3, = yield [('RD', [Rules_N26_2, 'phase'])]
  283. Rules_N26_3_V, = yield [('RV', [Rules_N26_3])]
  284. Rules_N26_4, = yield [('RD', [Rules_N26_2, 'IP'])]
  285. Rules_N26_4_V, = yield [('RV', [Rules_N26_4])]
  286. Rules_N27_0 = root
  287. Rules_N27_1, = yield [('RD', [Rules_N27_0, taskname])]
  288. Rules_N27_2, = yield [('RD', [Rules_N27_1, 'frame'])]
  289. Rules_N27_4, = yield [('RD', [Rules_N27_2, 'IP'])]
  290. Rules_N27_4_V, = yield [('RV', [Rules_N27_4])]
  291. Rules_N27_5, = yield [('RD', [Rules_N27_2, 'phase'])]
  292. Rules_N27_5_V, = yield [('RV', [Rules_N27_5])]
  293. Rules_N28_0 = root
  294. Rules_N28_1, = yield [('RD', [Rules_N28_0, taskname])]
  295. Rules_N28_3, = yield [('RD', [Rules_N28_1, 'frame'])]
  296. Rules_N28_5, = yield [('RD', [Rules_N28_3, 'symbols'])]
  297. Rules_N28_7, = yield [('RD', [Rules_N28_3, 'IP'])]
  298. Rules_N28_7_V, = yield [('RV', [Rules_N28_7])]
  299. Rules_N28_8, = yield [('RD', [Rules_N28_3, 'phase'])]
  300. Rules_N28_8_V, = yield [('RV', [Rules_N28_8])]
  301. Rules_N28_10, = yield [('RD', [Rules_N28_7, 'var'])]
  302. Rules_N28_10_V, = yield [('RV', [Rules_N28_10])]
  303. Rules_N28_11, = yield [('RDN', [Rules_N28_5, Rules_N28_10])]
  304. Rules_N29_0 = root
  305. Rules_N29_1, = yield [('RD', [Rules_N29_0, taskname])]
  306. Rules_N29_2, = yield [('RD', [Rules_N29_1, 'frame'])]
  307. Rules_N29_3, = yield [('RD', [Rules_N29_2, 'IP'])]
  308. Rules_N29_3_V, = yield [('RV', [Rules_N29_3])]
  309. Rules_N29_4, = yield [('RD', [Rules_N29_2, 'phase'])]
  310. Rules_N29_4_V, = yield [('RV', [Rules_N29_4])]
  311. Rules_N29_6, = yield [('RD', [Rules_N29_2, 'symbols'])]
  312. Rules_N29_9, = yield [('RD', [Rules_N29_3, 'var'])]
  313. Rules_N29_7, = yield [('RDN', [Rules_N29_6, Rules_N29_9])]
  314. Rules_N30_0 = root
  315. Rules_N30_1, = yield [('RD', [Rules_N30_0, taskname])]
  316. Rules_N30_2, = yield [('RD', [Rules_N30_1, 'frame'])]
  317. Rules_N30_4, = yield [('RD', [Rules_N30_2, 'phase'])]
  318. Rules_N30_4_V, = yield [('RV', [Rules_N30_4])]
  319. Rules_N30_5, = yield [('RD', [Rules_N30_2, 'IP'])]
  320. Rules_N30_5_V, = yield [('RV', [Rules_N30_5])]
  321. Rules_N31_0 = root
  322. Rules_N31_1, = yield [('RD', [Rules_N31_0, taskname])]
  323. Rules_N31_2, = yield [('RD', [Rules_N31_1, 'frame'])]
  324. Rules_N31_4, = yield [('RD', [Rules_N31_2, 'phase'])]
  325. Rules_N31_4_V, = yield [('RV', [Rules_N31_4])]
  326. Rules_N31_5, = yield [('RD', [Rules_N31_2, 'IP'])]
  327. Rules_N31_5_V, = yield [('RV', [Rules_N31_5])]
  328. Rules_N31_6, = yield [('RD', [Rules_N31_5, 'value'])]
  329. Rules_N32_0 = root
  330. Rules_N32_1, = yield [('RD', [Rules_N32_0, taskname])]
  331. Rules_N32_2, = yield [('RD', [Rules_N32_1, 'frame'])]
  332. Rules_N32_3, = yield [('RD', [Rules_N32_2, 'phase'])]
  333. Rules_N32_3_V, = yield [('RV', [Rules_N32_3])]
  334. Rules_N32_5, = yield [('RD', [Rules_N32_2, 'IP'])]
  335. Rules_N32_5_V, = yield [('RV', [Rules_N32_5])]
  336. Rules_N32_7, = yield [('RD', [Rules_N32_5, 'value'])]
  337. Rules_N33_0 = root
  338. Rules_N33_1, = yield [('RD', [Rules_N33_0, taskname])]
  339. Rules_N33_2, = yield [('RD', [Rules_N33_1, 'frame'])]
  340. Rules_N33_3, = yield [('RD', [Rules_N33_2, 'phase'])]
  341. Rules_N33_3_V, = yield [('RV', [Rules_N33_3])]
  342. Rules_N33_5, = yield [('RD', [Rules_N33_2, 'IP'])]
  343. Rules_N33_5_V, = yield [('RV', [Rules_N33_5])]
  344. Rules_N34_0 = root
  345. Rules_N34_1, = yield [('RD', [Rules_N34_0, taskname])]
  346. Rules_N34_2, = yield [('RD', [Rules_N34_1, 'frame'])]
  347. Rules_N34_3, = yield [('RD', [Rules_N34_2, 'phase'])]
  348. Rules_N34_3_V, = yield [('RV', [Rules_N34_3])]
  349. Rules_N34_5, = yield [('RD', [Rules_N34_2, 'IP'])]
  350. Rules_N34_5_V, = yield [('RV', [Rules_N34_5])]
  351. Rules_N34_6, = yield [('RD', [Rules_N34_2, 'returnvalue'])]
  352. Rules_N34_6_V, = yield [('RV', [Rules_N34_6])]
  353. Rules_N35_0 = root
  354. Rules_N35_1, = yield [('RD', [Rules_N35_0, taskname])]
  355. Rules_N35_2, = yield [('RD', [Rules_N35_1, 'frame'])]
  356. Rules_N35_3, = yield [('RD', [Rules_N35_2, 'phase'])]
  357. Rules_N35_3_V, = yield [('RV', [Rules_N35_3])]
  358. Rules_N35_5, = yield [('RD', [Rules_N35_2, 'IP'])]
  359. Rules_N35_5_V, = yield [('RV', [Rules_N35_5])]
  360. Rules_N35_7, = yield [('RD', [Rules_N35_2, 'returnvalue'])]
  361. Rules_N35_7_V, = yield [('RV', [Rules_N35_7])]
  362. if (False):
  363. # here to make code generation nicer...
  364. pass
  365. elif (True and Rules_N1_1 is not None and Rules_N1_2 is not None and Rules_N1_3 is not None and isinstance(Rules_N1_3_V , dict) and Rules_N1_3_V['value'] == 'access' and Rules_N1_4 is not None and Rules_N1_4_V == 'eval'):
  366. # Execute rule Rules/Access_Eval_N1
  367. Rules_N1_1, = yield [('RD', [Rules_N1_0, taskname])]
  368. Rules_N1_2, = yield [('RD', [Rules_N1_1, 'frame'])]
  369. Rules_N1_3, = yield [('RD', [Rules_N1_2, 'IP'])]
  370. Rules_N1_4, = yield [('RD', [Rules_N1_2, 'phase'])]
  371. Rules_N1_4_DEL, = yield [('RDE', [Rules_N1_2, 'phase'])]
  372. yield [('DE', [Rules_N1_4_DEL])]
  373. Rules_N1_7, = yield [('RD', [Rules_N1_2, 'returnvalue'])]
  374. Rules_N1_7_DEL, = yield [('RDE', [Rules_N1_2, 'returnvalue'])]
  375. yield [('DE', [Rules_N1_7_DEL])]
  376. Rules_N1_6, = yield [('RD', [Rules_N1_7, 'value'])]
  377. Rules_N1_5, = yield [('CNV', ['finish'])]
  378. Rules___16, = yield [('CD', [Rules_N1_2, 'phase', Rules_N1_5])]
  379. Rules___18, = yield [('CD', [Rules_N1_2, 'returnvalue', Rules_N1_6])]
  380. elif (True and Rules_N2_1 is not None and Rules_N2_2 is not None and Rules_N2_3 is not None and Rules_N2_3_V == 'init' and Rules_N2_5 is not None and isinstance(Rules_N2_5_V , dict) and Rules_N2_5_V['value'] == 'access'):
  381. # Execute rule Rules/Access_Init_N2
  382. Rules_N2_1, = yield [('RD', [Rules_N2_0, taskname])]
  383. Rules_N2_2, = yield [('RD', [Rules_N2_1, 'frame'])]
  384. Rules_N2_3, = yield [('RD', [Rules_N2_2, 'phase'])]
  385. Rules_N2_5, = yield [('RD', [Rules_N2_2, 'IP'])]
  386. Rules_N2_5_DEL, = yield [('RDE', [Rules_N2_2, 'IP'])]
  387. yield [('DE', [Rules_N2_5_DEL])]
  388. Rules_N2_6, = yield [('RD', [Rules_N2_2, 'evalstack'])]
  389. Rules_N2_6_DEL, = yield [('RDE', [Rules_N2_2, 'evalstack'])]
  390. yield [('DE', [Rules_N2_6_DEL])]
  391. Rules_N2_7, = yield [('RD', [Rules_N2_5, 'var'])]
  392. Rules_N2_4, = yield [('CN', [])]
  393. Rules_N2_8, = yield [('CNV', ['eval'])]
  394. Rules___41, = yield [('CD', [Rules_N2_2, 'evalstack', Rules_N2_4])]
  395. Rules___45, = yield [('CD', [Rules_N2_2, 'IP', Rules_N2_7])]
  396. Rules___47, = yield [('CD', [Rules_N2_4, 'prev', Rules_N2_6])]
  397. Rules___49, = yield [('CD', [Rules_N2_6, 'phase', Rules_N2_8])]
  398. Rules___51, = yield [('CD', [Rules_N2_6, 'inst', Rules_N2_5])]
  399. elif (True and Rules_N3_1 is not None and Rules_N3_2 is not None and Rules_N3_3 is not None and isinstance(Rules_N3_3_V , dict) and Rules_N3_3_V['value'] == 'assign' and Rules_N3_4 is not None and Rules_N3_4_V == 'assign'):
  400. # Execute rule Rules/Assign_Assign_N3
  401. Rules_N3_1, = yield [('RD', [Rules_N3_0, taskname])]
  402. Rules_N3_2, = yield [('RD', [Rules_N3_1, 'frame'])]
  403. Rules_N3_3, = yield [('RD', [Rules_N3_2, 'IP'])]
  404. Rules_N3_4, = yield [('RD', [Rules_N3_2, 'phase'])]
  405. Rules_N3_4_DEL, = yield [('RDE', [Rules_N3_2, 'phase'])]
  406. yield [('DE', [Rules_N3_4_DEL])]
  407. Rules_N3_6, = yield [('RD', [Rules_N3_2, 'returnvalue'])]
  408. Rules_N3_7, = yield [('RD', [Rules_N3_2, 'variable'])]
  409. Rules_N3_7_DEL, = yield [('RDE', [Rules_N3_2, 'variable'])]
  410. yield [('DE', [Rules_N3_7_DEL])]
  411. Rules_N3_8, = yield [('RD', [Rules_N3_7, 'value'])]
  412. Rules_N3_8_DEL, = yield [('RDE', [Rules_N3_7, 'value'])]
  413. yield [('DE', [Rules_N3_8_DEL])]
  414. Rules_N3_5, = yield [('CNV', ['finish'])]
  415. Rules___72, = yield [('CD', [Rules_N3_2, 'phase', Rules_N3_5])]
  416. Rules___78, = yield [('CD', [Rules_N3_7, 'value', Rules_N3_6])]
  417. elif (True and Rules_N4_1 is not None and Rules_N4_2 is not None and Rules_N4_3 is not None and Rules_N4_3_V == 'init' and Rules_N4_6 is not None and isinstance(Rules_N4_6_V , dict) and Rules_N4_6_V['value'] == 'assign'):
  418. # Execute rule Rules/Assign_Init_N4
  419. Rules_N4_1, = yield [('RD', [Rules_N4_0, taskname])]
  420. Rules_N4_2, = yield [('RD', [Rules_N4_1, 'frame'])]
  421. Rules_N4_3, = yield [('RD', [Rules_N4_2, 'phase'])]
  422. Rules_N4_6, = yield [('RD', [Rules_N4_2, 'IP'])]
  423. Rules_N4_6_DEL, = yield [('RDE', [Rules_N4_2, 'IP'])]
  424. yield [('DE', [Rules_N4_6_DEL])]
  425. Rules_N4_5, = yield [('RD', [Rules_N4_2, 'evalstack'])]
  426. Rules_N4_5_DEL, = yield [('RDE', [Rules_N4_2, 'evalstack'])]
  427. yield [('DE', [Rules_N4_5_DEL])]
  428. Rules_N4_8, = yield [('RD', [Rules_N4_6, 'var'])]
  429. Rules_N4_4, = yield [('CN', [])]
  430. Rules_N4_7, = yield [('CNV', ['value'])]
  431. Rules___99, = yield [('CD', [Rules_N4_2, 'evalstack', Rules_N4_4])]
  432. Rules___103, = yield [('CD', [Rules_N4_2, 'IP', Rules_N4_8])]
  433. Rules___105, = yield [('CD', [Rules_N4_4, 'prev', Rules_N4_5])]
  434. Rules___107, = yield [('CD', [Rules_N4_5, 'inst', Rules_N4_6])]
  435. Rules___109, = yield [('CD', [Rules_N4_5, 'phase', Rules_N4_7])]
  436. elif (True and Rules_N5_1 is not None and Rules_N5_2 is not None and Rules_N5_3 is not None and Rules_N5_3_V == 'value' and Rules_N5_4 is not None and isinstance(Rules_N5_4_V , dict) and Rules_N5_4_V['value'] == 'assign'):
  437. # Execute rule Rules/Assign_Value_N5
  438. Rules_N5_1, = yield [('RD', [Rules_N5_0, taskname])]
  439. Rules_N5_2, = yield [('RD', [Rules_N5_1, 'frame'])]
  440. Rules_N5_3, = yield [('RD', [Rules_N5_2, 'phase'])]
  441. Rules_N5_3_DEL, = yield [('RDE', [Rules_N5_2, 'phase'])]
  442. yield [('DE', [Rules_N5_3_DEL])]
  443. Rules_N5_4, = yield [('RD', [Rules_N5_2, 'IP'])]
  444. Rules_N5_4_DEL, = yield [('RDE', [Rules_N5_2, 'IP'])]
  445. yield [('DE', [Rules_N5_4_DEL])]
  446. Rules_N5_9, = yield [('RD', [Rules_N5_2, 'evalstack'])]
  447. Rules_N5_9_DEL, = yield [('RDE', [Rules_N5_2, 'evalstack'])]
  448. yield [('DE', [Rules_N5_9_DEL])]
  449. Rules_N5_8, = yield [('RD', [Rules_N5_2, 'returnvalue'])]
  450. Rules_N5_7, = yield [('RD', [Rules_N5_4, 'value'])]
  451. Rules_N5_5, = yield [('CN', [])]
  452. Rules_N5_6, = yield [('CNV', ['init'])]
  453. Rules_N5_10, = yield [('CNV', ['assign'])]
  454. Rules___132, = yield [('CD', [Rules_N5_2, 'evalstack', Rules_N5_5])]
  455. Rules___134, = yield [('CD', [Rules_N5_2, 'phase', Rules_N5_6])]
  456. Rules___138, = yield [('CD', [Rules_N5_2, 'IP', Rules_N5_7])]
  457. Rules___142, = yield [('CD', [Rules_N5_2, 'variable', Rules_N5_8])]
  458. Rules___144, = yield [('CD', [Rules_N5_5, 'prev', Rules_N5_9])]
  459. Rules___146, = yield [('CD', [Rules_N5_9, 'inst', Rules_N5_4])]
  460. Rules___148, = yield [('CD', [Rules_N5_9, 'phase', Rules_N5_10])]
  461. elif (True and Rules_N6_1 is not None and Rules_N6_2 is not None and Rules_N6_3 is not None and Rules_N6_3_V == 'init' and Rules_N6_5 is not None and isinstance(Rules_N6_5_V , dict) and Rules_N6_5_V['value'] == 'break'):
  462. # Execute rule Rules/Break_N6
  463. Rules_N6_1, = yield [('RD', [Rules_N6_0, taskname])]
  464. Rules_N6_2, = yield [('RD', [Rules_N6_1, 'frame'])]
  465. Rules_N6_3, = yield [('RD', [Rules_N6_2, 'phase'])]
  466. Rules_N6_3_DEL, = yield [('RDE', [Rules_N6_2, 'phase'])]
  467. yield [('DE', [Rules_N6_3_DEL])]
  468. Rules_N6_5, = yield [('RD', [Rules_N6_2, 'IP'])]
  469. Rules_N6_7, = yield [('RD', [Rules_N6_2, 'evalstack'])]
  470. Rules_N6_7_DEL, = yield [('RDE', [Rules_N6_2, 'evalstack'])]
  471. yield [('DE', [Rules_N6_7_DEL])]
  472. Rules_N6_6, = yield [('RD', [Rules_N6_5, 'while'])]
  473. matched = []
  474. _tmp, = yield [('RRD', [Rules_N6_6, taskname])]
  475. matched.append(_tmp)
  476. Rules_N6_8 = self.set_overlap(matched)[0]
  477. matched = []
  478. _tmp, = yield [('RRD', [Rules_N6_8, 'prev'])]
  479. matched.append(_tmp)
  480. Rules_N6_10 = self.set_overlap(matched)[0]
  481. Rules_N6_4, = yield [('CNV', ['finish'])]
  482. Rules_N6_9, = yield [('CN', [])]
  483. Rules_N6_11, = yield [('CNV', ['finish'])]
  484. Rules___171, = yield [('CD', [Rules_N6_2, 'phase', Rules_N6_4])]
  485. Rules___183, = yield [('CD', [Rules_N6_2, 'evalstack', Rules_N6_9])]
  486. Rules___185, = yield [('CD', [Rules_N6_9, 'prev', Rules_N6_8])]
  487. Rules___187, = yield [('CD', [Rules_N6_8, 'phase', Rules_N6_11])]
  488. elif (True and Rules_N7_1 is not None and Rules_N7_3 is not None and Rules_N7_6 is not None and isinstance(Rules_N7_6_V , dict) and Rules_N7_6_V['value'] == 'call' and Rules_N7_10 is not None and Rules_N7_10_V == 'call' and Rules_N7_11 is None ):
  489. # Execute rule Rules/Call_Call_None_N7
  490. Rules_N7_1, = yield [('RD', [Rules_N7_0, taskname])]
  491. Rules_N7_3, = yield [('RD', [Rules_N7_1, 'frame'])]
  492. Rules_N7_3_DEL, = yield [('RDE', [Rules_N7_1, 'frame'])]
  493. yield [('DE', [Rules_N7_3_DEL])]
  494. Rules_N7_6, = yield [('RD', [Rules_N7_3, 'IP'])]
  495. Rules_N7_8, = yield [('RD', [Rules_N7_3, 'returnvalue'])]
  496. Rules_N7_10, = yield [('RD', [Rules_N7_3, 'phase'])]
  497. Rules_N7_10_DEL, = yield [('RDE', [Rules_N7_3, 'phase'])]
  498. yield [('DE', [Rules_N7_10_DEL])]
  499. Rules_N7_11, = yield [('RD', [Rules_N7_6, 'last_param'])]
  500. Rules_N7_12, = yield [('RD', [Rules_N7_8, 'body'])]
  501. Rules_N7_2, = yield [('CN', [])]
  502. Rules_N7_4, = yield [('CN', [])]
  503. Rules_N7_5, = yield [('CN', [])]
  504. Rules_N7_7, = yield [('CN', [])]
  505. Rules_N7_9, = yield [('CNV', ['finish'])]
  506. Rules_N7_13, = yield [('CNV', ['init'])]
  507. Rules___205, = yield [('CD', [Rules_N7_1, 'frame', Rules_N7_2])]
  508. Rules___209, = yield [('CD', [Rules_N7_2, 'evalstack', Rules_N7_4])]
  509. Rules___211, = yield [('CD', [Rules_N7_2, 'symbols', Rules_N7_5])]
  510. Rules___213, = yield [('CD', [Rules_N7_2, 'caller', Rules_N7_6])]
  511. Rules___215, = yield [('CD', [Rules_N7_2, 'returnvalue', Rules_N7_7])]
  512. Rules___217, = yield [('CD', [Rules_N7_2, 'IP', Rules_N7_12])]
  513. Rules___219, = yield [('CD', [Rules_N7_2, 'phase', Rules_N7_13])]
  514. Rules___223, = yield [('CD', [Rules_N7_2, 'prev', Rules_N7_3])]
  515. Rules___229, = yield [('CD', [Rules_N7_3, 'phase', Rules_N7_9])]
  516. elif (True and Rules_N8_1 is not None and Rules_N8_3 is not None and Rules_N8_4 is not None and isinstance(Rules_N8_4_V , dict) and Rules_N8_4_V['value'] == 'call' and Rules_N8_5 is not None and Rules_N8_14 is not None and Rules_N8_14_V == 'call'):
  517. # Execute rule Rules/Call_Call_Params_N8
  518. Rules_N8_1, = yield [('RD', [Rules_N8_0, taskname])]
  519. Rules_N8_3, = yield [('RD', [Rules_N8_1, 'frame'])]
  520. Rules_N8_3_DEL, = yield [('RDE', [Rules_N8_1, 'frame'])]
  521. yield [('DE', [Rules_N8_3_DEL])]
  522. Rules_N8_4, = yield [('RD', [Rules_N8_3, 'IP'])]
  523. Rules_N8_8, = yield [('RD', [Rules_N8_3, 'returnvalue'])]
  524. Rules_N8_14, = yield [('RD', [Rules_N8_3, 'phase'])]
  525. Rules_N8_14_DEL, = yield [('RDE', [Rules_N8_3, 'phase'])]
  526. yield [('DE', [Rules_N8_14_DEL])]
  527. Rules_N8_5, = yield [('RD', [Rules_N8_4, 'last_param'])]
  528. Rules_N8_6, = yield [('RD', [Rules_N8_5, 'name'])]
  529. a, = yield [('RV', [Rules_N8_6])]
  530. matched = []
  531. _tmp, = yield [('RRD', [Rules_N8_4, 'caller'])]
  532. matched.append(_tmp)
  533. _tmp, = yield [('RRD', [Rules_N8_3, 'prev'])]
  534. matched.append(_tmp)
  535. Rules_N8_2 = self.set_overlap(matched)[0]
  536. ljqztmkdxt, = yield [('RD', [Rules_N8_2, 'caller'])]
  537. if ljqztmkdxt != Rules_N8_4:
  538. Rules_N8_4 = None
  539. ponbkoyiug, = yield [('RD', [Rules_N8_2, 'prev'])]
  540. if ponbkoyiug != Rules_N8_3:
  541. Rules_N8_3 = None
  542. Rules_N8_15, = yield [('RD', [Rules_N8_2, 'symbols'])]
  543. Rules_N8_13, = yield [('RD', [Rules_N8_2, 'IP'])]
  544. matched = []
  545. _tmp, = yield [('RRD', [Rules_N8_13, 'body'])]
  546. matched.append(_tmp)
  547. Rules_N8_12 = self.set_overlap(matched)[0]
  548. xykkiaqtlm, = yield [('RD', [Rules_N8_12, 'body'])]
  549. if xykkiaqtlm != Rules_N8_13:
  550. Rules_N8_13 = None
  551. Rules_N8_11, = yield [('RD', [Rules_N8_12, 'params'])]
  552. Rules_N8_9, = yield [('RD', [Rules_N8_11, a])]
  553. Rules_N8_7, = yield [('CNV', ['finish'])]
  554. Rules_N8_10, = yield [('CN', [])]
  555. Rules___253, = yield [('CD', [Rules_N8_1, 'frame', Rules_N8_2])]
  556. Rules___267, = yield [('CD', [Rules_N8_3, 'phase', Rules_N8_7])]
  557. Rules___277, = yield [('CD', [Rules_N8_10, 'value', Rules_N8_8])]
  558. Rules_N8_16, = yield [('CE', [Rules_N8_15, Rules_N8_10])]
  559. Rules___286, = yield [('CE', [Rules_N8_16, Rules_N8_9])]
  560. elif (True and Rules_N9_1 is not None and Rules_N9_2 is not None and Rules_N9_14 is not None and isinstance(Rules_N9_14_V , dict) and Rules_N9_14_V['value'] == 'call' and Rules_N9_15 is not None and Rules_N9_16 is not None ):
  561. # Execute rule Rules/Call_Params_First_Multi_N9
  562. Rules_N9_1, = yield [('RD', [Rules_N9_0, taskname])]
  563. Rules_N9_2, = yield [('RD', [Rules_N9_1, 'frame'])]
  564. Rules_N9_13, = yield [('RD', [Rules_N9_2, 'evalstack'])]
  565. Rules_N9_13_DEL, = yield [('RDE', [Rules_N9_2, 'evalstack'])]
  566. yield [('DE', [Rules_N9_13_DEL])]
  567. Rules_N9_14, = yield [('RD', [Rules_N9_2, 'IP'])]
  568. Rules_N9_14_DEL, = yield [('RDE', [Rules_N9_2, 'IP'])]
  569. yield [('DE', [Rules_N9_14_DEL])]
  570. Rules_N9_15, = yield [('RD', [Rules_N9_2, 'phase'])]
  571. Rules_N9_15_DEL, = yield [('RDE', [Rules_N9_2, 'phase'])]
  572. yield [('DE', [Rules_N9_15_DEL])]
  573. Rules_N9_10, = yield [('RD', [Rules_N9_2, 'returnvalue'])]
  574. Rules_N9_15, = yield [('RD', [Rules_N9_14, 'params'])]
  575. Rules_N9_16, = yield [('RD', [Rules_N9_15, 'next_param'])]
  576. Rules_N9_17, = yield [('RD', [Rules_N9_15, 'value'])]
  577. Rules_N9_9, = yield [('RD', [Rules_N9_10, 'params'])]
  578. Rules_N9_8, = yield [('RD', [Rules_N9_10, 'body'])]
  579. Rules_N9_3, = yield [('CN', [])]
  580. Rules_N9_4, = yield [('CNV', ['init'])]
  581. Rules_N9_5, = yield [('CN', [])]
  582. Rules_N9_6, = yield [('CN', [])]
  583. Rules_N9_7, = yield [('CN', [])]
  584. Rules_N9_11, = yield [('CNV', ['init'])]
  585. Rules_N9_12, = yield [('CN', [])]
  586. Rules___310, = yield [('CD', [Rules_N9_2, 'evalstack', Rules_N9_12])]
  587. Rules___316, = yield [('CD', [Rules_N9_2, 'phase', Rules_N9_11])]
  588. Rules___322, = yield [('CD', [Rules_N9_2, 'IP', Rules_N9_17])]
  589. Rules___324, = yield [('CD', [Rules_N9_3, 'caller', Rules_N9_14])]
  590. Rules___326, = yield [('CD', [Rules_N9_3, 'prev', Rules_N9_2])]
  591. Rules___328, = yield [('CD', [Rules_N9_3, 'phase', Rules_N9_4])]
  592. Rules___330, = yield [('CD', [Rules_N9_3, 'evalstack', Rules_N9_5])]
  593. Rules___332, = yield [('CD', [Rules_N9_3, 'symbols', Rules_N9_6])]
  594. Rules___334, = yield [('CD', [Rules_N9_3, 'returnvalue', Rules_N9_7])]
  595. Rules___336, = yield [('CD', [Rules_N9_3, 'IP', Rules_N9_8])]
  596. Rules___342, = yield [('CD', [Rules_N9_12, 'prev', Rules_N9_13])]
  597. Rules___344, = yield [('CD', [Rules_N9_13, 'inst', Rules_N9_14])]
  598. Rules___346, = yield [('CD', [Rules_N9_13, 'phase', Rules_N9_16])]
  599. elif (True and Rules_N10_1 is not None and Rules_N10_2 is not None and Rules_N10_14 is not None and isinstance(Rules_N10_14_V , dict) and Rules_N10_14_V['value'] == 'call' and Rules_N10_15 is not None ):
  600. # Execute rule Rules/Call_Params_First_Single_N10
  601. Rules_N10_1, = yield [('RD', [Rules_N10_0, taskname])]
  602. Rules_N10_2, = yield [('RD', [Rules_N10_1, 'frame'])]
  603. Rules_N10_10, = yield [('RD', [Rules_N10_2, 'returnvalue'])]
  604. Rules_N10_12, = yield [('RD', [Rules_N10_2, 'evalstack'])]
  605. Rules_N10_12_DEL, = yield [('RDE', [Rules_N10_2, 'evalstack'])]
  606. yield [('DE', [Rules_N10_12_DEL])]
  607. Rules_N10_14, = yield [('RD', [Rules_N10_2, 'IP'])]
  608. Rules_N10_14_DEL, = yield [('RDE', [Rules_N10_2, 'IP'])]
  609. yield [('DE', [Rules_N10_14_DEL])]
  610. Rules_N10_15, = yield [('RD', [Rules_N10_2, 'phase'])]
  611. Rules_N10_15_DEL, = yield [('RDE', [Rules_N10_2, 'phase'])]
  612. yield [('DE', [Rules_N10_15_DEL])]
  613. Rules_N10_8, = yield [('RD', [Rules_N10_10, 'body'])]
  614. Rules_N10_11, = yield [('RD', [Rules_N10_10, 'params'])]
  615. Rules_N10_15, = yield [('RD', [Rules_N10_14, 'params'])]
  616. Rules_N10_15, = yield [('RD', [Rules_N10_14, 'last_param'])]
  617. Rules_N10_16, = yield [('RD', [Rules_N10_15, 'value'])]
  618. Rules_N10_3, = yield [('CN', [])]
  619. Rules_N10_4, = yield [('CNV', ['init'])]
  620. Rules_N10_5, = yield [('CN', [])]
  621. Rules_N10_6, = yield [('CN', [])]
  622. Rules_N10_7, = yield [('CN', [])]
  623. Rules_N10_9, = yield [('CNV', ['init'])]
  624. Rules_N10_13, = yield [('CNV', ['call'])]
  625. Rules_N10_17, = yield [('CN', [])]
  626. Rules___376, = yield [('CD', [Rules_N10_2, 'IP', Rules_N10_16])]
  627. Rules___378, = yield [('CD', [Rules_N10_2, 'phase', Rules_N10_9])]
  628. Rules___384, = yield [('CD', [Rules_N10_2, 'evalstack', Rules_N10_17])]
  629. Rules___390, = yield [('CD', [Rules_N10_3, 'phase', Rules_N10_4])]
  630. Rules___392, = yield [('CD', [Rules_N10_3, 'evalstack', Rules_N10_5])]
  631. Rules___394, = yield [('CD', [Rules_N10_3, 'symbols', Rules_N10_6])]
  632. Rules___396, = yield [('CD', [Rules_N10_3, 'returnvalue', Rules_N10_7])]
  633. Rules___398, = yield [('CD', [Rules_N10_3, 'prev', Rules_N10_2])]
  634. Rules___400, = yield [('CD', [Rules_N10_3, 'IP', Rules_N10_8])]
  635. Rules___402, = yield [('CD', [Rules_N10_3, 'caller', Rules_N10_14])]
  636. Rules___408, = yield [('CD', [Rules_N10_12, 'phase', Rules_N10_13])]
  637. Rules___410, = yield [('CD', [Rules_N10_12, 'inst', Rules_N10_14])]
  638. Rules___418, = yield [('CD', [Rules_N10_17, 'prev', Rules_N10_12])]
  639. elif (True and Rules_N11_1 is not None and Rules_N11_2 is not None and Rules_N11_14 is not None and Rules_N11_16 is not None and isinstance(Rules_N11_16_V , dict) and Rules_N11_16_V['value'] == 'call'):
  640. # Execute rule Rules/Call_Params_Last_N11
  641. Rules_N11_1, = yield [('RD', [Rules_N11_0, taskname])]
  642. Rules_N11_2, = yield [('RD', [Rules_N11_1, 'frame'])]
  643. Rules_N11_16, = yield [('RD', [Rules_N11_2, 'IP'])]
  644. Rules_N11_16_DEL, = yield [('RDE', [Rules_N11_2, 'IP'])]
  645. yield [('DE', [Rules_N11_16_DEL])]
  646. Rules_N11_17, = yield [('RD', [Rules_N11_2, 'evalstack'])]
  647. Rules_N11_17_DEL, = yield [('RDE', [Rules_N11_2, 'evalstack'])]
  648. yield [('DE', [Rules_N11_17_DEL])]
  649. Rules_N11_14, = yield [('RD', [Rules_N11_2, 'phase'])]
  650. Rules_N11_14_DEL, = yield [('RDE', [Rules_N11_2, 'phase'])]
  651. yield [('DE', [Rules_N11_14_DEL])]
  652. Rules_N11_10, = yield [('RD', [Rules_N11_2, 'returnvalue'])]
  653. Rules_N11_14, = yield [('RD', [Rules_N11_16, 'last_param'])]
  654. Rules_N11_13, = yield [('RD', [Rules_N11_14, 'value'])]
  655. matched = []
  656. _tmp, = yield [('RRD', [Rules_N11_16, 'caller'])]
  657. matched.append(_tmp)
  658. _tmp, = yield [('RRD', [Rules_N11_2, 'prev'])]
  659. matched.append(_tmp)
  660. Rules_N11_3 = self.set_overlap(matched)[0]
  661. matched = []
  662. _tmp, = yield [('RRD', [Rules_N11_14, 'next_param'])]
  663. matched.append(_tmp)
  664. Rules_N11_11 = self.set_overlap(matched)[0]
  665. whaiqchfgu, = yield [('RD', [Rules_N11_3, 'caller'])]
  666. if whaiqchfgu != Rules_N11_16:
  667. Rules_N11_16 = None
  668. mpozlhzspl, = yield [('RD', [Rules_N11_3, 'prev'])]
  669. if mpozlhzspl != Rules_N11_2:
  670. Rules_N11_2 = None
  671. Rules_N11_20, = yield [('RD', [Rules_N11_3, 'symbols'])]
  672. Rules_N11_5, = yield [('RD', [Rules_N11_3, 'IP'])]
  673. pcyvaeoaol, = yield [('RD', [Rules_N11_11, 'next_param'])]
  674. if pcyvaeoaol != Rules_N11_14:
  675. Rules_N11_14 = None
  676. Rules_N11_12, = yield [('RD', [Rules_N11_11, 'name'])]
  677. a, = yield [('RV', [Rules_N11_12])]
  678. matched = []
  679. _tmp, = yield [('RRD', [Rules_N11_5, 'body'])]
  680. matched.append(_tmp)
  681. Rules_N11_4 = self.set_overlap(matched)[0]
  682. llasytmvip, = yield [('RD', [Rules_N11_4, 'body'])]
  683. if llasytmvip != Rules_N11_5:
  684. Rules_N11_5 = None
  685. Rules_N11_6, = yield [('RD', [Rules_N11_4, 'params'])]
  686. Rules_N11_7, = yield [('RD', [Rules_N11_6, a])]
  687. Rules_N11_9, = yield [('CN', [])]
  688. Rules_N11_15, = yield [('CNV', ['call'])]
  689. Rules_N11_18, = yield [('CN', [])]
  690. Rules_N11_19, = yield [('CNV', ['init'])]
  691. Rules___448, = yield [('CD', [Rules_N11_2, 'evalstack', Rules_N11_18])]
  692. Rules___450, = yield [('CD', [Rules_N11_2, 'phase', Rules_N11_19])]
  693. Rules___456, = yield [('CD', [Rules_N11_2, 'IP', Rules_N11_13])]
  694. Rules___472, = yield [('CD', [Rules_N11_9, 'value', Rules_N11_10])]
  695. Rules___482, = yield [('CD', [Rules_N11_17, 'inst', Rules_N11_16])]
  696. Rules___484, = yield [('CD', [Rules_N11_17, 'phase', Rules_N11_15])]
  697. Rules___486, = yield [('CD', [Rules_N11_18, 'prev', Rules_N11_17])]
  698. Rules_N11_8, = yield [('CE', [Rules_N11_20, Rules_N11_9])]
  699. Rules___489, = yield [('CE', [Rules_N11_8, Rules_N11_7])]
  700. elif (True and Rules_N12_1 is not None and Rules_N12_2 is not None and Rules_N12_11 is not None and Rules_N12_18 is not None and Rules_N12_19 is not None and isinstance(Rules_N12_19_V , dict) and Rules_N12_19_V['value'] == 'call'):
  701. # Execute rule Rules/Call_Params_Next_N12
  702. Rules_N12_1, = yield [('RD', [Rules_N12_0, taskname])]
  703. Rules_N12_2, = yield [('RD', [Rules_N12_1, 'frame'])]
  704. Rules_N12_10, = yield [('RD', [Rules_N12_2, 'returnvalue'])]
  705. Rules_N12_11, = yield [('RD', [Rules_N12_2, 'phase'])]
  706. Rules_N12_11_DEL, = yield [('RDE', [Rules_N12_2, 'phase'])]
  707. yield [('DE', [Rules_N12_11_DEL])]
  708. Rules_N12_17, = yield [('RD', [Rules_N12_2, 'evalstack'])]
  709. Rules_N12_17_DEL, = yield [('RDE', [Rules_N12_2, 'evalstack'])]
  710. yield [('DE', [Rules_N12_17_DEL])]
  711. Rules_N12_19, = yield [('RD', [Rules_N12_2, 'IP'])]
  712. Rules_N12_19_DEL, = yield [('RDE', [Rules_N12_2, 'IP'])]
  713. yield [('DE', [Rules_N12_19_DEL])]
  714. Rules_N12_18, = yield [('RD', [Rules_N12_11, 'next_param'])]
  715. Rules_N12_16, = yield [('RD', [Rules_N12_11, 'value'])]
  716. matched = []
  717. _tmp, = yield [('RRD', [Rules_N12_2, 'prev'])]
  718. matched.append(_tmp)
  719. _tmp, = yield [('RRD', [Rules_N12_19, 'caller'])]
  720. matched.append(_tmp)
  721. Rules_N12_3 = self.set_overlap(matched)[0]
  722. matched = []
  723. _tmp, = yield [('RRD', [Rules_N12_11, 'next_param'])]
  724. matched.append(_tmp)
  725. Rules_N12_12 = self.set_overlap(matched)[0]
  726. Rules_N12_5, = yield [('RD', [Rules_N12_3, 'IP'])]
  727. Rules_N12_13, = yield [('RD', [Rules_N12_3, 'symbols'])]
  728. zhuoodaovc, = yield [('RD', [Rules_N12_3, 'prev'])]
  729. if zhuoodaovc != Rules_N12_2:
  730. Rules_N12_2 = None
  731. byfihktigc, = yield [('RD', [Rules_N12_3, 'caller'])]
  732. if byfihktigc != Rules_N12_19:
  733. Rules_N12_19 = None
  734. Rules_N12_14, = yield [('RD', [Rules_N12_12, 'name'])]
  735. a, = yield [('RV', [Rules_N12_14])]
  736. sqnmjascwq, = yield [('RD', [Rules_N12_12, 'next_param'])]
  737. if sqnmjascwq != Rules_N12_11:
  738. Rules_N12_11 = None
  739. matched = []
  740. _tmp, = yield [('RRD', [Rules_N12_5, 'body'])]
  741. matched.append(_tmp)
  742. Rules_N12_4 = self.set_overlap(matched)[0]
  743. Rules_N12_6, = yield [('RD', [Rules_N12_4, 'params'])]
  744. pmsgsijptu, = yield [('RD', [Rules_N12_4, 'body'])]
  745. if pmsgsijptu != Rules_N12_5:
  746. Rules_N12_5 = None
  747. Rules_N12_7, = yield [('RD', [Rules_N12_6, a])]
  748. Rules_N12_9, = yield [('CN', [])]
  749. Rules_N12_15, = yield [('CN', [])]
  750. Rules_N12_20, = yield [('CNV', ['init'])]
  751. Rules___521, = yield [('CD', [Rules_N12_2, 'evalstack', Rules_N12_15])]
  752. Rules___523, = yield [('CD', [Rules_N12_2, 'IP', Rules_N12_16])]
  753. Rules___527, = yield [('CD', [Rules_N12_2, 'phase', Rules_N12_20])]
  754. Rules___543, = yield [('CD', [Rules_N12_9, 'value', Rules_N12_10])]
  755. Rules___553, = yield [('CD', [Rules_N12_15, 'prev', Rules_N12_17])]
  756. Rules___555, = yield [('CD', [Rules_N12_17, 'phase', Rules_N12_18])]
  757. Rules___557, = yield [('CD', [Rules_N12_17, 'inst', Rules_N12_19])]
  758. Rules_N12_8, = yield [('CE', [Rules_N12_13, Rules_N12_9])]
  759. Rules___560, = yield [('CE', [Rules_N12_8, Rules_N12_7])]
  760. elif (True and Rules_N13_1 is not None and Rules_N13_2 is not None and Rules_N13_3 is not None and Rules_N13_3_V == 'init' and Rules_N13_6 is not None and isinstance(Rules_N13_6_V , dict) and Rules_N13_6_V['value'] == 'call' and Rules_N13_9 is None ):
  761. # Execute rule Rules/Call_Resolve_No_Params_N13
  762. Rules_N13_1, = yield [('RD', [Rules_N13_0, taskname])]
  763. Rules_N13_2, = yield [('RD', [Rules_N13_1, 'frame'])]
  764. Rules_N13_6, = yield [('RD', [Rules_N13_2, 'IP'])]
  765. Rules_N13_6_DEL, = yield [('RDE', [Rules_N13_2, 'IP'])]
  766. yield [('DE', [Rules_N13_6_DEL])]
  767. Rules_N13_3, = yield [('RD', [Rules_N13_2, 'phase'])]
  768. Rules_N13_5, = yield [('RD', [Rules_N13_2, 'evalstack'])]
  769. Rules_N13_5_DEL, = yield [('RDE', [Rules_N13_2, 'evalstack'])]
  770. yield [('DE', [Rules_N13_5_DEL])]
  771. Rules_N13_9, = yield [('RD', [Rules_N13_6, 'params'])]
  772. Rules_N13_8, = yield [('RD', [Rules_N13_6, 'func'])]
  773. Rules_N13_4, = yield [('CN', [])]
  774. Rules_N13_7, = yield [('CNV', ['call'])]
  775. Rules___580, = yield [('CD', [Rules_N13_2, 'evalstack', Rules_N13_4])]
  776. Rules___584, = yield [('CD', [Rules_N13_2, 'IP', Rules_N13_8])]
  777. Rules___586, = yield [('CD', [Rules_N13_4, 'prev', Rules_N13_5])]
  778. Rules___588, = yield [('CD', [Rules_N13_5, 'inst', Rules_N13_6])]
  779. Rules___590, = yield [('CD', [Rules_N13_5, 'phase', Rules_N13_7])]
  780. elif (True and Rules_N14_1 is not None and Rules_N14_2 is not None and Rules_N14_5 is not None and isinstance(Rules_N14_5_V , dict) and Rules_N14_5_V['value'] == 'call' and Rules_N14_7 is not None and Rules_N14_7_V == 'init' and Rules_N14_8 is not None ):
  781. # Execute rule Rules/Call_Resolve_Params_N14
  782. Rules_N14_1, = yield [('RD', [Rules_N14_0, taskname])]
  783. Rules_N14_2, = yield [('RD', [Rules_N14_1, 'frame'])]
  784. Rules_N14_3, = yield [('RD', [Rules_N14_2, 'evalstack'])]
  785. Rules_N14_3_DEL, = yield [('RDE', [Rules_N14_2, 'evalstack'])]
  786. yield [('DE', [Rules_N14_3_DEL])]
  787. Rules_N14_5, = yield [('RD', [Rules_N14_2, 'IP'])]
  788. Rules_N14_5_DEL, = yield [('RDE', [Rules_N14_2, 'IP'])]
  789. yield [('DE', [Rules_N14_5_DEL])]
  790. Rules_N14_7, = yield [('RD', [Rules_N14_2, 'phase'])]
  791. Rules_N14_8, = yield [('RD', [Rules_N14_5, 'params'])]
  792. Rules_N14_6, = yield [('RD', [Rules_N14_5, 'func'])]
  793. Rules_N14_4, = yield [('CN', [])]
  794. Rules___611, = yield [('CD', [Rules_N14_2, 'evalstack', Rules_N14_4])]
  795. Rules___615, = yield [('CD', [Rules_N14_2, 'IP', Rules_N14_6])]
  796. Rules___619, = yield [('CD', [Rules_N14_3, 'phase', Rules_N14_8])]
  797. Rules___621, = yield [('CD', [Rules_N14_3, 'inst', Rules_N14_5])]
  798. Rules___623, = yield [('CD', [Rules_N14_4, 'prev', Rules_N14_3])]
  799. elif (True and Rules_N15_1 is not None and Rules_N15_2 is not None and Rules_N15_4 is not None and Rules_N15_4_V == 'init' and Rules_N15_6 is not None and isinstance(Rules_N15_6_V , dict) and Rules_N15_6_V['value'] == 'constant'):
  800. # Execute rule Rules/Const_N15
  801. Rules_N15_1, = yield [('RD', [Rules_N15_0, taskname])]
  802. Rules_N15_2, = yield [('RD', [Rules_N15_1, 'frame'])]
  803. Rules_N15_3, = yield [('RD', [Rules_N15_2, 'returnvalue'])]
  804. Rules_N15_3_DEL, = yield [('RDE', [Rules_N15_2, 'returnvalue'])]
  805. yield [('DE', [Rules_N15_3_DEL])]
  806. Rules_N15_4, = yield [('RD', [Rules_N15_2, 'phase'])]
  807. Rules_N15_4_DEL, = yield [('RDE', [Rules_N15_2, 'phase'])]
  808. yield [('DE', [Rules_N15_4_DEL])]
  809. Rules_N15_6, = yield [('RD', [Rules_N15_2, 'IP'])]
  810. Rules_N15_7, = yield [('RD', [Rules_N15_6, 'node'])]
  811. Rules_N15_5, = yield [('CNV', ['finish'])]
  812. Rules___641, = yield [('CD', [Rules_N15_2, 'returnvalue', Rules_N15_7])]
  813. Rules___647, = yield [('CD', [Rules_N15_2, 'phase', Rules_N15_5])]
  814. elif (True and Rules_N16_1 is not None and Rules_N16_2 is not None and Rules_N16_3 is not None and Rules_N16_3_V == 'init' and Rules_N16_4 is not None and isinstance(Rules_N16_4_V , dict) and Rules_N16_4_V['value'] == 'continue'):
  815. # Execute rule Rules/Continue_N16
  816. Rules_N16_1, = yield [('RD', [Rules_N16_0, taskname])]
  817. Rules_N16_2, = yield [('RD', [Rules_N16_1, 'frame'])]
  818. Rules_N16_3, = yield [('RD', [Rules_N16_2, 'phase'])]
  819. Rules_N16_3_DEL, = yield [('RDE', [Rules_N16_2, 'phase'])]
  820. yield [('DE', [Rules_N16_3_DEL])]
  821. Rules_N16_4, = yield [('RD', [Rules_N16_2, 'IP'])]
  822. Rules_N16_6, = yield [('RD', [Rules_N16_2, 'evalstack'])]
  823. Rules_N16_6_DEL, = yield [('RDE', [Rules_N16_2, 'evalstack'])]
  824. yield [('DE', [Rules_N16_6_DEL])]
  825. Rules_N16_5, = yield [('RD', [Rules_N16_4, 'while'])]
  826. matched = []
  827. _tmp, = yield [('RRD', [Rules_N16_5, taskname])]
  828. matched.append(_tmp)
  829. Rules_N16_7 = self.set_overlap(matched)[0]
  830. matched = []
  831. _tmp, = yield [('RRD', [Rules_N16_7, 'prev'])]
  832. matched.append(_tmp)
  833. Rules_N16_9 = self.set_overlap(matched)[0]
  834. Rules_N16_8, = yield [('CN', [])]
  835. Rules_N16_10, = yield [('CNV', ['finish'])]
  836. Rules___670, = yield [('CD', [Rules_N16_2, 'phase', Rules_N16_10])]
  837. Rules___682, = yield [('CD', [Rules_N16_2, 'evalstack', Rules_N16_8])]
  838. Rules___684, = yield [('CD', [Rules_N16_8, 'prev', Rules_N16_7])]
  839. elif (True and Rules_N17_1 is not None and Rules_N17_2 is not None and Rules_N17_3 is not None and Rules_N17_3_V == 'init' and Rules_N17_5 is not None and isinstance(Rules_N17_5_V , dict) and Rules_N17_5_V['value'] == 'declare'):
  840. # Execute rule Rules/Declare_Init_N17
  841. Rules_N17_1, = yield [('RD', [Rules_N17_0, taskname])]
  842. Rules_N17_2, = yield [('RD', [Rules_N17_1, 'frame'])]
  843. Rules_N17_3, = yield [('RD', [Rules_N17_2, 'phase'])]
  844. Rules_N17_3_DEL, = yield [('RDE', [Rules_N17_2, 'phase'])]
  845. yield [('DE', [Rules_N17_3_DEL])]
  846. Rules_N17_5, = yield [('RD', [Rules_N17_2, 'IP'])]
  847. Rules_N17_6, = yield [('RD', [Rules_N17_2, 'symbols'])]
  848. Rules_N17_7, = yield [('RD', [Rules_N17_5, 'var'])]
  849. Rules_N17_4, = yield [('CNV', ['finish'])]
  850. Rules_N17_8, = yield [('CN', [])]
  851. Rules___701, = yield [('CD', [Rules_N17_2, 'phase', Rules_N17_4])]
  852. Rules_N17_9, = yield [('CE', [Rules_N17_6, Rules_N17_8])]
  853. Rules___710, = yield [('CE', [Rules_N17_9, Rules_N17_7])]
  854. elif (True and Rules_N18_1 is not None and Rules_N18_2 is not None and Rules_N18_4 is not None and Rules_N18_4_V == 'init' and Rules_N18_6 is not None and isinstance(Rules_N18_6_V , dict) and Rules_N18_6_V['value'] == 'global'):
  855. # Execute rule Rules/Global_Init_N18
  856. Rules_N18_1, = yield [('RD', [Rules_N18_0, taskname])]
  857. Rules_N18_2, = yield [('RD', [Rules_N18_1, 'frame'])]
  858. Rules_N18_3, = yield [('RD', [Rules_N18_1, 'globals'])]
  859. Rules_N18_4, = yield [('RD', [Rules_N18_2, 'phase'])]
  860. Rules_N18_4_DEL, = yield [('RDE', [Rules_N18_2, 'phase'])]
  861. yield [('DE', [Rules_N18_4_DEL])]
  862. Rules_N18_6, = yield [('RD', [Rules_N18_2, 'IP'])]
  863. Rules_N18_7, = yield [('RD', [Rules_N18_6, 'var'])]
  864. Rules_N18_5, = yield [('CNV', ['finish'])]
  865. Rules_N18_8, = yield [('CN', [])]
  866. Rules___729, = yield [('CD', [Rules_N18_2, 'phase', Rules_N18_5])]
  867. Rules_N18_9, = yield [('CE', [Rules_N18_3, Rules_N18_8])]
  868. Rules___736, = yield [('CE', [Rules_N18_9, Rules_N18_7])]
  869. elif (True and Rules_N19_1 is not None and Rules_N19_2 is not None and Rules_N19_3 is not None and Rules_N19_3_V == 'init' and Rules_N19_6 is not None and isinstance(Rules_N19_6_V , dict) and Rules_N19_6_V['value'] == 'if'):
  870. # Execute rule Rules/If_Cond_N19
  871. Rules_N19_1, = yield [('RD', [Rules_N19_0, taskname])]
  872. Rules_N19_2, = yield [('RD', [Rules_N19_1, 'frame'])]
  873. Rules_N19_3, = yield [('RD', [Rules_N19_2, 'phase'])]
  874. Rules_N19_6, = yield [('RD', [Rules_N19_2, 'IP'])]
  875. Rules_N19_6_DEL, = yield [('RDE', [Rules_N19_2, 'IP'])]
  876. yield [('DE', [Rules_N19_6_DEL])]
  877. Rules_N19_5, = yield [('RD', [Rules_N19_2, 'evalstack'])]
  878. Rules_N19_5_DEL, = yield [('RDE', [Rules_N19_2, 'evalstack'])]
  879. yield [('DE', [Rules_N19_5_DEL])]
  880. Rules_N19_8, = yield [('RD', [Rules_N19_6, 'cond'])]
  881. Rules_N19_4, = yield [('CN', [])]
  882. Rules_N19_7, = yield [('CNV', ['cond'])]
  883. Rules___755, = yield [('CD', [Rules_N19_2, 'evalstack', Rules_N19_4])]
  884. Rules___759, = yield [('CD', [Rules_N19_2, 'IP', Rules_N19_8])]
  885. Rules___761, = yield [('CD', [Rules_N19_4, 'prev', Rules_N19_5])]
  886. Rules___763, = yield [('CD', [Rules_N19_5, 'inst', Rules_N19_6])]
  887. Rules___765, = yield [('CD', [Rules_N19_5, 'phase', Rules_N19_7])]
  888. elif (True and Rules_N20_1 is not None and Rules_N20_2 is not None and Rules_N20_3 is not None and Rules_N20_3_V == 'cond' and Rules_N20_4 is not None and isinstance(Rules_N20_4_V , dict) and Rules_N20_4_V['value'] == 'if' and Rules_N20_6 is not None and Rules_N20_6_V == False and Rules_N20_8 is not None ):
  889. # Execute rule Rules/If_False_Else_N20
  890. Rules_N20_1, = yield [('RD', [Rules_N20_0, taskname])]
  891. Rules_N20_2, = yield [('RD', [Rules_N20_1, 'frame'])]
  892. Rules_N20_3, = yield [('RD', [Rules_N20_2, 'phase'])]
  893. Rules_N20_3_DEL, = yield [('RDE', [Rules_N20_2, 'phase'])]
  894. yield [('DE', [Rules_N20_3_DEL])]
  895. Rules_N20_4, = yield [('RD', [Rules_N20_2, 'IP'])]
  896. Rules_N20_4_DEL, = yield [('RDE', [Rules_N20_2, 'IP'])]
  897. yield [('DE', [Rules_N20_4_DEL])]
  898. Rules_N20_6, = yield [('RD', [Rules_N20_2, 'returnvalue'])]
  899. Rules_N20_9, = yield [('RD', [Rules_N20_2, 'evalstack'])]
  900. Rules_N20_9_DEL, = yield [('RDE', [Rules_N20_2, 'evalstack'])]
  901. yield [('DE', [Rules_N20_9_DEL])]
  902. Rules_N20_8, = yield [('RD', [Rules_N20_4, 'else'])]
  903. Rules_N20_5, = yield [('CN', [])]
  904. Rules_N20_7, = yield [('CNV', ['init'])]
  905. Rules_N20_10, = yield [('CNV', ['finish'])]
  906. Rules___788, = yield [('CD', [Rules_N20_2, 'evalstack', Rules_N20_5])]
  907. Rules___792, = yield [('CD', [Rules_N20_2, 'phase', Rules_N20_7])]
  908. Rules___796, = yield [('CD', [Rules_N20_2, 'IP', Rules_N20_8])]
  909. Rules___800, = yield [('CD', [Rules_N20_5, 'prev', Rules_N20_9])]
  910. Rules___802, = yield [('CD', [Rules_N20_9, 'inst', Rules_N20_4])]
  911. Rules___804, = yield [('CD', [Rules_N20_9, 'phase', Rules_N20_10])]
  912. elif (True and Rules_N21_1 is not None and Rules_N21_2 is not None and Rules_N21_3 is not None and Rules_N21_3_V == 'cond' and Rules_N21_5 is not None and isinstance(Rules_N21_5_V , dict) and Rules_N21_5_V['value'] == 'if' and Rules_N21_6 is not None and Rules_N21_6_V == False and Rules_N21_7 is None ):
  913. # Execute rule Rules/If_False_None_N21
  914. Rules_N21_1, = yield [('RD', [Rules_N21_0, taskname])]
  915. Rules_N21_2, = yield [('RD', [Rules_N21_1, 'frame'])]
  916. Rules_N21_5, = yield [('RD', [Rules_N21_2, 'IP'])]
  917. Rules_N21_6, = yield [('RD', [Rules_N21_2, 'returnvalue'])]
  918. Rules_N21_3, = yield [('RD', [Rules_N21_2, 'phase'])]
  919. Rules_N21_3_DEL, = yield [('RDE', [Rules_N21_2, 'phase'])]
  920. yield [('DE', [Rules_N21_3_DEL])]
  921. Rules_N21_7, = yield [('RD', [Rules_N21_5, 'else'])]
  922. Rules_N21_4, = yield [('CNV', ['finish'])]
  923. Rules___824, = yield [('CD', [Rules_N21_2, 'phase', Rules_N21_4])]
  924. elif (True and Rules_N22_1 is not None and Rules_N22_2 is not None and Rules_N22_3 is not None and Rules_N22_3_V == 'cond' and Rules_N22_6 is not None and Rules_N22_6_V == True and Rules_N22_9 is not None and isinstance(Rules_N22_9_V , dict) and Rules_N22_9_V['value'] == 'if'):
  925. # Execute rule Rules/If_True_N22
  926. Rules_N22_1, = yield [('RD', [Rules_N22_0, taskname])]
  927. Rules_N22_2, = yield [('RD', [Rules_N22_1, 'frame'])]
  928. Rules_N22_3, = yield [('RD', [Rules_N22_2, 'phase'])]
  929. Rules_N22_3_DEL, = yield [('RDE', [Rules_N22_2, 'phase'])]
  930. yield [('DE', [Rules_N22_3_DEL])]
  931. Rules_N22_9, = yield [('RD', [Rules_N22_2, 'IP'])]
  932. Rules_N22_9_DEL, = yield [('RDE', [Rules_N22_2, 'IP'])]
  933. yield [('DE', [Rules_N22_9_DEL])]
  934. Rules_N22_6, = yield [('RD', [Rules_N22_2, 'returnvalue'])]
  935. Rules_N22_7, = yield [('RD', [Rules_N22_2, 'evalstack'])]
  936. Rules_N22_7_DEL, = yield [('RDE', [Rules_N22_2, 'evalstack'])]
  937. yield [('DE', [Rules_N22_7_DEL])]
  938. Rules_N22_8, = yield [('RD', [Rules_N22_9, 'then'])]
  939. Rules_N22_4, = yield [('CN', [])]
  940. Rules_N22_5, = yield [('CNV', ['init'])]
  941. Rules_N22_10, = yield [('CNV', ['finish'])]
  942. Rules___847, = yield [('CD', [Rules_N22_2, 'evalstack', Rules_N22_4])]
  943. Rules___849, = yield [('CD', [Rules_N22_4, 'prev', Rules_N22_7])]
  944. Rules___851, = yield [('CD', [Rules_N22_2, 'phase', Rules_N22_5])]
  945. Rules___857, = yield [('CD', [Rules_N22_2, 'IP', Rules_N22_8])]
  946. Rules___859, = yield [('CD', [Rules_N22_7, 'inst', Rules_N22_9])]
  947. Rules___861, = yield [('CD', [Rules_N22_7, 'phase', Rules_N22_10])]
  948. elif (True and Rules_N23_1 is not None and Rules_N23_2 is not None and Rules_N23_5 is not None and isinstance(Rules_N23_5_V , dict) and Rules_N23_5_V['value'] == 'input' and Rules_N23_6 is not None and Rules_N23_6_V == 'init' and Rules_N23_7 is not None and Rules_N23_8 is not None ):
  949. # Execute rule Rules/Input_N23
  950. Rules_N23_1, = yield [('RD', [Rules_N23_0, taskname])]
  951. Rules_N23_2, = yield [('RD', [Rules_N23_1, 'frame'])]
  952. Rules_N23_8, = yield [('RD', [Rules_N23_1, 'input'])]
  953. Rules_N23_8_DEL, = yield [('RDE', [Rules_N23_1, 'input'])]
  954. yield [('DE', [Rules_N23_8_DEL])]
  955. Rules_N23_4, = yield [('RD', [Rules_N23_2, 'returnvalue'])]
  956. Rules_N23_4_DEL, = yield [('RDE', [Rules_N23_2, 'returnvalue'])]
  957. yield [('DE', [Rules_N23_4_DEL])]
  958. Rules_N23_5, = yield [('RD', [Rules_N23_2, 'IP'])]
  959. Rules_N23_6, = yield [('RD', [Rules_N23_2, 'phase'])]
  960. Rules_N23_6_DEL, = yield [('RDE', [Rules_N23_2, 'phase'])]
  961. yield [('DE', [Rules_N23_6_DEL])]
  962. Rules_N23_7, = yield [('RD', [Rules_N23_8, 'value'])]
  963. Rules_N23_7_DEL, = yield [('RDE', [Rules_N23_8, 'value'])]
  964. yield [('DE', [Rules_N23_7_DEL])]
  965. Rules_N23_9, = yield [('RD', [Rules_N23_8, 'next'])]
  966. Rules_N23_9_DEL, = yield [('RDE', [Rules_N23_8, 'next'])]
  967. yield [('DE', [Rules_N23_9_DEL])]
  968. Rules_N23_3, = yield [('CNV', ['finish'])]
  969. Rules___879, = yield [('CD', [Rules_N23_2, 'phase', Rules_N23_3])]
  970. Rules___887, = yield [('CD', [Rules_N23_2, 'returnvalue', Rules_N23_7])]
  971. Rules___895, = yield [('CD', [Rules_N23_1, 'input', Rules_N23_9])]
  972. elif (True and Rules_N24_1 is not None and Rules_N24_2 is not None and Rules_N24_3 is not None and Rules_N24_3_V == 'finish' and Rules_N24_5 is not None and Rules_N24_6 is not None ):
  973. # Execute rule Rules/Next_Next_N24
  974. Rules_N24_1, = yield [('RD', [Rules_N24_0, taskname])]
  975. Rules_N24_2, = yield [('RD', [Rules_N24_1, 'frame'])]
  976. Rules_N24_3, = yield [('RD', [Rules_N24_2, 'phase'])]
  977. Rules_N24_3_DEL, = yield [('RDE', [Rules_N24_2, 'phase'])]
  978. yield [('DE', [Rules_N24_3_DEL])]
  979. Rules_N24_5, = yield [('RD', [Rules_N24_2, 'IP'])]
  980. Rules_N24_5_DEL, = yield [('RDE', [Rules_N24_2, 'IP'])]
  981. yield [('DE', [Rules_N24_5_DEL])]
  982. Rules_N24_6, = yield [('RD', [Rules_N24_5, 'next'])]
  983. Rules_N24_4, = yield [('CNV', ['init'])]
  984. Rules___910, = yield [('CD', [Rules_N24_2, 'phase', Rules_N24_4])]
  985. Rules___914, = yield [('CD', [Rules_N24_2, 'IP', Rules_N24_6])]
  986. elif (True and Rules_N25_1 is not None and Rules_N25_2 is not None and Rules_N25_3 is not None and Rules_N25_3_V == 'finish' and Rules_N25_4 is not None and Rules_N25_9 is None ):
  987. # Execute rule Rules/Next_NoNext_N25
  988. Rules_N25_1, = yield [('RD', [Rules_N25_0, taskname])]
  989. Rules_N25_2, = yield [('RD', [Rules_N25_1, 'frame'])]
  990. Rules_N25_3, = yield [('RD', [Rules_N25_2, 'phase'])]
  991. Rules_N25_3_DEL, = yield [('RDE', [Rules_N25_2, 'phase'])]
  992. yield [('DE', [Rules_N25_3_DEL])]
  993. Rules_N25_4, = yield [('RD', [Rules_N25_2, 'IP'])]
  994. Rules_N25_4_DEL, = yield [('RDE', [Rules_N25_2, 'IP'])]
  995. yield [('DE', [Rules_N25_4_DEL])]
  996. Rules_N25_6, = yield [('RD', [Rules_N25_2, 'evalstack'])]
  997. Rules_N25_6_DEL, = yield [('RDE', [Rules_N25_2, 'evalstack'])]
  998. yield [('DE', [Rules_N25_6_DEL])]
  999. Rules_N25_9, = yield [('RD', [Rules_N25_4, 'next'])]
  1000. Rules_N25_7, = yield [('RD', [Rules_N25_6, 'prev'])]
  1001. Rules_N25_7_DEL, = yield [('RDE', [Rules_N25_6, 'prev'])]
  1002. yield [('DE', [Rules_N25_7_DEL])]
  1003. Rules_N25_5, = yield [('RD', [Rules_N25_7, 'inst'])]
  1004. Rules_N25_5_DEL, = yield [('RDE', [Rules_N25_7, 'inst'])]
  1005. yield [('DE', [Rules_N25_5_DEL])]
  1006. Rules_N25_8, = yield [('RD', [Rules_N25_7, 'phase'])]
  1007. Rules_N25_8_DEL, = yield [('RDE', [Rules_N25_7, 'phase'])]
  1008. yield [('DE', [Rules_N25_8_DEL])]
  1009. Rules___936, = yield [('CD', [Rules_N25_2, 'IP', Rules_N25_5])]
  1010. Rules___940, = yield [('CD', [Rules_N25_2, 'evalstack', Rules_N25_7])]
  1011. Rules___942, = yield [('CD', [Rules_N25_2, 'phase', Rules_N25_8])]
  1012. elif (True and Rules_N26_1 is not None and Rules_N26_2 is not None and Rules_N26_3 is not None and Rules_N26_3_V == 'init' and Rules_N26_4 is not None and isinstance(Rules_N26_4_V , dict) and Rules_N26_4_V['value'] == 'output'):
  1013. # Execute rule Rules/Output_Init_N26
  1014. Rules_N26_1, = yield [('RD', [Rules_N26_0, taskname])]
  1015. Rules_N26_2, = yield [('RD', [Rules_N26_1, 'frame'])]
  1016. Rules_N26_3, = yield [('RD', [Rules_N26_2, 'phase'])]
  1017. Rules_N26_4, = yield [('RD', [Rules_N26_2, 'IP'])]
  1018. Rules_N26_4_DEL, = yield [('RDE', [Rules_N26_2, 'IP'])]
  1019. yield [('DE', [Rules_N26_4_DEL])]
  1020. Rules_N26_6, = yield [('RD', [Rules_N26_2, 'evalstack'])]
  1021. Rules_N26_6_DEL, = yield [('RDE', [Rules_N26_2, 'evalstack'])]
  1022. yield [('DE', [Rules_N26_6_DEL])]
  1023. Rules_N26_7, = yield [('RD', [Rules_N26_4, 'value'])]
  1024. Rules_N26_5, = yield [('CN', [])]
  1025. Rules_N26_8, = yield [('CNV', ['output'])]
  1026. Rules___969, = yield [('CD', [Rules_N26_2, 'evalstack', Rules_N26_5])]
  1027. Rules___971, = yield [('CD', [Rules_N26_5, 'prev', Rules_N26_6])]
  1028. Rules___975, = yield [('CD', [Rules_N26_2, 'IP', Rules_N26_7])]
  1029. Rules___977, = yield [('CD', [Rules_N26_6, 'inst', Rules_N26_4])]
  1030. Rules___979, = yield [('CD', [Rules_N26_6, 'phase', Rules_N26_8])]
  1031. elif (True and Rules_N27_1 is not None and Rules_N27_2 is not None and Rules_N27_4 is not None and isinstance(Rules_N27_4_V , dict) and Rules_N27_4_V['value'] == 'output' and Rules_N27_5 is not None and Rules_N27_5_V == 'output'):
  1032. # Execute rule Rules/Output_Output_N27
  1033. Rules_N27_1, = yield [('RD', [Rules_N27_0, taskname])]
  1034. Rules_N27_2, = yield [('RD', [Rules_N27_1, 'frame'])]
  1035. Rules_N27_3, = yield [('RD', [Rules_N27_1, 'last_output'])]
  1036. Rules_N27_3_DEL, = yield [('RDE', [Rules_N27_1, 'last_output'])]
  1037. yield [('DE', [Rules_N27_3_DEL])]
  1038. Rules_N27_4, = yield [('RD', [Rules_N27_2, 'IP'])]
  1039. Rules_N27_5, = yield [('RD', [Rules_N27_2, 'phase'])]
  1040. Rules_N27_5_DEL, = yield [('RDE', [Rules_N27_2, 'phase'])]
  1041. yield [('DE', [Rules_N27_5_DEL])]
  1042. Rules_N27_7, = yield [('RD', [Rules_N27_2, 'returnvalue'])]
  1043. Rules_N27_6, = yield [('CNV', ['finish'])]
  1044. Rules_N27_8, = yield [('CN', [])]
  1045. Rules___1000, = yield [('CD', [Rules_N27_2, 'phase', Rules_N27_6])]
  1046. Rules___1004, = yield [('CD', [Rules_N27_3, 'value', Rules_N27_7])]
  1047. Rules___1006, = yield [('CD', [Rules_N27_3, 'next', Rules_N27_8])]
  1048. Rules___1008, = yield [('CD', [Rules_N27_1, 'last_output', Rules_N27_8])]
  1049. elif (True and Rules_N28_1 is not None and Rules_N28_3 is not None and Rules_N28_5 is not None and Rules_N28_7 is not None and isinstance(Rules_N28_7_V , dict) and Rules_N28_7_V['value'] == 'resolve' and Rules_N28_8 is not None and Rules_N28_8_V == 'init' and Rules_N28_10 is not None and Rules_N28_11 is None ):
  1050. # Execute rule Rules/Resolve_NoAttrGlobal_N28
  1051. Rules_N28_1, = yield [('RD', [Rules_N28_0, taskname])]
  1052. Rules_N28_2, = yield [('RD', [Rules_N28_1, 'globals'])]
  1053. Rules_N28_3, = yield [('RD', [Rules_N28_1, 'frame'])]
  1054. Rules_N28_5, = yield [('RD', [Rules_N28_3, 'symbols'])]
  1055. Rules_N28_6, = yield [('RD', [Rules_N28_3, 'returnvalue'])]
  1056. Rules_N28_6_DEL, = yield [('RDE', [Rules_N28_3, 'returnvalue'])]
  1057. yield [('DE', [Rules_N28_6_DEL])]
  1058. Rules_N28_7, = yield [('RD', [Rules_N28_3, 'IP'])]
  1059. Rules_N28_8, = yield [('RD', [Rules_N28_3, 'phase'])]
  1060. Rules_N28_8_DEL, = yield [('RDE', [Rules_N28_3, 'phase'])]
  1061. yield [('DE', [Rules_N28_8_DEL])]
  1062. Rules_N28_10, = yield [('RD', [Rules_N28_7, 'var'])]
  1063. a, = yield [('RV', [Rules_N28_10])]
  1064. Rules_N28_9, = yield [('RD', [Rules_N28_2, a])]
  1065. Rules_N28_11, = yield [('RDN', [Rules_N28_5, Rules_N28_10])]
  1066. Rules_N28_4, = yield [('CNV', ['finish'])]
  1067. Rules___1030, = yield [('CD', [Rules_N28_3, 'phase', Rules_N28_4])]
  1068. Rules___1040, = yield [('CD', [Rules_N28_3, 'returnvalue', Rules_N28_9])]
  1069. elif (True and Rules_N29_1 is not None and Rules_N29_2 is not None and Rules_N29_3 is not None and isinstance(Rules_N29_3_V , dict) and Rules_N29_3_V['value'] == 'resolve' and Rules_N29_4 is not None and Rules_N29_4_V == 'init' and Rules_N29_6 is not None and Rules_N29_7 is not None and Rules_N29_9 is not None ):
  1070. # Execute rule Rules/Resolve_NoAttr_N29
  1071. Rules_N29_1, = yield [('RD', [Rules_N29_0, taskname])]
  1072. Rules_N29_2, = yield [('RD', [Rules_N29_1, 'frame'])]
  1073. Rules_N29_3, = yield [('RD', [Rules_N29_2, 'IP'])]
  1074. Rules_N29_4, = yield [('RD', [Rules_N29_2, 'phase'])]
  1075. Rules_N29_4_DEL, = yield [('RDE', [Rules_N29_2, 'phase'])]
  1076. yield [('DE', [Rules_N29_4_DEL])]
  1077. Rules_N29_6, = yield [('RD', [Rules_N29_2, 'symbols'])]
  1078. Rules_N29_8, = yield [('RD', [Rules_N29_2, 'returnvalue'])]
  1079. Rules_N29_8_DEL, = yield [('RDE', [Rules_N29_2, 'returnvalue'])]
  1080. yield [('DE', [Rules_N29_8_DEL])]
  1081. Rules_N29_9, = yield [('RD', [Rules_N29_3, 'var'])]
  1082. Rules_N29_7, = yield [('RDN', [Rules_N29_6, Rules_N29_9])]
  1083. Rules_N29_5, = yield [('CNV', ['finish'])]
  1084. Rules___1067, = yield [('CD', [Rules_N29_2, 'phase', Rules_N29_5])]
  1085. Rules___1071, = yield [('CD', [Rules_N29_2, 'returnvalue', Rules_N29_7])]
  1086. elif (True and Rules_N30_1 is not None and Rules_N30_2 is not None and Rules_N30_4 is not None and Rules_N30_4_V == 'eval' and Rules_N30_5 is not None and isinstance(Rules_N30_5_V , dict) and Rules_N30_5_V['value'] == 'return'):
  1087. # Execute rule Rules/Return_Eval_N30
  1088. Rules_N30_1, = yield [('RD', [Rules_N30_0, taskname])]
  1089. Rules_N30_2, = yield [('RD', [Rules_N30_1, 'frame'])]
  1090. Rules_N30_2_DEL, = yield [('RDE', [Rules_N30_1, 'frame'])]
  1091. yield [('DE', [Rules_N30_2_DEL])]
  1092. Rules_N30_4, = yield [('RD', [Rules_N30_2, 'phase'])]
  1093. Rules_N30_4_DEL, = yield [('RDE', [Rules_N30_2, 'phase'])]
  1094. yield [('DE', [Rules_N30_4_DEL])]
  1095. Rules_N30_5, = yield [('RD', [Rules_N30_2, 'IP'])]
  1096. Rules_N30_5_DEL, = yield [('RDE', [Rules_N30_2, 'IP'])]
  1097. yield [('DE', [Rules_N30_5_DEL])]
  1098. Rules_N30_6, = yield [('RD', [Rules_N30_2, 'returnvalue'])]
  1099. Rules_N30_6_DEL, = yield [('RDE', [Rules_N30_2, 'returnvalue'])]
  1100. yield [('DE', [Rules_N30_6_DEL])]
  1101. Rules_N30_3, = yield [('RD', [Rules_N30_2, 'prev'])]
  1102. Rules_N30_3_DEL, = yield [('RDE', [Rules_N30_2, 'prev'])]
  1103. yield [('DE', [Rules_N30_3_DEL])]
  1104. Rules_N30_7, = yield [('RD', [Rules_N30_3, 'returnvalue'])]
  1105. Rules_N30_7_DEL, = yield [('RDE', [Rules_N30_3, 'returnvalue'])]
  1106. yield [('DE', [Rules_N30_7_DEL])]
  1107. Rules___1092, = yield [('CD', [Rules_N30_1, 'frame', Rules_N30_3])]
  1108. Rules___1102, = yield [('CD', [Rules_N30_3, 'returnvalue', Rules_N30_6])]
  1109. elif (True and Rules_N31_1 is not None and Rules_N31_2 is not None and Rules_N31_4 is not None and Rules_N31_4_V == 'init' and Rules_N31_5 is not None and isinstance(Rules_N31_5_V , dict) and Rules_N31_5_V['value'] == 'return' and Rules_N31_6 is None ):
  1110. # Execute rule Rules/Return_NoValue_N31
  1111. Rules_N31_1, = yield [('RD', [Rules_N31_0, taskname])]
  1112. Rules_N31_2, = yield [('RD', [Rules_N31_1, 'frame'])]
  1113. Rules_N31_2_DEL, = yield [('RDE', [Rules_N31_1, 'frame'])]
  1114. yield [('DE', [Rules_N31_2_DEL])]
  1115. Rules_N31_4, = yield [('RD', [Rules_N31_2, 'phase'])]
  1116. Rules_N31_4_DEL, = yield [('RDE', [Rules_N31_2, 'phase'])]
  1117. yield [('DE', [Rules_N31_4_DEL])]
  1118. Rules_N31_5, = yield [('RD', [Rules_N31_2, 'IP'])]
  1119. Rules_N31_5_DEL, = yield [('RDE', [Rules_N31_2, 'IP'])]
  1120. yield [('DE', [Rules_N31_5_DEL])]
  1121. Rules_N31_3, = yield [('RD', [Rules_N31_2, 'prev'])]
  1122. Rules_N31_3_DEL, = yield [('RDE', [Rules_N31_2, 'prev'])]
  1123. yield [('DE', [Rules_N31_3_DEL])]
  1124. Rules_N31_6, = yield [('RD', [Rules_N31_5, 'value'])]
  1125. Rules___1117, = yield [('CD', [Rules_N31_1, 'frame', Rules_N31_3])]
  1126. elif (True and Rules_N32_1 is not None and Rules_N32_2 is not None and Rules_N32_3 is not None and Rules_N32_3_V == 'init' and Rules_N32_5 is not None and isinstance(Rules_N32_5_V , dict) and Rules_N32_5_V['value'] == 'return' and Rules_N32_7 is not None ):
  1127. # Execute rule Rules/Return_Value_N32
  1128. Rules_N32_1, = yield [('RD', [Rules_N32_0, taskname])]
  1129. Rules_N32_2, = yield [('RD', [Rules_N32_1, 'frame'])]
  1130. Rules_N32_3, = yield [('RD', [Rules_N32_2, 'phase'])]
  1131. Rules_N32_5, = yield [('RD', [Rules_N32_2, 'IP'])]
  1132. Rules_N32_5_DEL, = yield [('RDE', [Rules_N32_2, 'IP'])]
  1133. yield [('DE', [Rules_N32_5_DEL])]
  1134. Rules_N32_6, = yield [('RD', [Rules_N32_2, 'evalstack'])]
  1135. Rules_N32_6_DEL, = yield [('RDE', [Rules_N32_2, 'evalstack'])]
  1136. yield [('DE', [Rules_N32_6_DEL])]
  1137. Rules_N32_7, = yield [('RD', [Rules_N32_5, 'value'])]
  1138. Rules_N32_4, = yield [('CN', [])]
  1139. Rules_N32_8, = yield [('CNV', ['eval'])]
  1140. Rules___1144, = yield [('CD', [Rules_N32_2, 'evalstack', Rules_N32_4])]
  1141. Rules___1148, = yield [('CD', [Rules_N32_2, 'IP', Rules_N32_7])]
  1142. Rules___1150, = yield [('CD', [Rules_N32_4, 'prev', Rules_N32_6])]
  1143. Rules___1152, = yield [('CD', [Rules_N32_6, 'inst', Rules_N32_5])]
  1144. Rules___1154, = yield [('CD', [Rules_N32_6, 'phase', Rules_N32_8])]
  1145. elif (True and Rules_N33_1 is not None and Rules_N33_2 is not None and Rules_N33_3 is not None and Rules_N33_3_V == 'init' and Rules_N33_5 is not None and isinstance(Rules_N33_5_V , dict) and Rules_N33_5_V['value'] == 'while'):
  1146. # Execute rule Rules/While_Cond_N33
  1147. Rules_N33_1, = yield [('RD', [Rules_N33_0, taskname])]
  1148. Rules_N33_2, = yield [('RD', [Rules_N33_1, 'frame'])]
  1149. Rules_N33_3, = yield [('RD', [Rules_N33_2, 'phase'])]
  1150. Rules_N33_5, = yield [('RD', [Rules_N33_2, 'IP'])]
  1151. Rules_N33_5_DEL, = yield [('RDE', [Rules_N33_2, 'IP'])]
  1152. yield [('DE', [Rules_N33_5_DEL])]
  1153. Rules_N33_6, = yield [('RD', [Rules_N33_2, 'evalstack'])]
  1154. Rules_N33_6_DEL, = yield [('RDE', [Rules_N33_2, 'evalstack'])]
  1155. yield [('DE', [Rules_N33_6_DEL])]
  1156. Rules_N33_7, = yield [('RD', [Rules_N33_5, 'cond'])]
  1157. Rules_N33_4, = yield [('CN', [])]
  1158. Rules_N33_8, = yield [('CNV', ['cond'])]
  1159. Rules___1175, = yield [('CD', [Rules_N33_2, 'evalstack', Rules_N33_4])]
  1160. Rules___1179, = yield [('CD', [Rules_N33_2, 'IP', Rules_N33_7])]
  1161. Rules___1181, = yield [('CD', [Rules_N33_4, 'prev', Rules_N33_6])]
  1162. Rules___1183, = yield [('CD', [Rules_N33_6, 'inst', Rules_N33_5])]
  1163. Rules___1185, = yield [('CD', [Rules_N33_6, 'phase', Rules_N33_8])]
  1164. elif (True and Rules_N34_1 is not None and Rules_N34_2 is not None and Rules_N34_3 is not None and Rules_N34_3_V == 'cond' and Rules_N34_5 is not None and isinstance(Rules_N34_5_V , dict) and Rules_N34_5_V['value'] == 'while' and Rules_N34_6 is not None and Rules_N34_6_V == False):
  1165. # Execute rule Rules/While_False_N34
  1166. Rules_N34_1, = yield [('RD', [Rules_N34_0, taskname])]
  1167. Rules_N34_2, = yield [('RD', [Rules_N34_1, 'frame'])]
  1168. Rules_N34_3, = yield [('RD', [Rules_N34_2, 'phase'])]
  1169. Rules_N34_3_DEL, = yield [('RDE', [Rules_N34_2, 'phase'])]
  1170. yield [('DE', [Rules_N34_3_DEL])]
  1171. Rules_N34_5, = yield [('RD', [Rules_N34_2, 'IP'])]
  1172. Rules_N34_6, = yield [('RD', [Rules_N34_2, 'returnvalue'])]
  1173. Rules_N34_4, = yield [('CNV', ['finish'])]
  1174. Rules___1202, = yield [('CD', [Rules_N34_2, 'phase', Rules_N34_4])]
  1175. elif (True and Rules_N35_1 is not None and Rules_N35_2 is not None and Rules_N35_3 is not None and Rules_N35_3_V == 'cond' and Rules_N35_5 is not None and isinstance(Rules_N35_5_V , dict) and Rules_N35_5_V['value'] == 'while' and Rules_N35_7 is not None and Rules_N35_7_V == True):
  1176. # Execute rule Rules/While_True_N35
  1177. Rules_N35_1, = yield [('RD', [Rules_N35_0, taskname])]
  1178. Rules_N35_2, = yield [('RD', [Rules_N35_1, 'frame'])]
  1179. Rules_N35_3, = yield [('RD', [Rules_N35_2, 'phase'])]
  1180. Rules_N35_3_DEL, = yield [('RDE', [Rules_N35_2, 'phase'])]
  1181. yield [('DE', [Rules_N35_3_DEL])]
  1182. Rules_N35_5, = yield [('RD', [Rules_N35_2, 'IP'])]
  1183. Rules_N35_5_DEL, = yield [('RDE', [Rules_N35_2, 'IP'])]
  1184. yield [('DE', [Rules_N35_5_DEL])]
  1185. Rules_N35_7, = yield [('RD', [Rules_N35_2, 'returnvalue'])]
  1186. Rules_N35_8, = yield [('RD', [Rules_N35_2, 'evalstack'])]
  1187. Rules_N35_8_DEL, = yield [('RDE', [Rules_N35_2, 'evalstack'])]
  1188. yield [('DE', [Rules_N35_8_DEL])]
  1189. Rules_N35_9, = yield [('RD', [Rules_N35_5, 'body'])]
  1190. Rules_N35_11, = yield [('RD', [Rules_N35_8, taskname])]
  1191. Rules_N35_11_DEL, = yield [('RDE', [Rules_N35_8, taskname])]
  1192. yield [('DE', [Rules_N35_11_DEL])]
  1193. Rules_N35_4, = yield [('CNV', ['init'])]
  1194. Rules_N35_6, = yield [('CN', [])]
  1195. Rules_N35_10, = yield [('CNV', ['init'])]
  1196. Rules___1226, = yield [('CD', [Rules_N35_2, 'phase', Rules_N35_4])]
  1197. Rules___1230, = yield [('CD', [Rules_N35_2, 'evalstack', Rules_N35_6])]
  1198. Rules___1236, = yield [('CD', [Rules_N35_2, 'IP', Rules_N35_9])]
  1199. Rules___1238, = yield [('CD', [Rules_N35_8, 'inst', Rules_N35_5])]
  1200. Rules___1240, = yield [('CD', [Rules_N35_8, 'phase', Rules_N35_10])]
  1201. Rules___1246, = yield [('CD', [Rules_N35_8, taskname, Rules_N35_5])]
  1202. Rules___1248, = yield [('CD', [Rules_N35_6, 'prev', Rules_N35_8])]
  1203. else:
  1204. task_root, = yield [('RD', [root, taskname])]
  1205. task_frame, = yield [('RD', [task_root, 'frame'])]
  1206. task_IP, = yield [('RD', [task_frame, 'IP'])]
  1207. task_phase, = yield [('RD', [task_frame, 'phase'])]
  1208. task_phase, = yield [('RV', [task_phase])]
  1209. if (task_IP is not None and task_IP in self.primitives and task_phase == 'init'):
  1210. # Execute a primitive!
  1211. symbols, = yield [('RD', [task_frame, 'symbols'])]
  1212. all_links, = yield [('RO', [symbols])]
  1213. containers = yield [('RE', [v]) for v in all_links]
  1214. outgoings = yield [('RO', [v]) for v in all_links]
  1215. dict_values = yield [('RD', [v[1], 'value']) for v in containers]
  1216. formals_1 = yield [('RE', [v[0]]) for v in outgoings]
  1217. dict_keys_ref = yield [('RD', [v[1], 'name']) for v in formals_1]
  1218. dict_keys = yield [('RV', [v]) for v in dict_keys_ref]
  1219. parameters = dict(zip(dict_keys, dict_values))
  1220. parameters['root'] = root
  1221. parameters['task_root'] = task_root
  1222. parameters['taskname'] = taskname
  1223. parameters['mvk'] = self
  1224. # prim is a generator itself!
  1225. try:
  1226. # Forward the message we get to this generator
  1227. # Sometimes it might not even be a generator, in which case this should already be in the except block (i.e., for the Read Root operation)
  1228. prim = self.primitives[task_IP](**parameters)
  1229. inp = None
  1230. while 1:
  1231. inp = yield prim.send(inp)
  1232. except StopIteration:
  1233. # Execution has ended without return value, so we have no idea what to do
  1234. raise Exception('Primitive finished without returning a value!')
  1235. except primitive_functions.PrimitiveFinished as e:
  1236. # Execution has ended with a returnvalue, so read it out from the exception being thrown
  1237. result = e.result
  1238. #if result is None:
  1239. # raise Exception('Primitive raised exception: value of None for operation %s with parameters %s' % (self.compiled[task_IP], str(parameters)))
  1240. # Clean up the current stack, as if a return happened
  1241. old_frame, = yield [('RD', [task_frame, 'prev'])]
  1242. lnk, = yield [('RDE', [old_frame, 'returnvalue'])]
  1243. _, _, _, _ = yield [('CD', [old_frame, 'returnvalue', result]),
  1244. ('CD', [task_root, 'frame', old_frame]),
  1245. ('DE', [lnk]),
  1246. ('DN', [task_frame]),
  1247. ]
  1248. else:
  1249. # no rules were applicable, so idle for some time
  1250. pass #TODO
  1251. raise primitive_functions.SleepKernel(0.1, True)