NCDConfigParser_parse.out 34 KB

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