PageRenderTime 50ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/src/main/jni/badvpn/generated/NCDConfigParser_parse.out

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