NCDValueParser_parse.out 6.5 KB

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