NCDConfigParser_parse.out 41 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097
  1. State 0:
  2. input ::= * processes
  3. (1) processes ::= *
  4. processes ::= * INCLUDE STRING processes
  5. processes ::= * INCLUDE_GUARD STRING processes
  6. processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes
  7. process_or_template ::= * PROCESS
  8. process_or_template ::= * TEMPLATE
  9. INCLUDE shift 43
  10. INCLUDE_GUARD shift 44
  11. PROCESS shift 79
  12. TEMPLATE shift 80
  13. processes shift 42
  14. process_or_template shift 45
  15. input accept
  16. {default} reduce 1
  17. State 1:
  18. statement ::= dotted_name ROUND_OPEN * statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  19. dotted_name ::= * NAME
  20. dotted_name ::= * NAME DOT dotted_name
  21. (20) statement_args_maybe ::= *
  22. statement_args_maybe ::= * list_contents
  23. list_contents ::= * value
  24. list_contents ::= * value COMMA list_contents
  25. list ::= * CURLY_OPEN CURLY_CLOSE
  26. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  27. map ::= * BRACKET_OPEN BRACKET_CLOSE
  28. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  29. invoc ::= * value ROUND_OPEN list_contents ROUND_CLOSE
  30. value ::= * STRING
  31. value ::= * dotted_name
  32. value ::= * list
  33. value ::= * map
  34. value ::= * ROUND_OPEN value ROUND_CLOSE
  35. value ::= * invoc
  36. STRING shift 89
  37. NAME shift 50
  38. CURLY_OPEN shift 3
  39. ROUND_OPEN shift 9
  40. BRACKET_OPEN shift 4
  41. dotted_name shift 90
  42. statement_args_maybe shift 48
  43. list_contents shift 84
  44. list shift 91
  45. map shift 92
  46. invoc shift 94
  47. value shift 34
  48. {default} reduce 20
  49. State 2:
  50. statement ::= dotted_name ARROW dotted_name ROUND_OPEN * statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  51. dotted_name ::= * NAME
  52. dotted_name ::= * NAME DOT dotted_name
  53. (20) statement_args_maybe ::= *
  54. statement_args_maybe ::= * list_contents
  55. list_contents ::= * value
  56. list_contents ::= * value COMMA list_contents
  57. list ::= * CURLY_OPEN CURLY_CLOSE
  58. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  59. map ::= * BRACKET_OPEN BRACKET_CLOSE
  60. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  61. invoc ::= * value ROUND_OPEN list_contents ROUND_CLOSE
  62. value ::= * STRING
  63. value ::= * dotted_name
  64. value ::= * list
  65. value ::= * map
  66. value ::= * ROUND_OPEN value ROUND_CLOSE
  67. value ::= * invoc
  68. STRING shift 89
  69. NAME shift 50
  70. CURLY_OPEN shift 3
  71. ROUND_OPEN shift 9
  72. BRACKET_OPEN shift 4
  73. dotted_name shift 90
  74. statement_args_maybe shift 55
  75. list_contents shift 84
  76. list shift 91
  77. map shift 92
  78. invoc shift 94
  79. value shift 34
  80. {default} reduce 20
  81. State 3:
  82. dotted_name ::= * NAME
  83. dotted_name ::= * NAME DOT dotted_name
  84. list_contents ::= * value
  85. list_contents ::= * value COMMA list_contents
  86. list ::= * CURLY_OPEN CURLY_CLOSE
  87. list ::= CURLY_OPEN * CURLY_CLOSE
  88. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  89. list ::= CURLY_OPEN * list_contents CURLY_CLOSE
  90. map ::= * BRACKET_OPEN BRACKET_CLOSE
  91. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  92. invoc ::= * value ROUND_OPEN list_contents ROUND_CLOSE
  93. value ::= * STRING
  94. value ::= * dotted_name
  95. value ::= * list
  96. value ::= * map
  97. value ::= * ROUND_OPEN value ROUND_CLOSE
  98. value ::= * invoc
  99. STRING shift 89
  100. NAME shift 50
  101. CURLY_OPEN shift 3
  102. CURLY_CLOSE shift 86
  103. ROUND_OPEN shift 9
  104. BRACKET_OPEN shift 4
  105. dotted_name shift 90
  106. list_contents shift 51
  107. list shift 91
  108. map shift 92
  109. invoc shift 94
  110. value shift 34
  111. State 4:
  112. dotted_name ::= * NAME
  113. dotted_name ::= * NAME DOT dotted_name
  114. list ::= * CURLY_OPEN CURLY_CLOSE
  115. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  116. map_contents ::= * value COLON value
  117. map_contents ::= * value COLON value COMMA map_contents
  118. map ::= * BRACKET_OPEN BRACKET_CLOSE
  119. map ::= BRACKET_OPEN * BRACKET_CLOSE
  120. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  121. map ::= BRACKET_OPEN * map_contents BRACKET_CLOSE
  122. invoc ::= * value ROUND_OPEN list_contents ROUND_CLOSE
  123. value ::= * STRING
  124. value ::= * dotted_name
  125. value ::= * list
  126. value ::= * map
  127. value ::= * ROUND_OPEN value ROUND_CLOSE
  128. value ::= * invoc
  129. STRING shift 89
  130. NAME shift 50
  131. CURLY_OPEN shift 3
  132. ROUND_OPEN shift 9
  133. BRACKET_OPEN shift 4
  134. BRACKET_CLOSE shift 96
  135. dotted_name shift 90
  136. list shift 91
  137. map_contents shift 53
  138. map shift 92
  139. invoc shift 94
  140. value shift 35
  141. State 5:
  142. dotted_name ::= * NAME
  143. dotted_name ::= * NAME DOT dotted_name
  144. list_contents ::= * value
  145. list_contents ::= * value COMMA list_contents
  146. list_contents ::= value COMMA * list_contents
  147. list ::= * CURLY_OPEN CURLY_CLOSE
  148. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  149. map ::= * BRACKET_OPEN BRACKET_CLOSE
  150. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  151. invoc ::= * value ROUND_OPEN list_contents ROUND_CLOSE
  152. value ::= * STRING
  153. value ::= * dotted_name
  154. value ::= * list
  155. value ::= * map
  156. value ::= * ROUND_OPEN value ROUND_CLOSE
  157. value ::= * invoc
  158. STRING shift 89
  159. NAME shift 50
  160. CURLY_OPEN shift 3
  161. ROUND_OPEN shift 9
  162. BRACKET_OPEN shift 4
  163. dotted_name shift 90
  164. list_contents shift 85
  165. list shift 91
  166. map shift 92
  167. invoc shift 94
  168. value shift 34
  169. State 6:
  170. dotted_name ::= * NAME
  171. dotted_name ::= * NAME DOT dotted_name
  172. list ::= * CURLY_OPEN CURLY_CLOSE
  173. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  174. map_contents ::= * value COLON value
  175. map_contents ::= * value COLON value COMMA map_contents
  176. map_contents ::= value COLON value COMMA * map_contents
  177. map ::= * BRACKET_OPEN BRACKET_CLOSE
  178. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  179. invoc ::= * value ROUND_OPEN list_contents ROUND_CLOSE
  180. value ::= * STRING
  181. value ::= * dotted_name
  182. value ::= * list
  183. value ::= * map
  184. value ::= * ROUND_OPEN value ROUND_CLOSE
  185. value ::= * invoc
  186. STRING shift 89
  187. NAME shift 50
  188. CURLY_OPEN shift 3
  189. ROUND_OPEN shift 9
  190. BRACKET_OPEN shift 4
  191. dotted_name shift 90
  192. list shift 91
  193. map_contents shift 88
  194. map shift 92
  195. invoc shift 94
  196. value shift 35
  197. State 7:
  198. dotted_name ::= * NAME
  199. dotted_name ::= * NAME DOT dotted_name
  200. list_contents ::= * value
  201. list_contents ::= * value COMMA list_contents
  202. list ::= * CURLY_OPEN CURLY_CLOSE
  203. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  204. map ::= * BRACKET_OPEN BRACKET_CLOSE
  205. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  206. invoc ::= * value ROUND_OPEN list_contents ROUND_CLOSE
  207. invoc ::= value ROUND_OPEN * list_contents ROUND_CLOSE
  208. value ::= * STRING
  209. value ::= * dotted_name
  210. value ::= * list
  211. value ::= * map
  212. value ::= * ROUND_OPEN value ROUND_CLOSE
  213. value ::= * invoc
  214. STRING shift 89
  215. NAME shift 50
  216. CURLY_OPEN shift 3
  217. ROUND_OPEN shift 9
  218. BRACKET_OPEN shift 4
  219. dotted_name shift 90
  220. list_contents shift 52
  221. list shift 91
  222. map shift 92
  223. invoc shift 94
  224. value shift 34
  225. State 8:
  226. dotted_name ::= * NAME
  227. dotted_name ::= * NAME DOT dotted_name
  228. list ::= * CURLY_OPEN CURLY_CLOSE
  229. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  230. map_contents ::= value COLON * value
  231. map_contents ::= value COLON * value COMMA map_contents
  232. map ::= * BRACKET_OPEN BRACKET_CLOSE
  233. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  234. invoc ::= * value ROUND_OPEN list_contents ROUND_CLOSE
  235. value ::= * STRING
  236. value ::= * dotted_name
  237. value ::= * list
  238. value ::= * map
  239. value ::= * ROUND_OPEN value ROUND_CLOSE
  240. value ::= * invoc
  241. STRING shift 89
  242. NAME shift 50
  243. CURLY_OPEN shift 3
  244. ROUND_OPEN shift 9
  245. BRACKET_OPEN shift 4
  246. dotted_name shift 90
  247. list shift 91
  248. map shift 92
  249. invoc shift 94
  250. value shift 36
  251. State 9:
  252. dotted_name ::= * NAME
  253. dotted_name ::= * NAME DOT dotted_name
  254. list ::= * CURLY_OPEN CURLY_CLOSE
  255. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  256. map ::= * BRACKET_OPEN BRACKET_CLOSE
  257. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  258. invoc ::= * value ROUND_OPEN list_contents ROUND_CLOSE
  259. value ::= * STRING
  260. value ::= * dotted_name
  261. value ::= * list
  262. value ::= * map
  263. value ::= * ROUND_OPEN value ROUND_CLOSE
  264. value ::= ROUND_OPEN * value ROUND_CLOSE
  265. value ::= * invoc
  266. STRING shift 89
  267. NAME shift 50
  268. CURLY_OPEN shift 3
  269. ROUND_OPEN shift 9
  270. BRACKET_OPEN shift 4
  271. dotted_name shift 90
  272. list shift 91
  273. map shift 92
  274. invoc shift 94
  275. value shift 37
  276. State 10:
  277. statement ::= IF ROUND_OPEN * value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  278. dotted_name ::= * NAME
  279. dotted_name ::= * NAME DOT dotted_name
  280. list ::= * CURLY_OPEN CURLY_CLOSE
  281. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  282. map ::= * BRACKET_OPEN BRACKET_CLOSE
  283. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  284. invoc ::= * value ROUND_OPEN list_contents ROUND_CLOSE
  285. value ::= * STRING
  286. value ::= * dotted_name
  287. value ::= * list
  288. value ::= * map
  289. value ::= * ROUND_OPEN value ROUND_CLOSE
  290. value ::= * invoc
  291. STRING shift 89
  292. NAME shift 50
  293. CURLY_OPEN shift 3
  294. ROUND_OPEN shift 9
  295. BRACKET_OPEN shift 4
  296. dotted_name shift 90
  297. list shift 91
  298. map shift 92
  299. invoc shift 94
  300. value shift 38
  301. State 11:
  302. statement ::= FOREACH ROUND_OPEN * value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  303. statement ::= FOREACH ROUND_OPEN * value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  304. dotted_name ::= * NAME
  305. dotted_name ::= * NAME DOT dotted_name
  306. list ::= * CURLY_OPEN CURLY_CLOSE
  307. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  308. map ::= * BRACKET_OPEN BRACKET_CLOSE
  309. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  310. invoc ::= * value ROUND_OPEN list_contents ROUND_CLOSE
  311. value ::= * STRING
  312. value ::= * dotted_name
  313. value ::= * list
  314. value ::= * map
  315. value ::= * ROUND_OPEN value ROUND_CLOSE
  316. value ::= * invoc
  317. STRING shift 89
  318. NAME shift 50
  319. CURLY_OPEN shift 3
  320. ROUND_OPEN shift 9
  321. BRACKET_OPEN shift 4
  322. dotted_name shift 90
  323. list shift 91
  324. map shift 92
  325. invoc shift 94
  326. value shift 39
  327. State 12:
  328. elif ::= ELIF ROUND_OPEN * value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
  329. elif ::= ELIF ROUND_OPEN * value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
  330. dotted_name ::= * NAME
  331. dotted_name ::= * NAME DOT dotted_name
  332. list ::= * CURLY_OPEN CURLY_CLOSE
  333. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  334. map ::= * BRACKET_OPEN BRACKET_CLOSE
  335. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  336. invoc ::= * value ROUND_OPEN list_contents ROUND_CLOSE
  337. value ::= * STRING
  338. value ::= * dotted_name
  339. value ::= * list
  340. value ::= * map
  341. value ::= * ROUND_OPEN value ROUND_CLOSE
  342. value ::= * invoc
  343. STRING shift 89
  344. NAME shift 50
  345. CURLY_OPEN shift 3
  346. ROUND_OPEN shift 9
  347. BRACKET_OPEN shift 4
  348. dotted_name shift 90
  349. list shift 91
  350. map shift 92
  351. invoc shift 94
  352. value shift 41
  353. State 13:
  354. processes ::= process_or_template NAME CURLY_OPEN * statements CURLY_CLOSE processes
  355. statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  356. statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  357. statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  358. statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  359. statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  360. statements ::= * statement
  361. statements ::= * statement statements
  362. dotted_name ::= * NAME
  363. dotted_name ::= * NAME DOT dotted_name
  364. NAME shift 50
  365. IF shift 57
  366. FOREACH shift 62
  367. statement shift 17
  368. statements shift 47
  369. dotted_name shift 33
  370. State 14:
  371. statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  372. statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  373. statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  374. statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN * statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  375. statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  376. statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  377. statements ::= * statement
  378. statements ::= * statement statements
  379. dotted_name ::= * NAME
  380. dotted_name ::= * NAME DOT dotted_name
  381. NAME shift 50
  382. IF shift 57
  383. FOREACH shift 62
  384. statement shift 17
  385. statements shift 59
  386. dotted_name shift 33
  387. State 15:
  388. statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  389. statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  390. statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  391. statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  392. statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  393. else_maybe ::= ELSE CURLY_OPEN * statements CURLY_CLOSE
  394. statements ::= * statement
  395. statements ::= * statement statements
  396. dotted_name ::= * NAME
  397. dotted_name ::= * NAME DOT dotted_name
  398. NAME shift 50
  399. IF shift 57
  400. FOREACH shift 62
  401. statement shift 17
  402. statements shift 72
  403. dotted_name shift 33
  404. State 16:
  405. statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  406. statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  407. statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  408. statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  409. statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN * statements CURLY_CLOSE name_maybe SEMICOLON
  410. statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  411. statements ::= * statement
  412. statements ::= * statement statements
  413. dotted_name ::= * NAME
  414. dotted_name ::= * NAME DOT dotted_name
  415. NAME shift 50
  416. IF shift 57
  417. FOREACH shift 62
  418. statement shift 17
  419. statements shift 65
  420. dotted_name shift 33
  421. State 17:
  422. statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  423. statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  424. statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  425. statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  426. statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  427. statements ::= * statement
  428. (16) statements ::= statement *
  429. statements ::= * statement statements
  430. statements ::= statement * statements
  431. dotted_name ::= * NAME
  432. dotted_name ::= * NAME DOT dotted_name
  433. NAME shift 50
  434. IF shift 57
  435. FOREACH shift 62
  436. statement shift 17
  437. statements shift 101
  438. dotted_name shift 33
  439. {default} reduce 16
  440. State 18:
  441. statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  442. statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  443. statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  444. statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  445. statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  446. statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN * statements CURLY_CLOSE name_maybe SEMICOLON
  447. statements ::= * statement
  448. statements ::= * statement statements
  449. dotted_name ::= * NAME
  450. dotted_name ::= * NAME DOT dotted_name
  451. NAME shift 50
  452. IF shift 57
  453. FOREACH shift 62
  454. statement shift 17
  455. statements shift 70
  456. dotted_name shift 33
  457. State 19:
  458. statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  459. statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  460. statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  461. statement ::= * FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  462. statement ::= * FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  463. elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN * statements CURLY_CLOSE
  464. elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN * statements CURLY_CLOSE elif
  465. statements ::= * statement
  466. statements ::= * statement statements
  467. dotted_name ::= * NAME
  468. dotted_name ::= * NAME DOT dotted_name
  469. NAME shift 50
  470. IF shift 57
  471. FOREACH shift 62
  472. statement shift 17
  473. statements shift 75
  474. dotted_name shift 33
  475. State 20:
  476. (1) processes ::= *
  477. processes ::= * INCLUDE STRING processes
  478. processes ::= INCLUDE STRING * processes
  479. processes ::= * INCLUDE_GUARD STRING processes
  480. processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes
  481. process_or_template ::= * PROCESS
  482. process_or_template ::= * TEMPLATE
  483. INCLUDE shift 43
  484. INCLUDE_GUARD shift 44
  485. PROCESS shift 79
  486. TEMPLATE shift 80
  487. processes shift 76
  488. process_or_template shift 45
  489. {default} reduce 1
  490. State 21:
  491. (1) processes ::= *
  492. processes ::= * INCLUDE STRING processes
  493. processes ::= * INCLUDE_GUARD STRING processes
  494. processes ::= INCLUDE_GUARD STRING * processes
  495. processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes
  496. process_or_template ::= * PROCESS
  497. process_or_template ::= * TEMPLATE
  498. INCLUDE shift 43
  499. INCLUDE_GUARD shift 44
  500. PROCESS shift 79
  501. TEMPLATE shift 80
  502. processes shift 77
  503. process_or_template shift 45
  504. {default} reduce 1
  505. State 22:
  506. (1) processes ::= *
  507. processes ::= * INCLUDE STRING processes
  508. processes ::= * INCLUDE_GUARD STRING processes
  509. processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes
  510. processes ::= process_or_template NAME CURLY_OPEN statements CURLY_CLOSE * processes
  511. process_or_template ::= * PROCESS
  512. process_or_template ::= * TEMPLATE
  513. INCLUDE shift 43
  514. INCLUDE_GUARD shift 44
  515. PROCESS shift 79
  516. TEMPLATE shift 80
  517. processes shift 78
  518. process_or_template shift 45
  519. {default} reduce 1
  520. State 23:
  521. statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE * elif_maybe else_maybe name_maybe SEMICOLON
  522. (10) elif_maybe ::= *
  523. elif_maybe ::= * elif
  524. elif ::= * ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
  525. elif ::= * ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
  526. ELIF shift 73
  527. elif_maybe shift 28
  528. elif shift 104
  529. {default} reduce 10
  530. State 24:
  531. statement ::= dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE * name_maybe SEMICOLON
  532. (37) name_maybe ::= *
  533. name_maybe ::= * NAME
  534. NAME shift 82
  535. name_maybe shift 49
  536. {default} reduce 37
  537. State 25:
  538. dotted_name ::= * NAME
  539. dotted_name ::= * NAME DOT dotted_name
  540. dotted_name ::= NAME DOT * dotted_name
  541. NAME shift 50
  542. dotted_name shift 83
  543. State 26:
  544. statement ::= dotted_name ARROW * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  545. dotted_name ::= * NAME
  546. dotted_name ::= * NAME DOT dotted_name
  547. NAME shift 50
  548. dotted_name shift 54
  549. State 27:
  550. statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE * name_maybe SEMICOLON
  551. (37) name_maybe ::= *
  552. name_maybe ::= * NAME
  553. NAME shift 82
  554. name_maybe shift 56
  555. {default} reduce 37
  556. State 28:
  557. statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe * else_maybe name_maybe SEMICOLON
  558. (14) else_maybe ::= *
  559. else_maybe ::= * ELSE CURLY_OPEN statements CURLY_CLOSE
  560. ELSE shift 61
  561. else_maybe shift 29
  562. {default} reduce 14
  563. State 29:
  564. statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe * name_maybe SEMICOLON
  565. (37) name_maybe ::= *
  566. name_maybe ::= * NAME
  567. NAME shift 82
  568. name_maybe shift 60
  569. {default} reduce 37
  570. State 30:
  571. statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE * name_maybe SEMICOLON
  572. (37) name_maybe ::= *
  573. name_maybe ::= * NAME
  574. NAME shift 82
  575. name_maybe shift 66
  576. {default} reduce 37
  577. State 31:
  578. statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE * name_maybe SEMICOLON
  579. (37) name_maybe ::= *
  580. name_maybe ::= * NAME
  581. NAME shift 82
  582. name_maybe shift 71
  583. {default} reduce 37
  584. State 32:
  585. elif ::= * ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
  586. (12) elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE *
  587. elif ::= * ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
  588. elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE * elif
  589. ELIF shift 73
  590. elif shift 105
  591. {default} reduce 12
  592. State 33:
  593. statement ::= dotted_name * ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  594. statement ::= dotted_name * ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  595. ROUND_OPEN shift 1
  596. ARROW shift 26
  597. State 34:
  598. (22) list_contents ::= value *
  599. list_contents ::= value * COMMA list_contents
  600. invoc ::= value * ROUND_OPEN list_contents ROUND_CLOSE
  601. ROUND_OPEN shift 7
  602. COMMA shift 5
  603. {default} reduce 22
  604. State 35:
  605. map_contents ::= value * COLON value
  606. map_contents ::= value * COLON value COMMA map_contents
  607. invoc ::= value * ROUND_OPEN list_contents ROUND_CLOSE
  608. ROUND_OPEN shift 7
  609. COLON shift 8
  610. State 36:
  611. (26) map_contents ::= value COLON value *
  612. map_contents ::= value COLON value * COMMA map_contents
  613. invoc ::= value * ROUND_OPEN list_contents ROUND_CLOSE
  614. ROUND_OPEN shift 7
  615. COMMA shift 6
  616. {default} reduce 26
  617. State 37:
  618. invoc ::= value * ROUND_OPEN list_contents ROUND_CLOSE
  619. value ::= ROUND_OPEN value * ROUND_CLOSE
  620. ROUND_OPEN shift 7
  621. ROUND_CLOSE shift 95
  622. State 38:
  623. statement ::= IF ROUND_OPEN value * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  624. invoc ::= value * ROUND_OPEN list_contents ROUND_CLOSE
  625. ROUND_OPEN shift 7
  626. ROUND_CLOSE shift 58
  627. State 39:
  628. statement ::= FOREACH ROUND_OPEN value * AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  629. statement ::= FOREACH ROUND_OPEN value * AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  630. invoc ::= value * ROUND_OPEN list_contents ROUND_CLOSE
  631. ROUND_OPEN shift 7
  632. AS shift 63
  633. State 40:
  634. statement ::= FOREACH ROUND_OPEN value AS NAME * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  635. statement ::= FOREACH ROUND_OPEN value AS NAME * COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  636. ROUND_CLOSE shift 64
  637. COLON shift 67
  638. State 41:
  639. elif ::= ELIF ROUND_OPEN value * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
  640. elif ::= ELIF ROUND_OPEN value * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
  641. invoc ::= value * ROUND_OPEN list_contents ROUND_CLOSE
  642. ROUND_OPEN shift 7
  643. ROUND_CLOSE shift 74
  644. State 42:
  645. (0) input ::= processes *
  646. $ reduce 0
  647. State 43:
  648. processes ::= INCLUDE * STRING processes
  649. STRING shift 20
  650. State 44:
  651. processes ::= INCLUDE_GUARD * STRING processes
  652. STRING shift 21
  653. State 45:
  654. processes ::= process_or_template * NAME CURLY_OPEN statements CURLY_CLOSE processes
  655. NAME shift 46
  656. State 46:
  657. processes ::= process_or_template NAME * CURLY_OPEN statements CURLY_CLOSE processes
  658. CURLY_OPEN shift 13
  659. State 47:
  660. processes ::= process_or_template NAME CURLY_OPEN statements * CURLY_CLOSE processes
  661. CURLY_CLOSE shift 22
  662. State 48:
  663. statement ::= dotted_name ROUND_OPEN statement_args_maybe * ROUND_CLOSE name_maybe SEMICOLON
  664. ROUND_CLOSE shift 24
  665. State 49:
  666. statement ::= dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe * SEMICOLON
  667. SEMICOLON shift 81
  668. State 50:
  669. (18) dotted_name ::= NAME *
  670. dotted_name ::= NAME * DOT dotted_name
  671. DOT shift 25
  672. {default} reduce 18
  673. State 51:
  674. list ::= CURLY_OPEN list_contents * CURLY_CLOSE
  675. CURLY_CLOSE shift 87
  676. State 52:
  677. invoc ::= value ROUND_OPEN list_contents * ROUND_CLOSE
  678. ROUND_CLOSE shift 93
  679. State 53:
  680. map ::= BRACKET_OPEN map_contents * BRACKET_CLOSE
  681. BRACKET_CLOSE shift 97
  682. State 54:
  683. statement ::= dotted_name ARROW dotted_name * ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  684. ROUND_OPEN shift 2
  685. State 55:
  686. statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe * ROUND_CLOSE name_maybe SEMICOLON
  687. ROUND_CLOSE shift 27
  688. State 56:
  689. statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe * SEMICOLON
  690. SEMICOLON shift 98
  691. State 57:
  692. statement ::= IF * ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  693. ROUND_OPEN shift 10
  694. State 58:
  695. statement ::= IF ROUND_OPEN value ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  696. CURLY_OPEN shift 14
  697. State 59:
  698. statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements * CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  699. CURLY_CLOSE shift 23
  700. State 60:
  701. statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe * SEMICOLON
  702. SEMICOLON shift 99
  703. State 61:
  704. else_maybe ::= ELSE * CURLY_OPEN statements CURLY_CLOSE
  705. CURLY_OPEN shift 15
  706. State 62:
  707. statement ::= FOREACH * ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  708. statement ::= FOREACH * ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  709. ROUND_OPEN shift 11
  710. State 63:
  711. statement ::= FOREACH ROUND_OPEN value AS * NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  712. statement ::= FOREACH ROUND_OPEN value AS * NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  713. NAME shift 40
  714. State 64:
  715. statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  716. CURLY_OPEN shift 16
  717. State 65:
  718. statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements * CURLY_CLOSE name_maybe SEMICOLON
  719. CURLY_CLOSE shift 30
  720. State 66:
  721. statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe * SEMICOLON
  722. SEMICOLON shift 100
  723. State 67:
  724. statement ::= FOREACH ROUND_OPEN value AS NAME COLON * NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  725. NAME shift 68
  726. State 68:
  727. statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  728. ROUND_CLOSE shift 69
  729. State 69:
  730. statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON
  731. CURLY_OPEN shift 18
  732. State 70:
  733. statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements * CURLY_CLOSE name_maybe SEMICOLON
  734. CURLY_CLOSE shift 31
  735. State 71:
  736. statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe * SEMICOLON
  737. SEMICOLON shift 102
  738. State 72:
  739. else_maybe ::= ELSE CURLY_OPEN statements * CURLY_CLOSE
  740. CURLY_CLOSE shift 103
  741. State 73:
  742. elif ::= ELIF * ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
  743. elif ::= ELIF * ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
  744. ROUND_OPEN shift 12
  745. State 74:
  746. elif ::= ELIF ROUND_OPEN value ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE
  747. elif ::= ELIF ROUND_OPEN value ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE elif
  748. CURLY_OPEN shift 19
  749. State 75:
  750. elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements * CURLY_CLOSE
  751. elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements * CURLY_CLOSE elif
  752. CURLY_CLOSE shift 32
  753. State 76:
  754. (2) processes ::= INCLUDE STRING processes *
  755. {default} reduce 2
  756. State 77:
  757. (3) processes ::= INCLUDE_GUARD STRING processes *
  758. {default} reduce 3
  759. State 78:
  760. (4) processes ::= process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes *
  761. {default} reduce 4
  762. State 79:
  763. (39) process_or_template ::= PROCESS *
  764. {default} reduce 39
  765. State 80:
  766. (40) process_or_template ::= TEMPLATE *
  767. {default} reduce 40
  768. State 81:
  769. (5) statement ::= dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON *
  770. {default} reduce 5
  771. State 82:
  772. (38) name_maybe ::= NAME *
  773. {default} reduce 38
  774. State 83:
  775. (19) dotted_name ::= NAME DOT dotted_name *
  776. {default} reduce 19
  777. State 84:
  778. (21) statement_args_maybe ::= list_contents *
  779. {default} reduce 21
  780. State 85:
  781. (23) list_contents ::= value COMMA list_contents *
  782. {default} reduce 23
  783. State 86:
  784. (24) list ::= CURLY_OPEN CURLY_CLOSE *
  785. {default} reduce 24
  786. State 87:
  787. (25) list ::= CURLY_OPEN list_contents CURLY_CLOSE *
  788. {default} reduce 25
  789. State 88:
  790. (27) map_contents ::= value COLON value COMMA map_contents *
  791. {default} reduce 27
  792. State 89:
  793. (31) value ::= STRING *
  794. {default} reduce 31
  795. State 90:
  796. (32) value ::= dotted_name *
  797. {default} reduce 32
  798. State 91:
  799. (33) value ::= list *
  800. {default} reduce 33
  801. State 92:
  802. (34) value ::= map *
  803. {default} reduce 34
  804. State 93:
  805. (30) invoc ::= value ROUND_OPEN list_contents ROUND_CLOSE *
  806. {default} reduce 30
  807. State 94:
  808. (36) value ::= invoc *
  809. {default} reduce 36
  810. State 95:
  811. (35) value ::= ROUND_OPEN value ROUND_CLOSE *
  812. {default} reduce 35
  813. State 96:
  814. (28) map ::= BRACKET_OPEN BRACKET_CLOSE *
  815. {default} reduce 28
  816. State 97:
  817. (29) map ::= BRACKET_OPEN map_contents BRACKET_CLOSE *
  818. {default} reduce 29
  819. State 98:
  820. (6) statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON *
  821. {default} reduce 6
  822. State 99:
  823. (7) statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON *
  824. {default} reduce 7
  825. State 100:
  826. (8) statement ::= FOREACH ROUND_OPEN value AS NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON *
  827. {default} reduce 8
  828. State 101:
  829. (17) statements ::= statement statements *
  830. {default} reduce 17
  831. State 102:
  832. (9) statement ::= FOREACH ROUND_OPEN value AS NAME COLON NAME ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE name_maybe SEMICOLON *
  833. {default} reduce 9
  834. State 103:
  835. (15) else_maybe ::= ELSE CURLY_OPEN statements CURLY_CLOSE *
  836. {default} reduce 15
  837. State 104:
  838. (11) elif_maybe ::= elif *
  839. {default} reduce 11
  840. State 105:
  841. (13) elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif *
  842. {default} reduce 13
  843. ----------------------------------------------------
  844. Symbols:
  845. 0: $:
  846. 1: INCLUDE
  847. 2: STRING
  848. 3: INCLUDE_GUARD
  849. 4: NAME
  850. 5: CURLY_OPEN
  851. 6: CURLY_CLOSE
  852. 7: ROUND_OPEN
  853. 8: ROUND_CLOSE
  854. 9: SEMICOLON
  855. 10: ARROW
  856. 11: IF
  857. 12: FOREACH
  858. 13: AS
  859. 14: COLON
  860. 15: ELIF
  861. 16: ELSE
  862. 17: DOT
  863. 18: COMMA
  864. 19: BRACKET_OPEN
  865. 20: BRACKET_CLOSE
  866. 21: PROCESS
  867. 22: TEMPLATE
  868. 23: error:
  869. 24: processes: <lambda> INCLUDE INCLUDE_GUARD PROCESS TEMPLATE
  870. 25: statement: NAME IF FOREACH
  871. 26: elif_maybe: <lambda> ELIF
  872. 27: elif: ELIF
  873. 28: else_maybe: <lambda> ELSE
  874. 29: statements: NAME IF FOREACH
  875. 30: dotted_name: NAME
  876. 31: statement_args_maybe: <lambda> STRING NAME CURLY_OPEN ROUND_OPEN BRACKET_OPEN
  877. 32: list_contents: STRING NAME CURLY_OPEN ROUND_OPEN BRACKET_OPEN
  878. 33: list: CURLY_OPEN
  879. 34: map_contents: STRING NAME CURLY_OPEN ROUND_OPEN BRACKET_OPEN
  880. 35: map: BRACKET_OPEN
  881. 36: invoc: STRING NAME CURLY_OPEN ROUND_OPEN BRACKET_OPEN
  882. 37: value: STRING NAME CURLY_OPEN ROUND_OPEN BRACKET_OPEN
  883. 38: name_maybe: <lambda> NAME
  884. 39: process_or_template: PROCESS TEMPLATE
  885. 40: input: INCLUDE INCLUDE_GUARD PROCESS TEMPLATE