NCDConfigParser_parse.out 47 KB

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