NCDConfigParser_parse.out 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719
  1. State 0:
  2. input ::= * processes
  3. processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE
  4. processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes
  5. process_or_template ::= * PROCESS
  6. process_or_template ::= * TEMPLATE
  7. PROCESS shift 52
  8. TEMPLATE shift 53
  9. processes shift 25
  10. process_or_template shift 26
  11. input accept
  12. State 1:
  13. statement ::= dotted_name ROUND_OPEN * statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  14. dotted_name ::= * NAME
  15. dotted_name ::= * NAME DOT dotted_name
  16. (16) statement_args_maybe ::= *
  17. statement_args_maybe ::= * list_contents
  18. list_contents ::= * value
  19. list_contents ::= * value COMMA list_contents
  20. list ::= * CURLY_OPEN CURLY_CLOSE
  21. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  22. map ::= * BRACKET_OPEN BRACKET_CLOSE
  23. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  24. value ::= * STRING
  25. value ::= * dotted_name
  26. value ::= * list
  27. value ::= * map
  28. NAME shift 31
  29. CURLY_OPEN shift 3
  30. BRACKET_OPEN shift 4
  31. STRING shift 62
  32. dotted_name shift 63
  33. statement_args_maybe shift 29
  34. list_contents shift 57
  35. list shift 64
  36. map shift 65
  37. value shift 32
  38. {default} reduce 16
  39. State 2:
  40. statement ::= dotted_name ARROW dotted_name ROUND_OPEN * statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  41. dotted_name ::= * NAME
  42. dotted_name ::= * NAME DOT dotted_name
  43. (16) statement_args_maybe ::= *
  44. statement_args_maybe ::= * list_contents
  45. list_contents ::= * value
  46. list_contents ::= * value COMMA list_contents
  47. list ::= * CURLY_OPEN CURLY_CLOSE
  48. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  49. map ::= * BRACKET_OPEN BRACKET_CLOSE
  50. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  51. value ::= * STRING
  52. value ::= * dotted_name
  53. value ::= * list
  54. value ::= * map
  55. NAME shift 31
  56. CURLY_OPEN shift 3
  57. BRACKET_OPEN shift 4
  58. STRING shift 62
  59. dotted_name shift 63
  60. statement_args_maybe shift 38
  61. list_contents shift 57
  62. list shift 64
  63. map shift 65
  64. value shift 32
  65. {default} reduce 16
  66. State 3:
  67. dotted_name ::= * NAME
  68. dotted_name ::= * NAME DOT dotted_name
  69. list_contents ::= * value
  70. list_contents ::= * value COMMA list_contents
  71. list ::= * CURLY_OPEN CURLY_CLOSE
  72. list ::= CURLY_OPEN * CURLY_CLOSE
  73. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  74. list ::= CURLY_OPEN * list_contents CURLY_CLOSE
  75. map ::= * BRACKET_OPEN BRACKET_CLOSE
  76. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  77. value ::= * STRING
  78. value ::= * dotted_name
  79. value ::= * list
  80. value ::= * map
  81. NAME shift 31
  82. CURLY_OPEN shift 3
  83. CURLY_CLOSE shift 59
  84. BRACKET_OPEN shift 4
  85. STRING shift 62
  86. dotted_name shift 63
  87. list_contents shift 33
  88. list shift 64
  89. map shift 65
  90. value shift 32
  91. State 4:
  92. dotted_name ::= * NAME
  93. dotted_name ::= * NAME DOT dotted_name
  94. list ::= * CURLY_OPEN CURLY_CLOSE
  95. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  96. map_contents ::= * value COLON value
  97. map_contents ::= * value COLON value COMMA map_contents
  98. map ::= * BRACKET_OPEN BRACKET_CLOSE
  99. map ::= BRACKET_OPEN * BRACKET_CLOSE
  100. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  101. map ::= BRACKET_OPEN * map_contents BRACKET_CLOSE
  102. value ::= * STRING
  103. value ::= * dotted_name
  104. value ::= * list
  105. value ::= * map
  106. NAME shift 31
  107. CURLY_OPEN shift 3
  108. BRACKET_OPEN shift 4
  109. BRACKET_CLOSE shift 66
  110. STRING shift 62
  111. dotted_name shift 63
  112. list shift 64
  113. map_contents shift 36
  114. map shift 65
  115. value shift 34
  116. State 5:
  117. dotted_name ::= * NAME
  118. dotted_name ::= * NAME DOT dotted_name
  119. list_contents ::= * value
  120. list_contents ::= * value COMMA list_contents
  121. list_contents ::= value COMMA * list_contents
  122. list ::= * CURLY_OPEN CURLY_CLOSE
  123. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  124. map ::= * BRACKET_OPEN BRACKET_CLOSE
  125. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  126. value ::= * STRING
  127. value ::= * dotted_name
  128. value ::= * list
  129. value ::= * map
  130. NAME shift 31
  131. CURLY_OPEN shift 3
  132. BRACKET_OPEN shift 4
  133. STRING shift 62
  134. dotted_name shift 63
  135. list_contents shift 58
  136. list shift 64
  137. map shift 65
  138. value shift 32
  139. State 6:
  140. dotted_name ::= * NAME
  141. dotted_name ::= * NAME DOT dotted_name
  142. list ::= * CURLY_OPEN CURLY_CLOSE
  143. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  144. map_contents ::= * value COLON value
  145. map_contents ::= * value COLON value COMMA map_contents
  146. map_contents ::= value COLON value COMMA * map_contents
  147. map ::= * BRACKET_OPEN BRACKET_CLOSE
  148. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  149. value ::= * STRING
  150. value ::= * dotted_name
  151. value ::= * list
  152. value ::= * map
  153. NAME shift 31
  154. CURLY_OPEN shift 3
  155. BRACKET_OPEN shift 4
  156. STRING shift 62
  157. dotted_name shift 63
  158. list shift 64
  159. map_contents shift 61
  160. map shift 65
  161. value shift 34
  162. State 7:
  163. dotted_name ::= * NAME
  164. dotted_name ::= * NAME DOT dotted_name
  165. list ::= * CURLY_OPEN CURLY_CLOSE
  166. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  167. map_contents ::= value COLON * value
  168. map_contents ::= value COLON * value COMMA map_contents
  169. map ::= * BRACKET_OPEN BRACKET_CLOSE
  170. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  171. value ::= * STRING
  172. value ::= * dotted_name
  173. value ::= * list
  174. value ::= * map
  175. NAME shift 31
  176. CURLY_OPEN shift 3
  177. BRACKET_OPEN shift 4
  178. STRING shift 62
  179. dotted_name shift 63
  180. list shift 64
  181. map shift 65
  182. value shift 35
  183. State 8:
  184. statement ::= IF ROUND_OPEN * value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  185. dotted_name ::= * NAME
  186. dotted_name ::= * NAME DOT dotted_name
  187. list ::= * CURLY_OPEN CURLY_CLOSE
  188. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  189. map ::= * BRACKET_OPEN BRACKET_CLOSE
  190. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  191. value ::= * STRING
  192. value ::= * dotted_name
  193. value ::= * list
  194. value ::= * map
  195. NAME shift 31
  196. CURLY_OPEN shift 3
  197. BRACKET_OPEN shift 4
  198. STRING shift 62
  199. dotted_name shift 63
  200. list shift 64
  201. map shift 65
  202. value shift 41
  203. State 9:
  204. elif ::= ELIF ROUND_OPEN * value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
  205. elif ::= ELIF ROUND_OPEN * value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
  206. dotted_name ::= * NAME
  207. dotted_name ::= * NAME DOT dotted_name
  208. list ::= * CURLY_OPEN CURLY_CLOSE
  209. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  210. map ::= * BRACKET_OPEN BRACKET_CLOSE
  211. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  212. value ::= * STRING
  213. value ::= * dotted_name
  214. value ::= * list
  215. value ::= * map
  216. NAME shift 31
  217. CURLY_OPEN shift 3
  218. BRACKET_OPEN shift 4
  219. STRING shift 62
  220. dotted_name shift 63
  221. list shift 64
  222. map shift 65
  223. value shift 48
  224. State 10:
  225. processes ::= process_or_template NAME CURLY_OPEN * statements CURLY_CLOSE
  226. processes ::= process_or_template NAME CURLY_OPEN * statements CURLY_CLOSE processes
  227. statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  228. statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  229. statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  230. statements ::= * statement
  231. statements ::= * statement statements
  232. dotted_name ::= * NAME
  233. dotted_name ::= * NAME DOT dotted_name
  234. NAME shift 31
  235. IF shift 40
  236. statement shift 13
  237. statements shift 28
  238. dotted_name shift 24
  239. State 11:
  240. statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  241. statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  242. statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  243. statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN * statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  244. statements ::= * statement
  245. statements ::= * statement statements
  246. dotted_name ::= * NAME
  247. dotted_name ::= * NAME DOT dotted_name
  248. NAME shift 31
  249. IF shift 40
  250. statement shift 13
  251. statements shift 43
  252. dotted_name shift 24
  253. State 12:
  254. statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  255. statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  256. statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  257. else_maybe ::= ELSE CURLY_OPEN * statements CURLY_CLOSE
  258. statements ::= * statement
  259. statements ::= * statement statements
  260. dotted_name ::= * NAME
  261. dotted_name ::= * NAME DOT dotted_name
  262. NAME shift 31
  263. IF shift 40
  264. statement shift 13
  265. statements shift 46
  266. dotted_name shift 24
  267. State 13:
  268. statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  269. statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  270. statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  271. statements ::= * statement
  272. (12) statements ::= statement *
  273. statements ::= * statement statements
  274. statements ::= statement * statements
  275. dotted_name ::= * NAME
  276. dotted_name ::= * NAME DOT dotted_name
  277. NAME shift 31
  278. IF shift 40
  279. statement shift 13
  280. statements shift 71
  281. dotted_name shift 24
  282. {default} reduce 12
  283. State 14:
  284. statement ::= * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  285. statement ::= * dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  286. statement ::= * IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  287. elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN * statements CURLY_CLOSE
  288. elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN * statements CURLY_CLOSE elif
  289. statements ::= * statement
  290. statements ::= * statement statements
  291. dotted_name ::= * NAME
  292. dotted_name ::= * NAME DOT dotted_name
  293. NAME shift 31
  294. IF shift 40
  295. statement shift 13
  296. statements shift 50
  297. dotted_name shift 24
  298. State 15:
  299. processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE
  300. (1) processes ::= process_or_template NAME CURLY_OPEN statements CURLY_CLOSE *
  301. processes ::= * process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes
  302. processes ::= process_or_template NAME CURLY_OPEN statements CURLY_CLOSE * processes
  303. process_or_template ::= * PROCESS
  304. process_or_template ::= * TEMPLATE
  305. PROCESS shift 52
  306. TEMPLATE shift 53
  307. processes shift 51
  308. process_or_template shift 26
  309. {default} reduce 1
  310. State 16:
  311. statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE * elif_maybe else_maybe name_maybe SEMICOLON
  312. (6) elif_maybe ::= *
  313. elif_maybe ::= * elif
  314. elif ::= * ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
  315. elif ::= * ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
  316. ELIF shift 47
  317. elif_maybe shift 21
  318. elif shift 72
  319. {default} reduce 6
  320. State 17:
  321. statement ::= dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE * name_maybe SEMICOLON
  322. (30) name_maybe ::= *
  323. name_maybe ::= * NAME
  324. NAME shift 55
  325. name_maybe shift 30
  326. {default} reduce 30
  327. State 18:
  328. dotted_name ::= * NAME
  329. dotted_name ::= * NAME DOT dotted_name
  330. dotted_name ::= NAME DOT * dotted_name
  331. NAME shift 31
  332. dotted_name shift 56
  333. State 19:
  334. statement ::= dotted_name ARROW * dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  335. dotted_name ::= * NAME
  336. dotted_name ::= * NAME DOT dotted_name
  337. NAME shift 31
  338. dotted_name shift 37
  339. State 20:
  340. statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE * name_maybe SEMICOLON
  341. (30) name_maybe ::= *
  342. name_maybe ::= * NAME
  343. NAME shift 55
  344. name_maybe shift 39
  345. {default} reduce 30
  346. State 21:
  347. statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe * else_maybe name_maybe SEMICOLON
  348. (10) else_maybe ::= *
  349. else_maybe ::= * ELSE CURLY_OPEN statements CURLY_CLOSE
  350. ELSE shift 45
  351. else_maybe shift 22
  352. {default} reduce 10
  353. State 22:
  354. statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe * name_maybe SEMICOLON
  355. (30) name_maybe ::= *
  356. name_maybe ::= * NAME
  357. NAME shift 55
  358. name_maybe shift 44
  359. {default} reduce 30
  360. State 23:
  361. elif ::= * ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
  362. (8) elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE *
  363. elif ::= * ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
  364. elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE * elif
  365. ELIF shift 47
  366. elif shift 73
  367. {default} reduce 8
  368. State 24:
  369. statement ::= dotted_name * ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  370. statement ::= dotted_name * ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  371. ROUND_OPEN shift 1
  372. ARROW shift 19
  373. State 25:
  374. (0) input ::= processes *
  375. $ reduce 0
  376. State 26:
  377. processes ::= process_or_template * NAME CURLY_OPEN statements CURLY_CLOSE
  378. processes ::= process_or_template * NAME CURLY_OPEN statements CURLY_CLOSE processes
  379. NAME shift 27
  380. State 27:
  381. processes ::= process_or_template NAME * CURLY_OPEN statements CURLY_CLOSE
  382. processes ::= process_or_template NAME * CURLY_OPEN statements CURLY_CLOSE processes
  383. CURLY_OPEN shift 10
  384. State 28:
  385. processes ::= process_or_template NAME CURLY_OPEN statements * CURLY_CLOSE
  386. processes ::= process_or_template NAME CURLY_OPEN statements * CURLY_CLOSE processes
  387. CURLY_CLOSE shift 15
  388. State 29:
  389. statement ::= dotted_name ROUND_OPEN statement_args_maybe * ROUND_CLOSE name_maybe SEMICOLON
  390. ROUND_CLOSE shift 17
  391. State 30:
  392. statement ::= dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe * SEMICOLON
  393. SEMICOLON shift 54
  394. State 31:
  395. (14) dotted_name ::= NAME *
  396. dotted_name ::= NAME * DOT dotted_name
  397. DOT shift 18
  398. {default} reduce 14
  399. State 32:
  400. (18) list_contents ::= value *
  401. list_contents ::= value * COMMA list_contents
  402. COMMA shift 5
  403. {default} reduce 18
  404. State 33:
  405. list ::= CURLY_OPEN list_contents * CURLY_CLOSE
  406. CURLY_CLOSE shift 60
  407. State 34:
  408. map_contents ::= value * COLON value
  409. map_contents ::= value * COLON value COMMA map_contents
  410. COLON shift 7
  411. State 35:
  412. (22) map_contents ::= value COLON value *
  413. map_contents ::= value COLON value * COMMA map_contents
  414. COMMA shift 6
  415. {default} reduce 22
  416. State 36:
  417. map ::= BRACKET_OPEN map_contents * BRACKET_CLOSE
  418. BRACKET_CLOSE shift 67
  419. State 37:
  420. statement ::= dotted_name ARROW dotted_name * ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON
  421. ROUND_OPEN shift 2
  422. State 38:
  423. statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe * ROUND_CLOSE name_maybe SEMICOLON
  424. ROUND_CLOSE shift 20
  425. State 39:
  426. statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe * SEMICOLON
  427. SEMICOLON shift 68
  428. State 40:
  429. statement ::= IF * ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  430. ROUND_OPEN shift 8
  431. State 41:
  432. statement ::= IF ROUND_OPEN value * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  433. ROUND_CLOSE shift 42
  434. State 42:
  435. statement ::= IF ROUND_OPEN value ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  436. CURLY_OPEN shift 11
  437. State 43:
  438. statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements * CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON
  439. CURLY_CLOSE shift 16
  440. State 44:
  441. statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe * SEMICOLON
  442. SEMICOLON shift 69
  443. State 45:
  444. else_maybe ::= ELSE * CURLY_OPEN statements CURLY_CLOSE
  445. CURLY_OPEN shift 12
  446. State 46:
  447. else_maybe ::= ELSE CURLY_OPEN statements * CURLY_CLOSE
  448. CURLY_CLOSE shift 70
  449. State 47:
  450. elif ::= ELIF * ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
  451. elif ::= ELIF * ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
  452. ROUND_OPEN shift 9
  453. State 48:
  454. elif ::= ELIF ROUND_OPEN value * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE
  455. elif ::= ELIF ROUND_OPEN value * ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif
  456. ROUND_CLOSE shift 49
  457. State 49:
  458. elif ::= ELIF ROUND_OPEN value ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE
  459. elif ::= ELIF ROUND_OPEN value ROUND_CLOSE * CURLY_OPEN statements CURLY_CLOSE elif
  460. CURLY_OPEN shift 14
  461. State 50:
  462. 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. CURLY_CLOSE shift 23
  465. State 51:
  466. (2) processes ::= process_or_template NAME CURLY_OPEN statements CURLY_CLOSE processes *
  467. {default} reduce 2
  468. State 52:
  469. (32) process_or_template ::= PROCESS *
  470. {default} reduce 32
  471. State 53:
  472. (33) process_or_template ::= TEMPLATE *
  473. {default} reduce 33
  474. State 54:
  475. (3) statement ::= dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON *
  476. {default} reduce 3
  477. State 55:
  478. (31) name_maybe ::= NAME *
  479. {default} reduce 31
  480. State 56:
  481. (15) dotted_name ::= NAME DOT dotted_name *
  482. {default} reduce 15
  483. State 57:
  484. (17) statement_args_maybe ::= list_contents *
  485. {default} reduce 17
  486. State 58:
  487. (19) list_contents ::= value COMMA list_contents *
  488. {default} reduce 19
  489. State 59:
  490. (20) list ::= CURLY_OPEN CURLY_CLOSE *
  491. {default} reduce 20
  492. State 60:
  493. (21) list ::= CURLY_OPEN list_contents CURLY_CLOSE *
  494. {default} reduce 21
  495. State 61:
  496. (23) map_contents ::= value COLON value COMMA map_contents *
  497. {default} reduce 23
  498. State 62:
  499. (26) value ::= STRING *
  500. {default} reduce 26
  501. State 63:
  502. (27) value ::= dotted_name *
  503. {default} reduce 27
  504. State 64:
  505. (28) value ::= list *
  506. {default} reduce 28
  507. State 65:
  508. (29) value ::= map *
  509. {default} reduce 29
  510. State 66:
  511. (24) map ::= BRACKET_OPEN BRACKET_CLOSE *
  512. {default} reduce 24
  513. State 67:
  514. (25) map ::= BRACKET_OPEN map_contents BRACKET_CLOSE *
  515. {default} reduce 25
  516. State 68:
  517. (4) statement ::= dotted_name ARROW dotted_name ROUND_OPEN statement_args_maybe ROUND_CLOSE name_maybe SEMICOLON *
  518. {default} reduce 4
  519. State 69:
  520. (5) statement ::= IF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif_maybe else_maybe name_maybe SEMICOLON *
  521. {default} reduce 5
  522. State 70:
  523. (11) else_maybe ::= ELSE CURLY_OPEN statements CURLY_CLOSE *
  524. {default} reduce 11
  525. State 71:
  526. (13) statements ::= statement statements *
  527. {default} reduce 13
  528. State 72:
  529. (7) elif_maybe ::= elif *
  530. {default} reduce 7
  531. State 73:
  532. (9) elif ::= ELIF ROUND_OPEN value ROUND_CLOSE CURLY_OPEN statements CURLY_CLOSE elif *
  533. {default} reduce 9
  534. ----------------------------------------------------
  535. Symbols:
  536. 0: $:
  537. 1: NAME
  538. 2: CURLY_OPEN
  539. 3: CURLY_CLOSE
  540. 4: ROUND_OPEN
  541. 5: ROUND_CLOSE
  542. 6: SEMICOLON
  543. 7: ARROW
  544. 8: IF
  545. 9: ELIF
  546. 10: ELSE
  547. 11: DOT
  548. 12: COMMA
  549. 13: COLON
  550. 14: BRACKET_OPEN
  551. 15: BRACKET_CLOSE
  552. 16: STRING
  553. 17: PROCESS
  554. 18: TEMPLATE
  555. 19: error:
  556. 20: processes: PROCESS TEMPLATE
  557. 21: statement: NAME IF
  558. 22: elif_maybe: <lambda> ELIF
  559. 23: elif: ELIF
  560. 24: else_maybe: <lambda> ELSE
  561. 25: statements: NAME IF
  562. 26: dotted_name: NAME
  563. 27: statement_args_maybe: <lambda> NAME CURLY_OPEN BRACKET_OPEN STRING
  564. 28: list_contents: NAME CURLY_OPEN BRACKET_OPEN STRING
  565. 29: list: CURLY_OPEN
  566. 30: map_contents: NAME CURLY_OPEN BRACKET_OPEN STRING
  567. 31: map: BRACKET_OPEN
  568. 32: value: NAME CURLY_OPEN BRACKET_OPEN STRING
  569. 33: name_maybe: <lambda> NAME
  570. 34: process_or_template: PROCESS TEMPLATE
  571. 35: input: PROCESS TEMPLATE