NCDValueParser_parse.out 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. State 0:
  2. input ::= * STRING
  3. input ::= * list
  4. input ::= * map
  5. list ::= * CURLY_OPEN CURLY_CLOSE
  6. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  7. map ::= * BRACKET_OPEN BRACKET_CLOSE
  8. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  9. STRING shift 6
  10. CURLY_OPEN shift 1
  11. BRACKET_OPEN shift 2
  12. list shift 7
  13. map shift 8
  14. input accept
  15. State 1:
  16. list_contents ::= * value
  17. list_contents ::= * value COMMA list_contents
  18. list ::= * CURLY_OPEN CURLY_CLOSE
  19. list ::= CURLY_OPEN * CURLY_CLOSE
  20. list ::= * CURLY_OPEN list_contents 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 ::= * list
  26. value ::= * map
  27. STRING shift 16
  28. CURLY_OPEN shift 1
  29. CURLY_CLOSE shift 21
  30. BRACKET_OPEN shift 2
  31. list_contents shift 13
  32. list shift 17
  33. map shift 18
  34. value shift 9
  35. State 2:
  36. map_contents ::= * value COLON value
  37. map_contents ::= * value COLON value COMMA map_contents
  38. list ::= * CURLY_OPEN CURLY_CLOSE
  39. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  40. map ::= * BRACKET_OPEN BRACKET_CLOSE
  41. map ::= BRACKET_OPEN * BRACKET_CLOSE
  42. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  43. map ::= BRACKET_OPEN * map_contents BRACKET_CLOSE
  44. value ::= * STRING
  45. value ::= * list
  46. value ::= * map
  47. STRING shift 16
  48. CURLY_OPEN shift 1
  49. BRACKET_OPEN shift 2
  50. BRACKET_CLOSE shift 19
  51. list shift 17
  52. map_contents shift 12
  53. map shift 18
  54. value shift 10
  55. State 3:
  56. list_contents ::= * value
  57. list_contents ::= * value COMMA list_contents
  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. value ::= * STRING
  64. value ::= * list
  65. value ::= * map
  66. STRING shift 16
  67. CURLY_OPEN shift 1
  68. BRACKET_OPEN shift 2
  69. list_contents shift 14
  70. list shift 17
  71. map shift 18
  72. value shift 9
  73. State 4:
  74. map_contents ::= * value COLON value
  75. map_contents ::= * value COLON value COMMA map_contents
  76. map_contents ::= value COLON value COMMA * map_contents
  77. list ::= * CURLY_OPEN CURLY_CLOSE
  78. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  79. map ::= * BRACKET_OPEN BRACKET_CLOSE
  80. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  81. value ::= * STRING
  82. value ::= * list
  83. value ::= * map
  84. STRING shift 16
  85. CURLY_OPEN shift 1
  86. BRACKET_OPEN shift 2
  87. list shift 17
  88. map_contents shift 15
  89. map shift 18
  90. value shift 10
  91. State 5:
  92. map_contents ::= value COLON * value
  93. map_contents ::= value COLON * value COMMA map_contents
  94. list ::= * CURLY_OPEN CURLY_CLOSE
  95. list ::= * CURLY_OPEN list_contents CURLY_CLOSE
  96. map ::= * BRACKET_OPEN BRACKET_CLOSE
  97. map ::= * BRACKET_OPEN map_contents BRACKET_CLOSE
  98. value ::= * STRING
  99. value ::= * list
  100. value ::= * map
  101. STRING shift 16
  102. CURLY_OPEN shift 1
  103. BRACKET_OPEN shift 2
  104. list shift 17
  105. map shift 18
  106. value shift 11
  107. State 6:
  108. (0) input ::= STRING *
  109. $ reduce 0
  110. State 7:
  111. (1) input ::= list *
  112. $ reduce 1
  113. State 8:
  114. (2) input ::= map *
  115. $ reduce 2
  116. State 9:
  117. (3) list_contents ::= value *
  118. list_contents ::= value * COMMA list_contents
  119. COMMA shift 3
  120. {default} reduce 3
  121. State 10:
  122. map_contents ::= value * COLON value
  123. map_contents ::= value * COLON value COMMA map_contents
  124. COLON shift 5
  125. State 11:
  126. (5) map_contents ::= value COLON value *
  127. map_contents ::= value COLON value * COMMA map_contents
  128. COMMA shift 4
  129. {default} reduce 5
  130. State 12:
  131. map ::= BRACKET_OPEN map_contents * BRACKET_CLOSE
  132. BRACKET_CLOSE shift 20
  133. State 13:
  134. list ::= CURLY_OPEN list_contents * CURLY_CLOSE
  135. CURLY_CLOSE shift 22
  136. State 14:
  137. (4) list_contents ::= value COMMA list_contents *
  138. {default} reduce 4
  139. State 15:
  140. (6) map_contents ::= value COLON value COMMA map_contents *
  141. {default} reduce 6
  142. State 16:
  143. (11) value ::= STRING *
  144. {default} reduce 11
  145. State 17:
  146. (12) value ::= list *
  147. {default} reduce 12
  148. State 18:
  149. (13) value ::= map *
  150. {default} reduce 13
  151. State 19:
  152. (9) map ::= BRACKET_OPEN BRACKET_CLOSE *
  153. {default} reduce 9
  154. State 20:
  155. (10) map ::= BRACKET_OPEN map_contents BRACKET_CLOSE *
  156. {default} reduce 10
  157. State 21:
  158. (7) list ::= CURLY_OPEN CURLY_CLOSE *
  159. {default} reduce 7
  160. State 22:
  161. (8) list ::= CURLY_OPEN list_contents CURLY_CLOSE *
  162. {default} reduce 8
  163. ----------------------------------------------------
  164. Symbols:
  165. 0: $:
  166. 1: STRING
  167. 2: COMMA
  168. 3: COLON
  169. 4: CURLY_OPEN
  170. 5: CURLY_CLOSE
  171. 6: BRACKET_OPEN
  172. 7: BRACKET_CLOSE
  173. 8: error:
  174. 9: list_contents: STRING CURLY_OPEN BRACKET_OPEN
  175. 10: list: CURLY_OPEN
  176. 11: map_contents: STRING CURLY_OPEN BRACKET_OPEN
  177. 12: map: BRACKET_OPEN
  178. 13: value: STRING CURLY_OPEN BRACKET_OPEN
  179. 14: input: STRING CURLY_OPEN BRACKET_OPEN