gkellogg-reddy 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (545) hide show
  1. data/.autotest +2 -0
  2. data/.gitignore +9 -0
  3. data/.gitmodules +3 -0
  4. data/History.txt +66 -0
  5. data/README.rdoc +107 -0
  6. data/Rakefile +96 -0
  7. data/VERSION +1 -0
  8. data/bin/reddy +59 -0
  9. data/lib/reddy.rb +62 -0
  10. data/lib/reddy/bnode.rb +101 -0
  11. data/lib/reddy/conjunctive_graph.rb +47 -0
  12. data/lib/reddy/exceptions.rb +11 -0
  13. data/lib/reddy/graph.rb +327 -0
  14. data/lib/reddy/literal.rb +340 -0
  15. data/lib/reddy/n3_grammar.rb +2171 -0
  16. data/lib/reddy/n3_grammar.treetop +143 -0
  17. data/lib/reddy/n3parser.rb +151 -0
  18. data/lib/reddy/namespace.rb +82 -0
  19. data/lib/reddy/nokogiri_hacks.rb +8 -0
  20. data/lib/reddy/parser.rb +127 -0
  21. data/lib/reddy/rdfaparser.rb +398 -0
  22. data/lib/reddy/rdfxmlparser.rb +529 -0
  23. data/lib/reddy/store/abstract_store.rb +64 -0
  24. data/lib/reddy/store/list_store.rb +61 -0
  25. data/lib/reddy/store/memory_store.rb +349 -0
  26. data/lib/reddy/string_hacks.rb +108 -0
  27. data/lib/reddy/triple.rb +144 -0
  28. data/lib/reddy/uriref.rb +95 -0
  29. data/script/console +10 -0
  30. data/spec/bnode_spec.rb +58 -0
  31. data/spec/conjunctive_graph_spec.rb +59 -0
  32. data/spec/graph_spec.rb +390 -0
  33. data/spec/literal_spec.rb +314 -0
  34. data/spec/matchers.rb +148 -0
  35. data/spec/n3parser_spec.rb +229 -0
  36. data/spec/namespaces_spec.rb +66 -0
  37. data/spec/ntriples/test.nt +78 -0
  38. data/spec/parser_spec.rb +29 -0
  39. data/spec/rdfa-triples/0001.nt +1 -0
  40. data/spec/rdfa-triples/0006.nt +2 -0
  41. data/spec/rdfa-triples/0007.nt +3 -0
  42. data/spec/rdfa-triples/0008.nt +1 -0
  43. data/spec/rdfa-triples/0009.nt +1 -0
  44. data/spec/rdfa-triples/0010.nt +2 -0
  45. data/spec/rdfa-triples/0011.nt +3 -0
  46. data/spec/rdfa-triples/0012.nt +1 -0
  47. data/spec/rdfa-triples/0013.nt +1 -0
  48. data/spec/rdfa-triples/0014.nt +1 -0
  49. data/spec/rdfa-triples/0015.nt +2 -0
  50. data/spec/rdfa-triples/0017.nt +3 -0
  51. data/spec/rdfa-triples/0018.nt +1 -0
  52. data/spec/rdfa-triples/0019.nt +1 -0
  53. data/spec/rdfa-triples/0020.nt +1 -0
  54. data/spec/rdfa-triples/0021.nt +1 -0
  55. data/spec/rdfa-triples/0023.nt +1 -0
  56. data/spec/rdfa-triples/0025.nt +2 -0
  57. data/spec/rdfa-triples/0026.nt +1 -0
  58. data/spec/rdfa-triples/0027.nt +1 -0
  59. data/spec/rdfa-triples/0029.nt +1 -0
  60. data/spec/rdfa-triples/0030.nt +1 -0
  61. data/spec/rdfa-triples/0031.nt +1 -0
  62. data/spec/rdfa-triples/0032.nt +1 -0
  63. data/spec/rdfa-triples/0033.nt +2 -0
  64. data/spec/rdfa-triples/0034.nt +1 -0
  65. data/spec/rdfa-triples/0035.nt +1 -0
  66. data/spec/rdfa-triples/0036.nt +1 -0
  67. data/spec/rdfa-triples/0037.nt +1 -0
  68. data/spec/rdfa-triples/0038.nt +1 -0
  69. data/spec/rdfa-triples/0039.nt +1 -0
  70. data/spec/rdfa-triples/0040.nt +1 -0
  71. data/spec/rdfa-triples/0041.nt +1 -0
  72. data/spec/rdfa-triples/0042.nt +0 -0
  73. data/spec/rdfa-triples/0046.nt +3 -0
  74. data/spec/rdfa-triples/0047.nt +3 -0
  75. data/spec/rdfa-triples/0048.nt +3 -0
  76. data/spec/rdfa-triples/0049.nt +2 -0
  77. data/spec/rdfa-triples/0050.nt +2 -0
  78. data/spec/rdfa-triples/0051.nt +2 -0
  79. data/spec/rdfa-triples/0052.nt +1 -0
  80. data/spec/rdfa-triples/0053.nt +2 -0
  81. data/spec/rdfa-triples/0054.nt +2 -0
  82. data/spec/rdfa-triples/0055.nt +2 -0
  83. data/spec/rdfa-triples/0056.nt +3 -0
  84. data/spec/rdfa-triples/0057.nt +4 -0
  85. data/spec/rdfa-triples/0058.nt +6 -0
  86. data/spec/rdfa-triples/0059.nt +6 -0
  87. data/spec/rdfa-triples/0060.nt +2 -0
  88. data/spec/rdfa-triples/0061.nt +1 -0
  89. data/spec/rdfa-triples/0062.nt +1 -0
  90. data/spec/rdfa-triples/0063.nt +1 -0
  91. data/spec/rdfa-triples/0064.nt +1 -0
  92. data/spec/rdfa-triples/0065.nt +3 -0
  93. data/spec/rdfa-triples/0066.nt +1 -0
  94. data/spec/rdfa-triples/0067.nt +1 -0
  95. data/spec/rdfa-triples/0068.nt +1 -0
  96. data/spec/rdfa-triples/0069.nt +1 -0
  97. data/spec/rdfa-triples/0070.nt +1 -0
  98. data/spec/rdfa-triples/0071.nt +1 -0
  99. data/spec/rdfa-triples/0072.nt +1 -0
  100. data/spec/rdfa-triples/0073.nt +1 -0
  101. data/spec/rdfa-triples/0074.nt +1 -0
  102. data/spec/rdfa-triples/0075.nt +1 -0
  103. data/spec/rdfa-triples/0076.nt +23 -0
  104. data/spec/rdfa-triples/0077.nt +23 -0
  105. data/spec/rdfa-triples/0078.nt +6 -0
  106. data/spec/rdfa-triples/0079.nt +3 -0
  107. data/spec/rdfa-triples/0080.nt +1 -0
  108. data/spec/rdfa-triples/0081.nt +6 -0
  109. data/spec/rdfa-triples/0082.nt +8 -0
  110. data/spec/rdfa-triples/0083.nt +6 -0
  111. data/spec/rdfa-triples/0084.nt +8 -0
  112. data/spec/rdfa-triples/0085.nt +4 -0
  113. data/spec/rdfa-triples/0086.nt +0 -0
  114. data/spec/rdfa-triples/0087.nt +23 -0
  115. data/spec/rdfa-triples/0088.nt +3 -0
  116. data/spec/rdfa-triples/0089.nt +1 -0
  117. data/spec/rdfa-triples/0090.nt +1 -0
  118. data/spec/rdfa-triples/0091.nt +3 -0
  119. data/spec/rdfa-triples/0092.nt +3 -0
  120. data/spec/rdfa-triples/0093.nt +2 -0
  121. data/spec/rdfa-triples/0094.nt +3 -0
  122. data/spec/rdfa-triples/0099.nt +1 -0
  123. data/spec/rdfa-triples/0100.nt +3 -0
  124. data/spec/rdfa-triples/0101.nt +3 -0
  125. data/spec/rdfa-triples/0102.nt +1 -0
  126. data/spec/rdfa-triples/0103.nt +1 -0
  127. data/spec/rdfa-triples/0104.nt +3 -0
  128. data/spec/rdfa-triples/0105.nt +1 -0
  129. data/spec/rdfa-triples/0106.nt +1 -0
  130. data/spec/rdfa-triples/0107.nt +0 -0
  131. data/spec/rdfa-triples/0108.nt +1 -0
  132. data/spec/rdfa-triples/0109.nt +1 -0
  133. data/spec/rdfa-triples/0110.nt +1 -0
  134. data/spec/rdfa-triples/0111.nt +2 -0
  135. data/spec/rdfa-triples/0112.nt +1 -0
  136. data/spec/rdfa-triples/0113.nt +2 -0
  137. data/spec/rdfa-triples/0114.nt +3 -0
  138. data/spec/rdfa-triples/0115.nt +4 -0
  139. data/spec/rdfa-triples/0116.nt +2 -0
  140. data/spec/rdfa-triples/0117.nt +2 -0
  141. data/spec/rdfa-triples/0118.nt +1 -0
  142. data/spec/rdfa-triples/0119.nt +1 -0
  143. data/spec/rdfa-triples/0120.nt +1 -0
  144. data/spec/rdfa-triples/0121.nt +2 -0
  145. data/spec/rdfa-triples/0122.nt +1 -0
  146. data/spec/rdfa-triples/0123.nt +3 -0
  147. data/spec/rdfa-triples/0124.nt +4 -0
  148. data/spec/rdfa-triples/0125.nt +1 -0
  149. data/spec/rdfa-triples/0126.nt +3 -0
  150. data/spec/rdfa-triples/1001.nt +6 -0
  151. data/spec/rdfa_helper.rb +189 -0
  152. data/spec/rdfa_parser_spec.rb +130 -0
  153. data/spec/rdfcore/Manifest.rdf +5395 -0
  154. data/spec/rdfcore/amp-in-url/test001.nt +16 -0
  155. data/spec/rdfcore/amp-in-url/test001.rdf +40 -0
  156. data/spec/rdfcore/datatypes-intensional/test001.nt +18 -0
  157. data/spec/rdfcore/datatypes-intensional/test002.nt +18 -0
  158. data/spec/rdfcore/datatypes/test001.nt +15 -0
  159. data/spec/rdfcore/datatypes/test001.rdf +29 -0
  160. data/spec/rdfcore/datatypes/test002.nt +14 -0
  161. data/spec/rdfcore/datatypes/test002.rdf +27 -0
  162. data/spec/rdfcore/datatypes/test002b.nt +17 -0
  163. data/spec/rdfcore/datatypes/test003a.nt +16 -0
  164. data/spec/rdfcore/datatypes/test003b.nt +16 -0
  165. data/spec/rdfcore/datatypes/test005a.nt +16 -0
  166. data/spec/rdfcore/datatypes/test005b.nt +16 -0
  167. data/spec/rdfcore/datatypes/test006.nt +17 -0
  168. data/spec/rdfcore/datatypes/test008a.nt +15 -0
  169. data/spec/rdfcore/datatypes/test008b.nt +15 -0
  170. data/spec/rdfcore/datatypes/test009a.nt +15 -0
  171. data/spec/rdfcore/datatypes/test009b.nt +15 -0
  172. data/spec/rdfcore/datatypes/test010.nt +17 -0
  173. data/spec/rdfcore/datatypes/test011a.nt +17 -0
  174. data/spec/rdfcore/datatypes/test011b.nt +17 -0
  175. data/spec/rdfcore/horst-01/test001.rdf +38 -0
  176. data/spec/rdfcore/horst-01/test002.rdf +39 -0
  177. data/spec/rdfcore/horst-01/test003.rdf +40 -0
  178. data/spec/rdfcore/horst-01/test004.rdf +42 -0
  179. data/spec/rdfcore/pfps-10/test001a.nt +14 -0
  180. data/spec/rdfcore/pfps-10/test001b.nt +15 -0
  181. data/spec/rdfcore/rdf-charmod-literals/test001.nt +15 -0
  182. data/spec/rdfcore/rdf-charmod-literals/test001.rdf +34 -0
  183. data/spec/rdfcore/rdf-charmod-uris/test001.nt +14 -0
  184. data/spec/rdfcore/rdf-charmod-uris/test001.rdf +34 -0
  185. data/spec/rdfcore/rdf-charmod-uris/test002.nt +15 -0
  186. data/spec/rdfcore/rdf-charmod-uris/test002.rdf +33 -0
  187. data/spec/rdfcore/rdf-containers-syntax-vs-schema/error001.rdf +27 -0
  188. data/spec/rdfcore/rdf-containers-syntax-vs-schema/error002.rdf +34 -0
  189. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test001.nt +17 -0
  190. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test001.rdf +27 -0
  191. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test002.nt +19 -0
  192. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test002.rdf +37 -0
  193. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test003.nt +18 -0
  194. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test003.rdf +29 -0
  195. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test004.nt +29 -0
  196. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test004.rdf +33 -0
  197. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test006.nt +40 -0
  198. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test006.rdf +28 -0
  199. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test007.nt +20 -0
  200. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test007.rdf +32 -0
  201. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test008.nt +15 -0
  202. data/spec/rdfcore/rdf-containers-syntax-vs-schema/test008.rdf +28 -0
  203. data/spec/rdfcore/rdf-element-not-mandatory/test001.nt +10 -0
  204. data/spec/rdfcore/rdf-element-not-mandatory/test001.rdf +14 -0
  205. data/spec/rdfcore/rdf-ns-prefix-confusion/test0001.nt +14 -0
  206. data/spec/rdfcore/rdf-ns-prefix-confusion/test0001.rdf +35 -0
  207. data/spec/rdfcore/rdf-ns-prefix-confusion/test0003.nt +14 -0
  208. data/spec/rdfcore/rdf-ns-prefix-confusion/test0003.rdf +35 -0
  209. data/spec/rdfcore/rdf-ns-prefix-confusion/test0004.nt +14 -0
  210. data/spec/rdfcore/rdf-ns-prefix-confusion/test0004.rdf +34 -0
  211. data/spec/rdfcore/rdf-ns-prefix-confusion/test0005.nt +15 -0
  212. data/spec/rdfcore/rdf-ns-prefix-confusion/test0005.rdf +40 -0
  213. data/spec/rdfcore/rdf-ns-prefix-confusion/test0006.nt +14 -0
  214. data/spec/rdfcore/rdf-ns-prefix-confusion/test0006.rdf +32 -0
  215. data/spec/rdfcore/rdf-ns-prefix-confusion/test0009.nt +14 -0
  216. data/spec/rdfcore/rdf-ns-prefix-confusion/test0009.rdf +32 -0
  217. data/spec/rdfcore/rdf-ns-prefix-confusion/test0010.nt +14 -0
  218. data/spec/rdfcore/rdf-ns-prefix-confusion/test0010.rdf +38 -0
  219. data/spec/rdfcore/rdf-ns-prefix-confusion/test0011.nt +15 -0
  220. data/spec/rdfcore/rdf-ns-prefix-confusion/test0011.rdf +40 -0
  221. data/spec/rdfcore/rdf-ns-prefix-confusion/test0012.nt +15 -0
  222. data/spec/rdfcore/rdf-ns-prefix-confusion/test0012.rdf +40 -0
  223. data/spec/rdfcore/rdf-ns-prefix-confusion/test0013.nt +15 -0
  224. data/spec/rdfcore/rdf-ns-prefix-confusion/test0013.rdf +40 -0
  225. data/spec/rdfcore/rdf-ns-prefix-confusion/test0014.nt +15 -0
  226. data/spec/rdfcore/rdf-ns-prefix-confusion/test0014.rdf +42 -0
  227. data/spec/rdfcore/rdfms-abouteach/error001.rdf +35 -0
  228. data/spec/rdfcore/rdfms-abouteach/error002.rdf +35 -0
  229. data/spec/rdfcore/rdfms-difference-between-ID-and-about/error1.rdf +25 -0
  230. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test1.nt +14 -0
  231. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test1.rdf +22 -0
  232. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test2.nt +14 -0
  233. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test2.rdf +22 -0
  234. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test3.nt +14 -0
  235. data/spec/rdfcore/rdfms-difference-between-ID-and-about/test3.rdf +22 -0
  236. data/spec/rdfcore/rdfms-duplicate-member-props/test001.nt +17 -0
  237. data/spec/rdfcore/rdfms-duplicate-member-props/test001.rdf +30 -0
  238. data/spec/rdfcore/rdfms-empty-property-elements/error001.rdf +33 -0
  239. data/spec/rdfcore/rdfms-empty-property-elements/error002.rdf +33 -0
  240. data/spec/rdfcore/rdfms-empty-property-elements/error003.rdf +39 -0
  241. data/spec/rdfcore/rdfms-empty-property-elements/test001.nt +14 -0
  242. data/spec/rdfcore/rdfms-empty-property-elements/test001.rdf +33 -0
  243. data/spec/rdfcore/rdfms-empty-property-elements/test002.nt +14 -0
  244. data/spec/rdfcore/rdfms-empty-property-elements/test002.rdf +31 -0
  245. data/spec/rdfcore/rdfms-empty-property-elements/test003.nt +14 -0
  246. data/spec/rdfcore/rdfms-empty-property-elements/test003.rdf +32 -0
  247. data/spec/rdfcore/rdfms-empty-property-elements/test004.nt +14 -0
  248. data/spec/rdfcore/rdfms-empty-property-elements/test004.rdf +32 -0
  249. data/spec/rdfcore/rdfms-empty-property-elements/test005.nt +18 -0
  250. data/spec/rdfcore/rdfms-empty-property-elements/test005.rdf +32 -0
  251. data/spec/rdfcore/rdfms-empty-property-elements/test006.nt +18 -0
  252. data/spec/rdfcore/rdfms-empty-property-elements/test006.rdf +32 -0
  253. data/spec/rdfcore/rdfms-empty-property-elements/test007.nt +14 -0
  254. data/spec/rdfcore/rdfms-empty-property-elements/test007.rdf +32 -0
  255. data/spec/rdfcore/rdfms-empty-property-elements/test008.nt +14 -0
  256. data/spec/rdfcore/rdfms-empty-property-elements/test008.rdf +31 -0
  257. data/spec/rdfcore/rdfms-empty-property-elements/test009.nt +14 -0
  258. data/spec/rdfcore/rdfms-empty-property-elements/test009.rdf +32 -0
  259. data/spec/rdfcore/rdfms-empty-property-elements/test010.nt +14 -0
  260. data/spec/rdfcore/rdfms-empty-property-elements/test010.rdf +31 -0
  261. data/spec/rdfcore/rdfms-empty-property-elements/test011.nt +18 -0
  262. data/spec/rdfcore/rdfms-empty-property-elements/test011.rdf +30 -0
  263. data/spec/rdfcore/rdfms-empty-property-elements/test012.nt +18 -0
  264. data/spec/rdfcore/rdfms-empty-property-elements/test012.rdf +30 -0
  265. data/spec/rdfcore/rdfms-empty-property-elements/test013.nt +15 -0
  266. data/spec/rdfcore/rdfms-empty-property-elements/test013.rdf +35 -0
  267. data/spec/rdfcore/rdfms-empty-property-elements/test014.nt +15 -0
  268. data/spec/rdfcore/rdfms-empty-property-elements/test014.rdf +34 -0
  269. data/spec/rdfcore/rdfms-empty-property-elements/test015.nt +15 -0
  270. data/spec/rdfcore/rdfms-empty-property-elements/test015.rdf +38 -0
  271. data/spec/rdfcore/rdfms-empty-property-elements/test016.nt +14 -0
  272. data/spec/rdfcore/rdfms-empty-property-elements/test016.rdf +31 -0
  273. data/spec/rdfcore/rdfms-empty-property-elements/test017.nt +14 -0
  274. data/spec/rdfcore/rdfms-empty-property-elements/test017.rdf +38 -0
  275. data/spec/rdfcore/rdfms-identity-anon-resources/test001.nt +14 -0
  276. data/spec/rdfcore/rdfms-identity-anon-resources/test001.rdf +33 -0
  277. data/spec/rdfcore/rdfms-identity-anon-resources/test002.nt +15 -0
  278. data/spec/rdfcore/rdfms-identity-anon-resources/test002.rdf +33 -0
  279. data/spec/rdfcore/rdfms-identity-anon-resources/test003.nt +14 -0
  280. data/spec/rdfcore/rdfms-identity-anon-resources/test003.rdf +31 -0
  281. data/spec/rdfcore/rdfms-identity-anon-resources/test004.nt +15 -0
  282. data/spec/rdfcore/rdfms-identity-anon-resources/test004.rdf +33 -0
  283. data/spec/rdfcore/rdfms-identity-anon-resources/test005.nt +14 -0
  284. data/spec/rdfcore/rdfms-identity-anon-resources/test005.rdf +31 -0
  285. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test001.nt +19 -0
  286. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test001.rdf +29 -0
  287. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test002.nt +15 -0
  288. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test002.rdf +29 -0
  289. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test004.nt +18 -0
  290. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test004.rdf +29 -0
  291. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test005.nt +19 -0
  292. data/spec/rdfcore/rdfms-not-id-and-resource-attr/test005.rdf +29 -0
  293. data/spec/rdfcore/rdfms-para196/test001.nt +17 -0
  294. data/spec/rdfcore/rdfms-para196/test001.rdf +35 -0
  295. data/spec/rdfcore/rdfms-rdf-id/error001.rdf +26 -0
  296. data/spec/rdfcore/rdfms-rdf-id/error002.rdf +26 -0
  297. data/spec/rdfcore/rdfms-rdf-id/error003.rdf +29 -0
  298. data/spec/rdfcore/rdfms-rdf-id/error004.rdf +27 -0
  299. data/spec/rdfcore/rdfms-rdf-id/error005.rdf +31 -0
  300. data/spec/rdfcore/rdfms-rdf-id/error006.rdf +26 -0
  301. data/spec/rdfcore/rdfms-rdf-id/error007.rdf +29 -0
  302. data/spec/rdfcore/rdfms-rdf-names-use/error-001.rdf +23 -0
  303. data/spec/rdfcore/rdfms-rdf-names-use/error-002.rdf +23 -0
  304. data/spec/rdfcore/rdfms-rdf-names-use/error-003.rdf +23 -0
  305. data/spec/rdfcore/rdfms-rdf-names-use/error-004.rdf +23 -0
  306. data/spec/rdfcore/rdfms-rdf-names-use/error-005.rdf +23 -0
  307. data/spec/rdfcore/rdfms-rdf-names-use/error-006.rdf +23 -0
  308. data/spec/rdfcore/rdfms-rdf-names-use/error-007.rdf +23 -0
  309. data/spec/rdfcore/rdfms-rdf-names-use/error-008.rdf +23 -0
  310. data/spec/rdfcore/rdfms-rdf-names-use/error-009.rdf +23 -0
  311. data/spec/rdfcore/rdfms-rdf-names-use/error-010.rdf +23 -0
  312. data/spec/rdfcore/rdfms-rdf-names-use/error-011.rdf +25 -0
  313. data/spec/rdfcore/rdfms-rdf-names-use/error-012.rdf +25 -0
  314. data/spec/rdfcore/rdfms-rdf-names-use/error-013.rdf +25 -0
  315. data/spec/rdfcore/rdfms-rdf-names-use/error-014.rdf +25 -0
  316. data/spec/rdfcore/rdfms-rdf-names-use/error-015.rdf +25 -0
  317. data/spec/rdfcore/rdfms-rdf-names-use/error-016.rdf +25 -0
  318. data/spec/rdfcore/rdfms-rdf-names-use/error-017.rdf +25 -0
  319. data/spec/rdfcore/rdfms-rdf-names-use/error-018.rdf +25 -0
  320. data/spec/rdfcore/rdfms-rdf-names-use/error-019.rdf +25 -0
  321. data/spec/rdfcore/rdfms-rdf-names-use/error-020.rdf +25 -0
  322. data/spec/rdfcore/rdfms-rdf-names-use/test-001.nt +1 -0
  323. data/spec/rdfcore/rdfms-rdf-names-use/test-001.rdf +23 -0
  324. data/spec/rdfcore/rdfms-rdf-names-use/test-002.nt +1 -0
  325. data/spec/rdfcore/rdfms-rdf-names-use/test-002.rdf +23 -0
  326. data/spec/rdfcore/rdfms-rdf-names-use/test-003.nt +1 -0
  327. data/spec/rdfcore/rdfms-rdf-names-use/test-003.rdf +23 -0
  328. data/spec/rdfcore/rdfms-rdf-names-use/test-004.nt +1 -0
  329. data/spec/rdfcore/rdfms-rdf-names-use/test-004.rdf +23 -0
  330. data/spec/rdfcore/rdfms-rdf-names-use/test-005.nt +1 -0
  331. data/spec/rdfcore/rdfms-rdf-names-use/test-005.rdf +23 -0
  332. data/spec/rdfcore/rdfms-rdf-names-use/test-006.nt +1 -0
  333. data/spec/rdfcore/rdfms-rdf-names-use/test-006.rdf +23 -0
  334. data/spec/rdfcore/rdfms-rdf-names-use/test-007.nt +1 -0
  335. data/spec/rdfcore/rdfms-rdf-names-use/test-007.rdf +23 -0
  336. data/spec/rdfcore/rdfms-rdf-names-use/test-008.nt +1 -0
  337. data/spec/rdfcore/rdfms-rdf-names-use/test-008.rdf +23 -0
  338. data/spec/rdfcore/rdfms-rdf-names-use/test-009.nt +1 -0
  339. data/spec/rdfcore/rdfms-rdf-names-use/test-009.rdf +23 -0
  340. data/spec/rdfcore/rdfms-rdf-names-use/test-010.nt +1 -0
  341. data/spec/rdfcore/rdfms-rdf-names-use/test-010.rdf +23 -0
  342. data/spec/rdfcore/rdfms-rdf-names-use/test-011.nt +1 -0
  343. data/spec/rdfcore/rdfms-rdf-names-use/test-011.rdf +23 -0
  344. data/spec/rdfcore/rdfms-rdf-names-use/test-012.nt +1 -0
  345. data/spec/rdfcore/rdfms-rdf-names-use/test-012.rdf +23 -0
  346. data/spec/rdfcore/rdfms-rdf-names-use/test-013.nt +1 -0
  347. data/spec/rdfcore/rdfms-rdf-names-use/test-013.rdf +23 -0
  348. data/spec/rdfcore/rdfms-rdf-names-use/test-014.nt +1 -0
  349. data/spec/rdfcore/rdfms-rdf-names-use/test-014.rdf +23 -0
  350. data/spec/rdfcore/rdfms-rdf-names-use/test-015.nt +1 -0
  351. data/spec/rdfcore/rdfms-rdf-names-use/test-015.rdf +23 -0
  352. data/spec/rdfcore/rdfms-rdf-names-use/test-016.nt +1 -0
  353. data/spec/rdfcore/rdfms-rdf-names-use/test-016.rdf +23 -0
  354. data/spec/rdfcore/rdfms-rdf-names-use/test-017.nt +1 -0
  355. data/spec/rdfcore/rdfms-rdf-names-use/test-017.rdf +25 -0
  356. data/spec/rdfcore/rdfms-rdf-names-use/test-018.nt +1 -0
  357. data/spec/rdfcore/rdfms-rdf-names-use/test-018.rdf +25 -0
  358. data/spec/rdfcore/rdfms-rdf-names-use/test-019.nt +1 -0
  359. data/spec/rdfcore/rdfms-rdf-names-use/test-019.rdf +25 -0
  360. data/spec/rdfcore/rdfms-rdf-names-use/test-020.nt +1 -0
  361. data/spec/rdfcore/rdfms-rdf-names-use/test-020.rdf +25 -0
  362. data/spec/rdfcore/rdfms-rdf-names-use/test-021.nt +1 -0
  363. data/spec/rdfcore/rdfms-rdf-names-use/test-021.rdf +25 -0
  364. data/spec/rdfcore/rdfms-rdf-names-use/test-022.nt +1 -0
  365. data/spec/rdfcore/rdfms-rdf-names-use/test-022.rdf +25 -0
  366. data/spec/rdfcore/rdfms-rdf-names-use/test-023.nt +1 -0
  367. data/spec/rdfcore/rdfms-rdf-names-use/test-023.rdf +25 -0
  368. data/spec/rdfcore/rdfms-rdf-names-use/test-024.nt +1 -0
  369. data/spec/rdfcore/rdfms-rdf-names-use/test-024.rdf +25 -0
  370. data/spec/rdfcore/rdfms-rdf-names-use/test-025.nt +1 -0
  371. data/spec/rdfcore/rdfms-rdf-names-use/test-025.rdf +25 -0
  372. data/spec/rdfcore/rdfms-rdf-names-use/test-026.nt +1 -0
  373. data/spec/rdfcore/rdfms-rdf-names-use/test-026.rdf +25 -0
  374. data/spec/rdfcore/rdfms-rdf-names-use/test-027.nt +1 -0
  375. data/spec/rdfcore/rdfms-rdf-names-use/test-027.rdf +25 -0
  376. data/spec/rdfcore/rdfms-rdf-names-use/test-028.nt +1 -0
  377. data/spec/rdfcore/rdfms-rdf-names-use/test-028.rdf +25 -0
  378. data/spec/rdfcore/rdfms-rdf-names-use/test-029.nt +1 -0
  379. data/spec/rdfcore/rdfms-rdf-names-use/test-029.rdf +25 -0
  380. data/spec/rdfcore/rdfms-rdf-names-use/test-030.nt +1 -0
  381. data/spec/rdfcore/rdfms-rdf-names-use/test-030.rdf +25 -0
  382. data/spec/rdfcore/rdfms-rdf-names-use/test-031.nt +1 -0
  383. data/spec/rdfcore/rdfms-rdf-names-use/test-031.rdf +25 -0
  384. data/spec/rdfcore/rdfms-rdf-names-use/test-032.nt +1 -0
  385. data/spec/rdfcore/rdfms-rdf-names-use/test-032.rdf +24 -0
  386. data/spec/rdfcore/rdfms-rdf-names-use/test-033.nt +1 -0
  387. data/spec/rdfcore/rdfms-rdf-names-use/test-033.rdf +24 -0
  388. data/spec/rdfcore/rdfms-rdf-names-use/test-034.nt +1 -0
  389. data/spec/rdfcore/rdfms-rdf-names-use/test-034.rdf +24 -0
  390. data/spec/rdfcore/rdfms-rdf-names-use/test-035.nt +1 -0
  391. data/spec/rdfcore/rdfms-rdf-names-use/test-035.rdf +24 -0
  392. data/spec/rdfcore/rdfms-rdf-names-use/test-036.nt +1 -0
  393. data/spec/rdfcore/rdfms-rdf-names-use/test-036.rdf +24 -0
  394. data/spec/rdfcore/rdfms-rdf-names-use/test-037.nt +1 -0
  395. data/spec/rdfcore/rdfms-rdf-names-use/test-037.rdf +24 -0
  396. data/spec/rdfcore/rdfms-rdf-names-use/warn-001.nt +1 -0
  397. data/spec/rdfcore/rdfms-rdf-names-use/warn-001.rdf +23 -0
  398. data/spec/rdfcore/rdfms-rdf-names-use/warn-002.nt +1 -0
  399. data/spec/rdfcore/rdfms-rdf-names-use/warn-002.rdf +25 -0
  400. data/spec/rdfcore/rdfms-rdf-names-use/warn-003.nt +1 -0
  401. data/spec/rdfcore/rdfms-rdf-names-use/warn-003.rdf +24 -0
  402. data/spec/rdfcore/rdfms-reification-required/test001.nt +15 -0
  403. data/spec/rdfcore/rdfms-reification-required/test001.rdf +29 -0
  404. data/spec/rdfcore/rdfms-seq-representation/empty.nt +13 -0
  405. data/spec/rdfcore/rdfms-seq-representation/test001.nt +19 -0
  406. data/spec/rdfcore/rdfms-seq-representation/test001.rdf +33 -0
  407. data/spec/rdfcore/rdfms-seq-representation/test002.nt +14 -0
  408. data/spec/rdfcore/rdfms-seq-representation/test003a.nt +14 -0
  409. data/spec/rdfcore/rdfms-seq-representation/test003b.nt +14 -0
  410. data/spec/rdfcore/rdfms-seq-representation/test004.nt +14 -0
  411. data/spec/rdfcore/rdfms-syntax-incomplete/error001.rdf +26 -0
  412. data/spec/rdfcore/rdfms-syntax-incomplete/error002.rdf +26 -0
  413. data/spec/rdfcore/rdfms-syntax-incomplete/error003.rdf +29 -0
  414. data/spec/rdfcore/rdfms-syntax-incomplete/error004.rdf +25 -0
  415. data/spec/rdfcore/rdfms-syntax-incomplete/error005.rdf +25 -0
  416. data/spec/rdfcore/rdfms-syntax-incomplete/error006.rdf +28 -0
  417. data/spec/rdfcore/rdfms-syntax-incomplete/test001.nt +14 -0
  418. data/spec/rdfcore/rdfms-syntax-incomplete/test001.rdf +28 -0
  419. data/spec/rdfcore/rdfms-syntax-incomplete/test002.nt +19 -0
  420. data/spec/rdfcore/rdfms-syntax-incomplete/test002.rdf +38 -0
  421. data/spec/rdfcore/rdfms-syntax-incomplete/test003.nt +17 -0
  422. data/spec/rdfcore/rdfms-syntax-incomplete/test003.rdf +28 -0
  423. data/spec/rdfcore/rdfms-syntax-incomplete/test004.nt +21 -0
  424. data/spec/rdfcore/rdfms-syntax-incomplete/test004.rdf +36 -0
  425. data/spec/rdfcore/rdfms-uri-substructure/error001.nt +18 -0
  426. data/spec/rdfcore/rdfms-uri-substructure/test001.nt +17 -0
  427. data/spec/rdfcore/rdfms-uri-substructure/test001.rdf +29 -0
  428. data/spec/rdfcore/rdfms-xml-literal-namespaces/test001.nt +13 -0
  429. data/spec/rdfcore/rdfms-xml-literal-namespaces/test001.rdf +33 -0
  430. data/spec/rdfcore/rdfms-xml-literal-namespaces/test002.nt +14 -0
  431. data/spec/rdfcore/rdfms-xml-literal-namespaces/test002.rdf +47 -0
  432. data/spec/rdfcore/rdfms-xmllang/test001.nt +14 -0
  433. data/spec/rdfcore/rdfms-xmllang/test001.rdf +30 -0
  434. data/spec/rdfcore/rdfms-xmllang/test002.nt +14 -0
  435. data/spec/rdfcore/rdfms-xmllang/test002.rdf +29 -0
  436. data/spec/rdfcore/rdfms-xmllang/test003.nt +14 -0
  437. data/spec/rdfcore/rdfms-xmllang/test003.rdf +28 -0
  438. data/spec/rdfcore/rdfms-xmllang/test004.nt +14 -0
  439. data/spec/rdfcore/rdfms-xmllang/test004.rdf +28 -0
  440. data/spec/rdfcore/rdfms-xmllang/test005.nt +14 -0
  441. data/spec/rdfcore/rdfms-xmllang/test005.rdf +28 -0
  442. data/spec/rdfcore/rdfms-xmllang/test006.nt +14 -0
  443. data/spec/rdfcore/rdfms-xmllang/test006.rdf +29 -0
  444. data/spec/rdfcore/rdfms-xmllang/test007a.nt +14 -0
  445. data/spec/rdfcore/rdfms-xmllang/test007b.nt +14 -0
  446. data/spec/rdfcore/rdfms-xmllang/test007c.nt +14 -0
  447. data/spec/rdfcore/rdfs-container-membership-superProperty/not1C.rdf +13 -0
  448. data/spec/rdfcore/rdfs-container-membership-superProperty/not1P.rdf +14 -0
  449. data/spec/rdfcore/rdfs-domain-and-range/nonconclusions005.rdf +28 -0
  450. data/spec/rdfcore/rdfs-domain-and-range/nonconclusions006.rdf +28 -0
  451. data/spec/rdfcore/rdfs-domain-and-range/premises005.rdf +32 -0
  452. data/spec/rdfcore/rdfs-domain-and-range/premises006.rdf +32 -0
  453. data/spec/rdfcore/rdfs-domain-and-range/test001.nt +16 -0
  454. data/spec/rdfcore/rdfs-domain-and-range/test001.rdf +29 -0
  455. data/spec/rdfcore/rdfs-domain-and-range/test002.nt +16 -0
  456. data/spec/rdfcore/rdfs-domain-and-range/test002.rdf +29 -0
  457. data/spec/rdfcore/rdfs-entailment/test001.nt +16 -0
  458. data/spec/rdfcore/rdfs-entailment/test002.nt +15 -0
  459. data/spec/rdfcore/rdfs-no-cycles-in-subClassOf/test001.nt +18 -0
  460. data/spec/rdfcore/rdfs-no-cycles-in-subClassOf/test001.rdf +37 -0
  461. data/spec/rdfcore/rdfs-no-cycles-in-subPropertyOf/test001.nt +18 -0
  462. data/spec/rdfcore/rdfs-no-cycles-in-subPropertyOf/test001.rdf +40 -0
  463. data/spec/rdfcore/rdfs-subClassOf-a-Property/test001.nt +15 -0
  464. data/spec/rdfcore/rdfs-subPropertyOf-semantics/test001.nt +24 -0
  465. data/spec/rdfcore/rdfs-subPropertyOf-semantics/test002.nt +21 -0
  466. data/spec/rdfcore/statement-entailment/test001a.nt +12 -0
  467. data/spec/rdfcore/statement-entailment/test001b.nt +2 -0
  468. data/spec/rdfcore/statement-entailment/test002a.nt +2 -0
  469. data/spec/rdfcore/statement-entailment/test002b.nt +5 -0
  470. data/spec/rdfcore/tex-01/test001.rdf +34 -0
  471. data/spec/rdfcore/tex-01/test002.rdf +33 -0
  472. data/spec/rdfcore/unrecognised-xml-attributes/test001.nt +15 -0
  473. data/spec/rdfcore/unrecognised-xml-attributes/test001.rdf +31 -0
  474. data/spec/rdfcore/unrecognised-xml-attributes/test002.nt +14 -0
  475. data/spec/rdfcore/unrecognised-xml-attributes/test002.rdf +32 -0
  476. data/spec/rdfcore/xml-canon/test001.nt +16 -0
  477. data/spec/rdfcore/xml-canon/test001.rdf +28 -0
  478. data/spec/rdfcore/xmlbase/test001.nt +14 -0
  479. data/spec/rdfcore/xmlbase/test001.rdf +27 -0
  480. data/spec/rdfcore/xmlbase/test002.nt +14 -0
  481. data/spec/rdfcore/xmlbase/test002.rdf +28 -0
  482. data/spec/rdfcore/xmlbase/test003.nt +14 -0
  483. data/spec/rdfcore/xmlbase/test003.rdf +25 -0
  484. data/spec/rdfcore/xmlbase/test004.nt +18 -0
  485. data/spec/rdfcore/xmlbase/test004.rdf +27 -0
  486. data/spec/rdfcore/xmlbase/test006.nt +15 -0
  487. data/spec/rdfcore/xmlbase/test006.rdf +26 -0
  488. data/spec/rdfcore/xmlbase/test007.nt +14 -0
  489. data/spec/rdfcore/xmlbase/test007.rdf +25 -0
  490. data/spec/rdfcore/xmlbase/test008.nt +14 -0
  491. data/spec/rdfcore/xmlbase/test008.rdf +25 -0
  492. data/spec/rdfcore/xmlbase/test009.nt +14 -0
  493. data/spec/rdfcore/xmlbase/test009.rdf +26 -0
  494. data/spec/rdfcore/xmlbase/test010.nt +14 -0
  495. data/spec/rdfcore/xmlbase/test010.rdf +26 -0
  496. data/spec/rdfcore/xmlbase/test011.nt +14 -0
  497. data/spec/rdfcore/xmlbase/test011.rdf +27 -0
  498. data/spec/rdfcore/xmlbase/test013.nt +15 -0
  499. data/spec/rdfcore/xmlbase/test013.rdf +28 -0
  500. data/spec/rdfcore/xmlbase/test014.nt +15 -0
  501. data/spec/rdfcore/xmlbase/test014.rdf +28 -0
  502. data/spec/rdfcore/xmlsch-02/test001.rdf +34 -0
  503. data/spec/rdfcore/xmlsch-02/test002.rdf +34 -0
  504. data/spec/rdfcore/xmlsch-02/test003.rdf +37 -0
  505. data/spec/rdfcore_helper.rb +137 -0
  506. data/spec/rdfxml_spec.rb +349 -0
  507. data/spec/spec.opts +1 -0
  508. data/spec/spec_helper.rb +23 -0
  509. data/spec/store_spec.rb +205 -0
  510. data/spec/string_hacks_spec.rb +21 -0
  511. data/spec/triple_spec.rb +172 -0
  512. data/spec/uriref_spec.rb +117 -0
  513. data/test/longtests_spec.rb +25 -0
  514. data/test/n3_tests/lcsh/sh85062913.n3 +41 -0
  515. data/test/n3_tests/lcsh/sh85062913.nt +21 -0
  516. data/test/n3_tests/lcsh/sh85082139.n3 +157 -0
  517. data/test/n3_tests/lcsh/sh85082139.nt +79 -0
  518. data/test/n3_tests/lcsh/sh85118553.n3 +123 -0
  519. data/test/n3_tests/lcsh/sh85118553.nt +63 -0
  520. data/test/n3_tests/misc/on_now-01.n3 +30 -0
  521. data/test/n3_tests/misc/on_now-01.nt +15 -0
  522. data/test/n3_tests/n3p/simple-01.n3 +1 -0
  523. data/test/n3_tests/n3p/simple-01.nt +0 -0
  524. data/test/n3_tests/n3p/simple-02.n3 +4 -0
  525. data/test/n3_tests/n3p/simple-02.nt +0 -0
  526. data/test/n3_tests/n3p/simple-03.n3 +5 -0
  527. data/test/n3_tests/n3p/simple-03.nt +1 -0
  528. data/test/n3_tests/n3p/simple-04.n3 +6 -0
  529. data/test/n3_tests/n3p/simple-04.nt +3 -0
  530. data/test/n3_tests/n3p/simple-05.n3 +7 -0
  531. data/test/n3_tests/n3p/simple-05.nt +2 -0
  532. data/test/n3_tests/n3p/simple-06.n3 +6 -0
  533. data/test/n3_tests/n3p/simple-06.nt +4 -0
  534. data/test/n3_tests/n3p/simple-07.n3 +7 -0
  535. data/test/n3_tests/n3p/simple-07.nt +6 -0
  536. data/test/perf_test/test.rb +11 -0
  537. data/test/perf_test/tommorris.rdf +2267 -0
  538. data/test/rdf_tests/cc197bad-dc9c-440d-a5b5-d52ba2e14234.nt +24 -0
  539. data/test/rdf_tests/cc197bad-dc9c-440d-a5b5-d52ba2e14234.rdf +46 -0
  540. data/test/rdf_tests/tm_001.nt +1 -0
  541. data/test/rdf_tests/tm_001.rdf +7 -0
  542. data/test/rdf_tests/xml-literal-mixed.nt +7 -0
  543. data/test/rdf_tests/xml-literal-mixed.rdf +15 -0
  544. data/test/xml.rdf +6 -0
  545. metadata +698 -0
@@ -0,0 +1,2171 @@
1
+ # Autogenerated from a Treetop grammar. Edits may be lost.
2
+
3
+
4
+ module N3Grammer # :nodoc:all
5
+ include Treetop::Runtime
6
+
7
+ def root
8
+ @root || :document
9
+ end
10
+
11
+ def _nt_document
12
+ start_index = index
13
+ if node_cache[:document].has_key?(index)
14
+ cached = node_cache[:document][index]
15
+ @index = cached.interval.end if cached
16
+ return cached
17
+ end
18
+
19
+ r0 = _nt_statements
20
+
21
+ node_cache[:document][start_index] = r0
22
+
23
+ r0
24
+ end
25
+
26
+ module Statements0
27
+ end
28
+
29
+ module Statements1
30
+ end
31
+
32
+ def _nt_statements
33
+ start_index = index
34
+ if node_cache[:statements].has_key?(index)
35
+ cached = node_cache[:statements][index]
36
+ @index = cached.interval.end if cached
37
+ return cached
38
+ end
39
+
40
+ s0, i0 = [], index
41
+ loop do
42
+ i1 = index
43
+ r2 = _nt_space
44
+ if r2
45
+ r1 = r2
46
+ else
47
+ i3, s3 = index, []
48
+ i4 = index
49
+ r5 = _nt_statement
50
+ if r5
51
+ r4 = r5
52
+ else
53
+ r6 = _nt_directive
54
+ if r6
55
+ r4 = r6
56
+ else
57
+ @index = i4
58
+ r4 = nil
59
+ end
60
+ end
61
+ s3 << r4
62
+ if r4
63
+ s7, i7 = [], index
64
+ loop do
65
+ r8 = _nt_space
66
+ if r8
67
+ s7 << r8
68
+ else
69
+ break
70
+ end
71
+ end
72
+ r7 = instantiate_node(SyntaxNode,input, i7...index, s7)
73
+ s3 << r7
74
+ if r7
75
+ i10, s10 = index, []
76
+ if has_terminal?('.', false, index)
77
+ r11 = instantiate_node(SyntaxNode,input, index...(index + 1))
78
+ @index += 1
79
+ else
80
+ terminal_parse_failure('.')
81
+ r11 = nil
82
+ end
83
+ s10 << r11
84
+ if r11
85
+ s12, i12 = [], index
86
+ loop do
87
+ r13 = _nt_space
88
+ if r13
89
+ s12 << r13
90
+ else
91
+ break
92
+ end
93
+ end
94
+ r12 = instantiate_node(SyntaxNode,input, i12...index, s12)
95
+ s10 << r12
96
+ end
97
+ if s10.last
98
+ r10 = instantiate_node(SyntaxNode,input, i10...index, s10)
99
+ r10.extend(Statements0)
100
+ else
101
+ @index = i10
102
+ r10 = nil
103
+ end
104
+ if r10
105
+ r9 = r10
106
+ else
107
+ r9 = instantiate_node(SyntaxNode,input, index...index)
108
+ end
109
+ s3 << r9
110
+ end
111
+ end
112
+ if s3.last
113
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
114
+ r3.extend(Statements1)
115
+ else
116
+ @index = i3
117
+ r3 = nil
118
+ end
119
+ if r3
120
+ r1 = r3
121
+ else
122
+ @index = i1
123
+ r1 = nil
124
+ end
125
+ end
126
+ if r1
127
+ s0 << r1
128
+ else
129
+ break
130
+ end
131
+ end
132
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
133
+
134
+ node_cache[:statements][start_index] = r0
135
+
136
+ r0
137
+ end
138
+
139
+ module Statement0
140
+ def subject
141
+ elements[0]
142
+ end
143
+
144
+ def property_list
145
+ elements[2]
146
+ end
147
+ end
148
+
149
+ def _nt_statement
150
+ start_index = index
151
+ if node_cache[:statement].has_key?(index)
152
+ cached = node_cache[:statement][index]
153
+ @index = cached.interval.end if cached
154
+ return cached
155
+ end
156
+
157
+ i0, s0 = index, []
158
+ r1 = _nt_subject
159
+ s0 << r1
160
+ if r1
161
+ s2, i2 = [], index
162
+ loop do
163
+ r3 = _nt_space
164
+ if r3
165
+ s2 << r3
166
+ else
167
+ break
168
+ end
169
+ end
170
+ if s2.empty?
171
+ @index = i2
172
+ r2 = nil
173
+ else
174
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
175
+ end
176
+ s0 << r2
177
+ if r2
178
+ r4 = _nt_property_list
179
+ s0 << r4
180
+ end
181
+ end
182
+ if s0.last
183
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
184
+ r0.extend(Statement0)
185
+ else
186
+ @index = i0
187
+ r0 = nil
188
+ end
189
+
190
+ node_cache[:statement][start_index] = r0
191
+
192
+ r0
193
+ end
194
+
195
+ def _nt_subject
196
+ start_index = index
197
+ if node_cache[:subject].has_key?(index)
198
+ cached = node_cache[:subject][index]
199
+ @index = cached.interval.end if cached
200
+ return cached
201
+ end
202
+
203
+ r0 = _nt_node
204
+
205
+ node_cache[:subject][start_index] = r0
206
+
207
+ r0
208
+ end
209
+
210
+ module Verb0
211
+ def prop
212
+ elements[1]
213
+ end
214
+
215
+ end
216
+
217
+ module Verb1
218
+ def prop
219
+ elements[1]
220
+ end
221
+
222
+ end
223
+
224
+ def _nt_verb
225
+ start_index = index
226
+ if node_cache[:verb].has_key?(index)
227
+ cached = node_cache[:verb][index]
228
+ @index = cached.interval.end if cached
229
+ return cached
230
+ end
231
+
232
+ i0 = index
233
+ i1, s1 = index, []
234
+ if has_terminal?(">-", false, index)
235
+ r2 = instantiate_node(SyntaxNode,input, index...(index + 2))
236
+ @index += 2
237
+ else
238
+ terminal_parse_failure(">-")
239
+ r2 = nil
240
+ end
241
+ s1 << r2
242
+ if r2
243
+ r3 = _nt_prop
244
+ s1 << r3
245
+ if r3
246
+ if has_terminal?("->", false, index)
247
+ r4 = instantiate_node(SyntaxNode,input, index...(index + 2))
248
+ @index += 2
249
+ else
250
+ terminal_parse_failure("->")
251
+ r4 = nil
252
+ end
253
+ s1 << r4
254
+ end
255
+ end
256
+ if s1.last
257
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
258
+ r1.extend(Verb0)
259
+ else
260
+ @index = i1
261
+ r1 = nil
262
+ end
263
+ if r1
264
+ r0 = r1
265
+ else
266
+ i5, s5 = index, []
267
+ if has_terminal?("<-", false, index)
268
+ r6 = instantiate_node(SyntaxNode,input, index...(index + 2))
269
+ @index += 2
270
+ else
271
+ terminal_parse_failure("<-")
272
+ r6 = nil
273
+ end
274
+ s5 << r6
275
+ if r6
276
+ r7 = _nt_prop
277
+ s5 << r7
278
+ if r7
279
+ if has_terminal?("<-", false, index)
280
+ r8 = instantiate_node(SyntaxNode,input, index...(index + 2))
281
+ @index += 2
282
+ else
283
+ terminal_parse_failure("<-")
284
+ r8 = nil
285
+ end
286
+ s5 << r8
287
+ end
288
+ end
289
+ if s5.last
290
+ r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
291
+ r5.extend(Verb1)
292
+ else
293
+ @index = i5
294
+ r5 = nil
295
+ end
296
+ if r5
297
+ r0 = r5
298
+ else
299
+ r9 = _nt_prop
300
+ if r9
301
+ r0 = r9
302
+ else
303
+ if has_terminal?("a", false, index)
304
+ r10 = instantiate_node(SyntaxNode,input, index...(index + 1))
305
+ @index += 1
306
+ else
307
+ terminal_parse_failure("a")
308
+ r10 = nil
309
+ end
310
+ if r10
311
+ r0 = r10
312
+ else
313
+ @index = i0
314
+ r0 = nil
315
+ end
316
+ end
317
+ end
318
+ end
319
+
320
+ node_cache[:verb][start_index] = r0
321
+
322
+ r0
323
+ end
324
+
325
+ def _nt_prop
326
+ start_index = index
327
+ if node_cache[:prop].has_key?(index)
328
+ cached = node_cache[:prop][index]
329
+ @index = cached.interval.end if cached
330
+ return cached
331
+ end
332
+
333
+ r0 = _nt_node
334
+
335
+ node_cache[:prop][start_index] = r0
336
+
337
+ r0
338
+ end
339
+
340
+ def _nt_node
341
+ start_index = index
342
+ if node_cache[:node].has_key?(index)
343
+ cached = node_cache[:node][index]
344
+ @index = cached.interval.end if cached
345
+ return cached
346
+ end
347
+
348
+ i0 = index
349
+ r1 = _nt_uri_ref
350
+ if r1
351
+ r0 = r1
352
+ else
353
+ r2 = _nt_anonnode
354
+ if r2
355
+ r0 = r2
356
+ else
357
+ if has_terminal?('this', false, index)
358
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 4))
359
+ @index += 4
360
+ else
361
+ terminal_parse_failure('this')
362
+ r3 = nil
363
+ end
364
+ if r3
365
+ r0 = r3
366
+ else
367
+ @index = i0
368
+ r0 = nil
369
+ end
370
+ end
371
+ end
372
+
373
+ node_cache[:node][start_index] = r0
374
+
375
+ r0
376
+ end
377
+
378
+ module Anonnode0
379
+ def property_list
380
+ elements[2]
381
+ end
382
+
383
+ end
384
+
385
+ module Anonnode1
386
+ def statementlist
387
+ elements[1]
388
+ end
389
+
390
+ end
391
+
392
+ module Anonnode2
393
+ def nodelist
394
+ elements[1]
395
+ end
396
+
397
+ end
398
+
399
+ module Anonnode3
400
+ def anonnode; true; end
401
+ end
402
+
403
+ def _nt_anonnode
404
+ start_index = index
405
+ if node_cache[:anonnode].has_key?(index)
406
+ cached = node_cache[:anonnode][index]
407
+ @index = cached.interval.end if cached
408
+ return cached
409
+ end
410
+
411
+ i0 = index
412
+ i1, s1 = index, []
413
+ if has_terminal?("[", false, index)
414
+ r2 = instantiate_node(SyntaxNode,input, index...(index + 1))
415
+ @index += 1
416
+ else
417
+ terminal_parse_failure("[")
418
+ r2 = nil
419
+ end
420
+ s1 << r2
421
+ if r2
422
+ s3, i3 = [], index
423
+ loop do
424
+ r4 = _nt_space
425
+ if r4
426
+ s3 << r4
427
+ else
428
+ break
429
+ end
430
+ end
431
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
432
+ s1 << r3
433
+ if r3
434
+ r5 = _nt_property_list
435
+ s1 << r5
436
+ if r5
437
+ s6, i6 = [], index
438
+ loop do
439
+ r7 = _nt_space
440
+ if r7
441
+ s6 << r7
442
+ else
443
+ break
444
+ end
445
+ end
446
+ r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
447
+ s1 << r6
448
+ if r6
449
+ if has_terminal?("]", false, index)
450
+ r8 = instantiate_node(SyntaxNode,input, index...(index + 1))
451
+ @index += 1
452
+ else
453
+ terminal_parse_failure("]")
454
+ r8 = nil
455
+ end
456
+ s1 << r8
457
+ end
458
+ end
459
+ end
460
+ end
461
+ if s1.last
462
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
463
+ r1.extend(Anonnode0)
464
+ else
465
+ @index = i1
466
+ r1 = nil
467
+ end
468
+ if r1
469
+ r0 = r1
470
+ else
471
+ i9, s9 = index, []
472
+ if has_terminal?("{", false, index)
473
+ r10 = instantiate_node(SyntaxNode,input, index...(index + 1))
474
+ @index += 1
475
+ else
476
+ terminal_parse_failure("{")
477
+ r10 = nil
478
+ end
479
+ s9 << r10
480
+ if r10
481
+ r11 = _nt_statementlist
482
+ s9 << r11
483
+ if r11
484
+ if has_terminal?("}", false, index)
485
+ r12 = instantiate_node(SyntaxNode,input, index...(index + 1))
486
+ @index += 1
487
+ else
488
+ terminal_parse_failure("}")
489
+ r12 = nil
490
+ end
491
+ s9 << r12
492
+ end
493
+ end
494
+ if s9.last
495
+ r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
496
+ r9.extend(Anonnode1)
497
+ else
498
+ @index = i9
499
+ r9 = nil
500
+ end
501
+ if r9
502
+ r0 = r9
503
+ else
504
+ i13, s13 = index, []
505
+ if has_terminal?("(", false, index)
506
+ r14 = instantiate_node(SyntaxNode,input, index...(index + 1))
507
+ @index += 1
508
+ else
509
+ terminal_parse_failure("(")
510
+ r14 = nil
511
+ end
512
+ s13 << r14
513
+ if r14
514
+ r15 = _nt_nodelist
515
+ s13 << r15
516
+ if r15
517
+ if has_terminal?(")", false, index)
518
+ r16 = instantiate_node(SyntaxNode,input, index...(index + 1))
519
+ @index += 1
520
+ else
521
+ terminal_parse_failure(")")
522
+ r16 = nil
523
+ end
524
+ s13 << r16
525
+ end
526
+ end
527
+ if s13.last
528
+ r13 = instantiate_node(SyntaxNode,input, i13...index, s13)
529
+ r13.extend(Anonnode2)
530
+ r13.extend(Anonnode3)
531
+ else
532
+ @index = i13
533
+ r13 = nil
534
+ end
535
+ if r13
536
+ r0 = r13
537
+ else
538
+ @index = i0
539
+ r0 = nil
540
+ end
541
+ end
542
+ end
543
+
544
+ node_cache[:anonnode][start_index] = r0
545
+
546
+ r0
547
+ end
548
+
549
+ module PropertyList0
550
+ def verb
551
+ elements[0]
552
+ end
553
+
554
+ def object_list
555
+ elements[2]
556
+ end
557
+
558
+ def property_list
559
+ elements[6]
560
+ end
561
+ end
562
+
563
+ module PropertyList1
564
+ def verb
565
+ elements[0]
566
+ end
567
+
568
+ def object_list
569
+ elements[2]
570
+ end
571
+ end
572
+
573
+ module PropertyList2
574
+ def anonnode
575
+ elements[1]
576
+ end
577
+ end
578
+
579
+ module PropertyList3
580
+ def anonnode
581
+ elements[1]
582
+ end
583
+
584
+ def property_list
585
+ elements[3]
586
+ end
587
+ end
588
+
589
+ def _nt_property_list
590
+ start_index = index
591
+ if node_cache[:property_list].has_key?(index)
592
+ cached = node_cache[:property_list][index]
593
+ @index = cached.interval.end if cached
594
+ return cached
595
+ end
596
+
597
+ i0 = index
598
+ i1, s1 = index, []
599
+ r2 = _nt_verb
600
+ s1 << r2
601
+ if r2
602
+ s3, i3 = [], index
603
+ loop do
604
+ r4 = _nt_space
605
+ if r4
606
+ s3 << r4
607
+ else
608
+ break
609
+ end
610
+ end
611
+ if s3.empty?
612
+ @index = i3
613
+ r3 = nil
614
+ else
615
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
616
+ end
617
+ s1 << r3
618
+ if r3
619
+ r5 = _nt_object_list
620
+ s1 << r5
621
+ if r5
622
+ s6, i6 = [], index
623
+ loop do
624
+ r7 = _nt_space
625
+ if r7
626
+ s6 << r7
627
+ else
628
+ break
629
+ end
630
+ end
631
+ r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
632
+ s1 << r6
633
+ if r6
634
+ if has_terminal?(";", false, index)
635
+ r8 = instantiate_node(SyntaxNode,input, index...(index + 1))
636
+ @index += 1
637
+ else
638
+ terminal_parse_failure(";")
639
+ r8 = nil
640
+ end
641
+ s1 << r8
642
+ if r8
643
+ s9, i9 = [], index
644
+ loop do
645
+ r10 = _nt_space
646
+ if r10
647
+ s9 << r10
648
+ else
649
+ break
650
+ end
651
+ end
652
+ if s9.empty?
653
+ @index = i9
654
+ r9 = nil
655
+ else
656
+ r9 = instantiate_node(SyntaxNode,input, i9...index, s9)
657
+ end
658
+ s1 << r9
659
+ if r9
660
+ r11 = _nt_property_list
661
+ s1 << r11
662
+ end
663
+ end
664
+ end
665
+ end
666
+ end
667
+ end
668
+ if s1.last
669
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
670
+ r1.extend(PropertyList0)
671
+ else
672
+ @index = i1
673
+ r1 = nil
674
+ end
675
+ if r1
676
+ r0 = r1
677
+ else
678
+ i12, s12 = index, []
679
+ r13 = _nt_verb
680
+ s12 << r13
681
+ if r13
682
+ s14, i14 = [], index
683
+ loop do
684
+ r15 = _nt_space
685
+ if r15
686
+ s14 << r15
687
+ else
688
+ break
689
+ end
690
+ end
691
+ if s14.empty?
692
+ @index = i14
693
+ r14 = nil
694
+ else
695
+ r14 = instantiate_node(SyntaxNode,input, i14...index, s14)
696
+ end
697
+ s12 << r14
698
+ if r14
699
+ r16 = _nt_object_list
700
+ s12 << r16
701
+ end
702
+ end
703
+ if s12.last
704
+ r12 = instantiate_node(SyntaxNode,input, i12...index, s12)
705
+ r12.extend(PropertyList1)
706
+ else
707
+ @index = i12
708
+ r12 = nil
709
+ end
710
+ if r12
711
+ r0 = r12
712
+ else
713
+ i17, s17 = index, []
714
+ if has_terminal?(":-", false, index)
715
+ r18 = instantiate_node(SyntaxNode,input, index...(index + 2))
716
+ @index += 2
717
+ else
718
+ terminal_parse_failure(":-")
719
+ r18 = nil
720
+ end
721
+ s17 << r18
722
+ if r18
723
+ r19 = _nt_anonnode
724
+ s17 << r19
725
+ end
726
+ if s17.last
727
+ r17 = instantiate_node(SyntaxNode,input, i17...index, s17)
728
+ r17.extend(PropertyList2)
729
+ else
730
+ @index = i17
731
+ r17 = nil
732
+ end
733
+ if r17
734
+ r0 = r17
735
+ else
736
+ i20, s20 = index, []
737
+ if has_terminal?(":-", false, index)
738
+ r21 = instantiate_node(SyntaxNode,input, index...(index + 2))
739
+ @index += 2
740
+ else
741
+ terminal_parse_failure(":-")
742
+ r21 = nil
743
+ end
744
+ s20 << r21
745
+ if r21
746
+ r22 = _nt_anonnode
747
+ s20 << r22
748
+ if r22
749
+ if has_terminal?(";", false, index)
750
+ r23 = instantiate_node(SyntaxNode,input, index...(index + 1))
751
+ @index += 1
752
+ else
753
+ terminal_parse_failure(";")
754
+ r23 = nil
755
+ end
756
+ s20 << r23
757
+ if r23
758
+ r24 = _nt_property_list
759
+ s20 << r24
760
+ end
761
+ end
762
+ end
763
+ if s20.last
764
+ r20 = instantiate_node(SyntaxNode,input, i20...index, s20)
765
+ r20.extend(PropertyList3)
766
+ else
767
+ @index = i20
768
+ r20 = nil
769
+ end
770
+ if r20
771
+ r0 = r20
772
+ else
773
+ if has_terminal?('.', false, index)
774
+ r25 = instantiate_node(SyntaxNode,input, index...(index + 1))
775
+ @index += 1
776
+ else
777
+ terminal_parse_failure('.')
778
+ r25 = nil
779
+ end
780
+ if r25
781
+ r0 = r25
782
+ else
783
+ @index = i0
784
+ r0 = nil
785
+ end
786
+ end
787
+ end
788
+ end
789
+ end
790
+
791
+ node_cache[:property_list][start_index] = r0
792
+
793
+ r0
794
+ end
795
+
796
+ module ObjectList0
797
+ def object
798
+ elements[0]
799
+ end
800
+
801
+ def object_list
802
+ elements[3]
803
+ end
804
+ end
805
+
806
+ def _nt_object_list
807
+ start_index = index
808
+ if node_cache[:object_list].has_key?(index)
809
+ cached = node_cache[:object_list][index]
810
+ @index = cached.interval.end if cached
811
+ return cached
812
+ end
813
+
814
+ i0 = index
815
+ i1, s1 = index, []
816
+ r2 = _nt_object
817
+ s1 << r2
818
+ if r2
819
+ if has_terminal?(",", false, index)
820
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
821
+ @index += 1
822
+ else
823
+ terminal_parse_failure(",")
824
+ r3 = nil
825
+ end
826
+ s1 << r3
827
+ if r3
828
+ s4, i4 = [], index
829
+ loop do
830
+ r5 = _nt_space
831
+ if r5
832
+ s4 << r5
833
+ else
834
+ break
835
+ end
836
+ end
837
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
838
+ s1 << r4
839
+ if r4
840
+ r6 = _nt_object_list
841
+ s1 << r6
842
+ end
843
+ end
844
+ end
845
+ if s1.last
846
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
847
+ r1.extend(ObjectList0)
848
+ else
849
+ @index = i1
850
+ r1 = nil
851
+ end
852
+ if r1
853
+ r0 = r1
854
+ else
855
+ r7 = _nt_object
856
+ if r7
857
+ r0 = r7
858
+ else
859
+ @index = i0
860
+ r0 = nil
861
+ end
862
+ end
863
+
864
+ node_cache[:object_list][start_index] = r0
865
+
866
+ r0
867
+ end
868
+
869
+ module Directive0
870
+ def nprefix
871
+ elements[2]
872
+ end
873
+
874
+ def uri_ref
875
+ elements[5]
876
+ end
877
+ end
878
+
879
+ module Directive1
880
+ def directive; true; end
881
+ end
882
+
883
+ def _nt_directive
884
+ start_index = index
885
+ if node_cache[:directive].has_key?(index)
886
+ cached = node_cache[:directive][index]
887
+ @index = cached.interval.end if cached
888
+ return cached
889
+ end
890
+
891
+ i0, s0 = index, []
892
+ if has_terminal?('@prefix', false, index)
893
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 7))
894
+ @index += 7
895
+ else
896
+ terminal_parse_failure('@prefix')
897
+ r1 = nil
898
+ end
899
+ s0 << r1
900
+ if r1
901
+ s2, i2 = [], index
902
+ loop do
903
+ r3 = _nt_space
904
+ if r3
905
+ s2 << r3
906
+ else
907
+ break
908
+ end
909
+ end
910
+ if s2.empty?
911
+ @index = i2
912
+ r2 = nil
913
+ else
914
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
915
+ end
916
+ s0 << r2
917
+ if r2
918
+ r5 = _nt_nprefix
919
+ if r5
920
+ r4 = r5
921
+ else
922
+ r4 = instantiate_node(SyntaxNode,input, index...index)
923
+ end
924
+ s0 << r4
925
+ if r4
926
+ if has_terminal?(':', false, index)
927
+ r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
928
+ @index += 1
929
+ else
930
+ terminal_parse_failure(':')
931
+ r6 = nil
932
+ end
933
+ s0 << r6
934
+ if r6
935
+ s7, i7 = [], index
936
+ loop do
937
+ r8 = _nt_space
938
+ if r8
939
+ s7 << r8
940
+ else
941
+ break
942
+ end
943
+ end
944
+ if s7.empty?
945
+ @index = i7
946
+ r7 = nil
947
+ else
948
+ r7 = instantiate_node(SyntaxNode,input, i7...index, s7)
949
+ end
950
+ s0 << r7
951
+ if r7
952
+ r9 = _nt_uri_ref
953
+ s0 << r9
954
+ end
955
+ end
956
+ end
957
+ end
958
+ end
959
+ if s0.last
960
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
961
+ r0.extend(Directive0)
962
+ r0.extend(Directive1)
963
+ else
964
+ @index = i0
965
+ r0 = nil
966
+ end
967
+
968
+ node_cache[:directive][start_index] = r0
969
+
970
+ r0
971
+ end
972
+
973
+ module UriRef0
974
+ def uri
975
+ elements[1]
976
+ end
977
+
978
+ end
979
+
980
+ def _nt_uri_ref
981
+ start_index = index
982
+ if node_cache[:uri_ref].has_key?(index)
983
+ cached = node_cache[:uri_ref][index]
984
+ @index = cached.interval.end if cached
985
+ return cached
986
+ end
987
+
988
+ i0 = index
989
+ r1 = _nt_qname
990
+ if r1
991
+ r0 = r1
992
+ else
993
+ i2, s2 = index, []
994
+ if has_terminal?("<", false, index)
995
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
996
+ @index += 1
997
+ else
998
+ terminal_parse_failure("<")
999
+ r3 = nil
1000
+ end
1001
+ s2 << r3
1002
+ if r3
1003
+ r4 = _nt_URI_Reference
1004
+ s2 << r4
1005
+ if r4
1006
+ if has_terminal?(">", false, index)
1007
+ r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
1008
+ @index += 1
1009
+ else
1010
+ terminal_parse_failure(">")
1011
+ r5 = nil
1012
+ end
1013
+ s2 << r5
1014
+ end
1015
+ end
1016
+ if s2.last
1017
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1018
+ r2.extend(UriRef0)
1019
+ else
1020
+ @index = i2
1021
+ r2 = nil
1022
+ end
1023
+ if r2
1024
+ r0 = r2
1025
+ else
1026
+ @index = i0
1027
+ r0 = nil
1028
+ end
1029
+ end
1030
+
1031
+ node_cache[:uri_ref][start_index] = r0
1032
+
1033
+ r0
1034
+ end
1035
+
1036
+ module Qname0
1037
+ def nprefix
1038
+ elements[0]
1039
+ end
1040
+
1041
+ def localname
1042
+ elements[2]
1043
+ end
1044
+ end
1045
+
1046
+ module Qname1
1047
+ def localname
1048
+ elements[1]
1049
+ end
1050
+ end
1051
+
1052
+ def _nt_qname
1053
+ start_index = index
1054
+ if node_cache[:qname].has_key?(index)
1055
+ cached = node_cache[:qname][index]
1056
+ @index = cached.interval.end if cached
1057
+ return cached
1058
+ end
1059
+
1060
+ i0 = index
1061
+ i1, s1 = index, []
1062
+ r2 = _nt_nprefix
1063
+ s1 << r2
1064
+ if r2
1065
+ if has_terminal?(":", false, index)
1066
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
1067
+ @index += 1
1068
+ else
1069
+ terminal_parse_failure(":")
1070
+ r3 = nil
1071
+ end
1072
+ s1 << r3
1073
+ if r3
1074
+ r4 = _nt_localname
1075
+ s1 << r4
1076
+ end
1077
+ end
1078
+ if s1.last
1079
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1080
+ r1.extend(Qname0)
1081
+ else
1082
+ @index = i1
1083
+ r1 = nil
1084
+ end
1085
+ if r1
1086
+ r0 = r1
1087
+ else
1088
+ i5, s5 = index, []
1089
+ if has_terminal?(':', false, index)
1090
+ r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
1091
+ @index += 1
1092
+ else
1093
+ terminal_parse_failure(':')
1094
+ r6 = nil
1095
+ end
1096
+ s5 << r6
1097
+ if r6
1098
+ r7 = _nt_localname
1099
+ s5 << r7
1100
+ end
1101
+ if s5.last
1102
+ r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
1103
+ r5.extend(Qname1)
1104
+ else
1105
+ @index = i5
1106
+ r5 = nil
1107
+ end
1108
+ if r5
1109
+ r0 = r5
1110
+ else
1111
+ @index = i0
1112
+ r0 = nil
1113
+ end
1114
+ end
1115
+
1116
+ node_cache[:qname][start_index] = r0
1117
+
1118
+ r0
1119
+ end
1120
+
1121
+ def _nt_object
1122
+ start_index = index
1123
+ if node_cache[:object].has_key?(index)
1124
+ cached = node_cache[:object][index]
1125
+ @index = cached.interval.end if cached
1126
+ return cached
1127
+ end
1128
+
1129
+ i0 = index
1130
+ r1 = _nt_subject
1131
+ if r1
1132
+ r0 = r1
1133
+ else
1134
+ r2 = _nt_literal
1135
+ if r2
1136
+ r0 = r2
1137
+ else
1138
+ @index = i0
1139
+ r0 = nil
1140
+ end
1141
+ end
1142
+
1143
+ node_cache[:object][start_index] = r0
1144
+
1145
+ r0
1146
+ end
1147
+
1148
+ module Literal0
1149
+ def uri
1150
+ elements[1]
1151
+ end
1152
+
1153
+ end
1154
+
1155
+ module Literal1
1156
+ def language
1157
+ elements[1]
1158
+ end
1159
+ end
1160
+
1161
+ module Literal2
1162
+ end
1163
+
1164
+ def _nt_literal
1165
+ start_index = index
1166
+ if node_cache[:literal].has_key?(index)
1167
+ cached = node_cache[:literal][index]
1168
+ @index = cached.interval.end if cached
1169
+ return cached
1170
+ end
1171
+
1172
+ i0, s0 = index, []
1173
+ i1 = index
1174
+ r2 = _nt_string_single
1175
+ if r2
1176
+ r1 = r2
1177
+ else
1178
+ r3 = _nt_string_multi
1179
+ if r3
1180
+ r1 = r3
1181
+ else
1182
+ @index = i1
1183
+ r1 = nil
1184
+ end
1185
+ end
1186
+ s0 << r1
1187
+ if r1
1188
+ i5 = index
1189
+ i6, s6 = index, []
1190
+ if has_terminal?("^^<", false, index)
1191
+ r7 = instantiate_node(SyntaxNode,input, index...(index + 3))
1192
+ @index += 3
1193
+ else
1194
+ terminal_parse_failure("^^<")
1195
+ r7 = nil
1196
+ end
1197
+ s6 << r7
1198
+ if r7
1199
+ r8 = _nt_URI_Reference
1200
+ s6 << r8
1201
+ if r8
1202
+ if has_terminal?(">", false, index)
1203
+ r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
1204
+ @index += 1
1205
+ else
1206
+ terminal_parse_failure(">")
1207
+ r9 = nil
1208
+ end
1209
+ s6 << r9
1210
+ end
1211
+ end
1212
+ if s6.last
1213
+ r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
1214
+ r6.extend(Literal0)
1215
+ else
1216
+ @index = i6
1217
+ r6 = nil
1218
+ end
1219
+ if r6
1220
+ r5 = r6
1221
+ else
1222
+ i10, s10 = index, []
1223
+ if has_terminal?("@", false, index)
1224
+ r11 = instantiate_node(SyntaxNode,input, index...(index + 1))
1225
+ @index += 1
1226
+ else
1227
+ terminal_parse_failure("@")
1228
+ r11 = nil
1229
+ end
1230
+ s10 << r11
1231
+ if r11
1232
+ r12 = _nt_language
1233
+ s10 << r12
1234
+ end
1235
+ if s10.last
1236
+ r10 = instantiate_node(SyntaxNode,input, i10...index, s10)
1237
+ r10.extend(Literal1)
1238
+ else
1239
+ @index = i10
1240
+ r10 = nil
1241
+ end
1242
+ if r10
1243
+ r5 = r10
1244
+ else
1245
+ @index = i5
1246
+ r5 = nil
1247
+ end
1248
+ end
1249
+ if r5
1250
+ r4 = r5
1251
+ else
1252
+ r4 = instantiate_node(SyntaxNode,input, index...index)
1253
+ end
1254
+ s0 << r4
1255
+ end
1256
+ if s0.last
1257
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1258
+ r0.extend(Literal2)
1259
+ else
1260
+ @index = i0
1261
+ r0 = nil
1262
+ end
1263
+
1264
+ node_cache[:literal][start_index] = r0
1265
+
1266
+ r0
1267
+ end
1268
+
1269
+ module Language0
1270
+ end
1271
+
1272
+ module Language1
1273
+ end
1274
+
1275
+ def _nt_language
1276
+ start_index = index
1277
+ if node_cache[:language].has_key?(index)
1278
+ cached = node_cache[:language][index]
1279
+ @index = cached.interval.end if cached
1280
+ return cached
1281
+ end
1282
+
1283
+ i0, s0 = index, []
1284
+ s1, i1 = [], index
1285
+ loop do
1286
+ if has_terminal?('\G[a-z]', true, index)
1287
+ r2 = true
1288
+ @index += 1
1289
+ else
1290
+ r2 = nil
1291
+ end
1292
+ if r2
1293
+ s1 << r2
1294
+ else
1295
+ break
1296
+ end
1297
+ end
1298
+ if s1.empty?
1299
+ @index = i1
1300
+ r1 = nil
1301
+ else
1302
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1303
+ end
1304
+ s0 << r1
1305
+ if r1
1306
+ s3, i3 = [], index
1307
+ loop do
1308
+ i4, s4 = index, []
1309
+ if has_terminal?("-", false, index)
1310
+ r5 = instantiate_node(SyntaxNode,input, index...(index + 1))
1311
+ @index += 1
1312
+ else
1313
+ terminal_parse_failure("-")
1314
+ r5 = nil
1315
+ end
1316
+ s4 << r5
1317
+ if r5
1318
+ s6, i6 = [], index
1319
+ loop do
1320
+ if has_terminal?('\G[a-z0-9]', true, index)
1321
+ r7 = true
1322
+ @index += 1
1323
+ else
1324
+ r7 = nil
1325
+ end
1326
+ if r7
1327
+ s6 << r7
1328
+ else
1329
+ break
1330
+ end
1331
+ end
1332
+ if s6.empty?
1333
+ @index = i6
1334
+ r6 = nil
1335
+ else
1336
+ r6 = instantiate_node(SyntaxNode,input, i6...index, s6)
1337
+ end
1338
+ s4 << r6
1339
+ end
1340
+ if s4.last
1341
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
1342
+ r4.extend(Language0)
1343
+ else
1344
+ @index = i4
1345
+ r4 = nil
1346
+ end
1347
+ if r4
1348
+ s3 << r4
1349
+ else
1350
+ break
1351
+ end
1352
+ end
1353
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
1354
+ s0 << r3
1355
+ end
1356
+ if s0.last
1357
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1358
+ r0.extend(Language1)
1359
+ else
1360
+ @index = i0
1361
+ r0 = nil
1362
+ end
1363
+
1364
+ node_cache[:language][start_index] = r0
1365
+
1366
+ r0
1367
+ end
1368
+
1369
+ def _nt_localname
1370
+ start_index = index
1371
+ if node_cache[:localname].has_key?(index)
1372
+ cached = node_cache[:localname][index]
1373
+ @index = cached.interval.end if cached
1374
+ return cached
1375
+ end
1376
+
1377
+ r0 = _nt_fragid
1378
+
1379
+ node_cache[:localname][start_index] = r0
1380
+
1381
+ r0
1382
+ end
1383
+
1384
+ def _nt_URI_Reference
1385
+ start_index = index
1386
+ if node_cache[:URI_Reference].has_key?(index)
1387
+ cached = node_cache[:URI_Reference][index]
1388
+ @index = cached.interval.end if cached
1389
+ return cached
1390
+ end
1391
+
1392
+ s0, i0 = [], index
1393
+ loop do
1394
+ if has_terminal?('\G[^{}<>]', true, index)
1395
+ r1 = true
1396
+ @index += 1
1397
+ else
1398
+ r1 = nil
1399
+ end
1400
+ if r1
1401
+ s0 << r1
1402
+ else
1403
+ break
1404
+ end
1405
+ end
1406
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1407
+
1408
+ node_cache[:URI_Reference][start_index] = r0
1409
+
1410
+ r0
1411
+ end
1412
+
1413
+ module Nprefix0
1414
+ end
1415
+
1416
+ def _nt_nprefix
1417
+ start_index = index
1418
+ if node_cache[:nprefix].has_key?(index)
1419
+ cached = node_cache[:nprefix][index]
1420
+ @index = cached.interval.end if cached
1421
+ return cached
1422
+ end
1423
+
1424
+ i0, s0 = index, []
1425
+ i1 = index
1426
+ r2 = _nt_alpha
1427
+ if r2
1428
+ r1 = r2
1429
+ else
1430
+ if has_terminal?("_", false, index)
1431
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
1432
+ @index += 1
1433
+ else
1434
+ terminal_parse_failure("_")
1435
+ r3 = nil
1436
+ end
1437
+ if r3
1438
+ r1 = r3
1439
+ else
1440
+ @index = i1
1441
+ r1 = nil
1442
+ end
1443
+ end
1444
+ s0 << r1
1445
+ if r1
1446
+ s4, i4 = [], index
1447
+ loop do
1448
+ r5 = _nt_alphanumeric
1449
+ if r5
1450
+ s4 << r5
1451
+ else
1452
+ break
1453
+ end
1454
+ end
1455
+ r4 = instantiate_node(SyntaxNode,input, i4...index, s4)
1456
+ s0 << r4
1457
+ end
1458
+ if s0.last
1459
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1460
+ r0.extend(Nprefix0)
1461
+ else
1462
+ @index = i0
1463
+ r0 = nil
1464
+ end
1465
+
1466
+ node_cache[:nprefix][start_index] = r0
1467
+
1468
+ r0
1469
+ end
1470
+
1471
+ module Fragid0
1472
+ def alpha
1473
+ elements[0]
1474
+ end
1475
+
1476
+ end
1477
+
1478
+ def _nt_fragid
1479
+ start_index = index
1480
+ if node_cache[:fragid].has_key?(index)
1481
+ cached = node_cache[:fragid][index]
1482
+ @index = cached.interval.end if cached
1483
+ return cached
1484
+ end
1485
+
1486
+ i0, s0 = index, []
1487
+ r1 = _nt_alpha
1488
+ s0 << r1
1489
+ if r1
1490
+ s2, i2 = [], index
1491
+ loop do
1492
+ r3 = _nt_alphanumeric
1493
+ if r3
1494
+ s2 << r3
1495
+ else
1496
+ break
1497
+ end
1498
+ end
1499
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1500
+ s0 << r2
1501
+ end
1502
+ if s0.last
1503
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1504
+ r0.extend(Fragid0)
1505
+ else
1506
+ @index = i0
1507
+ r0 = nil
1508
+ end
1509
+
1510
+ node_cache[:fragid][start_index] = r0
1511
+
1512
+ r0
1513
+ end
1514
+
1515
+ def _nt_alpha
1516
+ start_index = index
1517
+ if node_cache[:alpha].has_key?(index)
1518
+ cached = node_cache[:alpha][index]
1519
+ @index = cached.interval.end if cached
1520
+ return cached
1521
+ end
1522
+
1523
+ if has_terminal?('\G[a-zA-Z]', true, index)
1524
+ r0 = instantiate_node(SyntaxNode,input, index...(index + 1))
1525
+ @index += 1
1526
+ else
1527
+ r0 = nil
1528
+ end
1529
+
1530
+ node_cache[:alpha][start_index] = r0
1531
+
1532
+ r0
1533
+ end
1534
+
1535
+ def _nt_alphanumeric
1536
+ start_index = index
1537
+ if node_cache[:alphanumeric].has_key?(index)
1538
+ cached = node_cache[:alphanumeric][index]
1539
+ @index = cached.interval.end if cached
1540
+ return cached
1541
+ end
1542
+
1543
+ i0 = index
1544
+ r1 = _nt_alpha
1545
+ if r1
1546
+ r0 = r1
1547
+ else
1548
+ if has_terminal?('\G[0-9]', true, index)
1549
+ r2 = true
1550
+ @index += 1
1551
+ else
1552
+ r2 = nil
1553
+ end
1554
+ if r2
1555
+ r0 = r2
1556
+ else
1557
+ if has_terminal?("_", false, index)
1558
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
1559
+ @index += 1
1560
+ else
1561
+ terminal_parse_failure("_")
1562
+ r3 = nil
1563
+ end
1564
+ if r3
1565
+ r0 = r3
1566
+ else
1567
+ @index = i0
1568
+ r0 = nil
1569
+ end
1570
+ end
1571
+ end
1572
+
1573
+ node_cache[:alphanumeric][start_index] = r0
1574
+
1575
+ r0
1576
+ end
1577
+
1578
+ def _nt_space
1579
+ start_index = index
1580
+ if node_cache[:space].has_key?(index)
1581
+ cached = node_cache[:space][index]
1582
+ @index = cached.interval.end if cached
1583
+ return cached
1584
+ end
1585
+
1586
+ i0 = index
1587
+ s1, i1 = [], index
1588
+ loop do
1589
+ if has_terminal?('\G[ \\t\\n\\r]', true, index)
1590
+ r2 = true
1591
+ @index += 1
1592
+ else
1593
+ r2 = nil
1594
+ end
1595
+ if r2
1596
+ s1 << r2
1597
+ else
1598
+ break
1599
+ end
1600
+ end
1601
+ if s1.empty?
1602
+ @index = i1
1603
+ r1 = nil
1604
+ else
1605
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1606
+ end
1607
+ if r1
1608
+ r0 = r1
1609
+ else
1610
+ r3 = _nt_comment
1611
+ if r3
1612
+ r0 = r3
1613
+ else
1614
+ @index = i0
1615
+ r0 = nil
1616
+ end
1617
+ end
1618
+
1619
+ node_cache[:space][start_index] = r0
1620
+
1621
+ r0
1622
+ end
1623
+
1624
+ module Comment0
1625
+ end
1626
+
1627
+ module Comment1
1628
+ end
1629
+
1630
+ def _nt_comment
1631
+ start_index = index
1632
+ if node_cache[:comment].has_key?(index)
1633
+ cached = node_cache[:comment][index]
1634
+ @index = cached.interval.end if cached
1635
+ return cached
1636
+ end
1637
+
1638
+ i0, s0 = index, []
1639
+ if has_terminal?('#', false, index)
1640
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 1))
1641
+ @index += 1
1642
+ else
1643
+ terminal_parse_failure('#')
1644
+ r1 = nil
1645
+ end
1646
+ s0 << r1
1647
+ if r1
1648
+ s2, i2 = [], index
1649
+ loop do
1650
+ i3, s3 = index, []
1651
+ i4 = index
1652
+ if has_terminal?('\G[\\n\\r]', true, index)
1653
+ r5 = true
1654
+ @index += 1
1655
+ else
1656
+ r5 = nil
1657
+ end
1658
+ if r5
1659
+ r4 = nil
1660
+ else
1661
+ @index = i4
1662
+ r4 = instantiate_node(SyntaxNode,input, index...index)
1663
+ end
1664
+ s3 << r4
1665
+ if r4
1666
+ if index < input_length
1667
+ r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
1668
+ @index += 1
1669
+ else
1670
+ terminal_parse_failure("any character")
1671
+ r6 = nil
1672
+ end
1673
+ s3 << r6
1674
+ end
1675
+ if s3.last
1676
+ r3 = instantiate_node(SyntaxNode,input, i3...index, s3)
1677
+ r3.extend(Comment0)
1678
+ else
1679
+ @index = i3
1680
+ r3 = nil
1681
+ end
1682
+ if r3
1683
+ s2 << r3
1684
+ else
1685
+ break
1686
+ end
1687
+ end
1688
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
1689
+ s0 << r2
1690
+ end
1691
+ if s0.last
1692
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
1693
+ r0.extend(Comment1)
1694
+ else
1695
+ @index = i0
1696
+ r0 = nil
1697
+ end
1698
+
1699
+ node_cache[:comment][start_index] = r0
1700
+
1701
+ r0
1702
+ end
1703
+
1704
+ module StringSingle0
1705
+ end
1706
+
1707
+ module StringSingle1
1708
+ end
1709
+
1710
+ def _nt_string_single
1711
+ start_index = index
1712
+ if node_cache[:string_single].has_key?(index)
1713
+ cached = node_cache[:string_single][index]
1714
+ @index = cached.interval.end if cached
1715
+ return cached
1716
+ end
1717
+
1718
+ i0 = index
1719
+ i1, s1 = index, []
1720
+ if has_terminal?('""', false, index)
1721
+ r2 = instantiate_node(SyntaxNode,input, index...(index + 2))
1722
+ @index += 2
1723
+ else
1724
+ terminal_parse_failure('""')
1725
+ r2 = nil
1726
+ end
1727
+ s1 << r2
1728
+ if r2
1729
+ i3 = index
1730
+ if has_terminal?('\G["]', true, index)
1731
+ r4 = true
1732
+ @index += 1
1733
+ else
1734
+ r4 = nil
1735
+ end
1736
+ if r4
1737
+ r3 = nil
1738
+ else
1739
+ @index = i3
1740
+ r3 = instantiate_node(SyntaxNode,input, index...index)
1741
+ end
1742
+ s1 << r3
1743
+ end
1744
+ if s1.last
1745
+ r1 = instantiate_node(SyntaxNode,input, i1...index, s1)
1746
+ r1.extend(StringSingle0)
1747
+ else
1748
+ @index = i1
1749
+ r1 = nil
1750
+ end
1751
+ if r1
1752
+ r0 = r1
1753
+ else
1754
+ i5, s5 = index, []
1755
+ if has_terminal?('"', false, index)
1756
+ r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
1757
+ @index += 1
1758
+ else
1759
+ terminal_parse_failure('"')
1760
+ r6 = nil
1761
+ end
1762
+ s5 << r6
1763
+ if r6
1764
+ s7, i7 = [], index
1765
+ loop do
1766
+ r8 = _nt_string_single_char
1767
+ if r8
1768
+ s7 << r8
1769
+ else
1770
+ break
1771
+ end
1772
+ end
1773
+ if s7.empty?
1774
+ @index = i7
1775
+ r7 = nil
1776
+ else
1777
+ r7 = instantiate_node(SyntaxNode,input, i7...index, s7)
1778
+ end
1779
+ s5 << r7
1780
+ if r7
1781
+ if has_terminal?('"', false, index)
1782
+ r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
1783
+ @index += 1
1784
+ else
1785
+ terminal_parse_failure('"')
1786
+ r9 = nil
1787
+ end
1788
+ s5 << r9
1789
+ end
1790
+ end
1791
+ if s5.last
1792
+ r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
1793
+ r5.extend(StringSingle1)
1794
+ else
1795
+ @index = i5
1796
+ r5 = nil
1797
+ end
1798
+ if r5
1799
+ r0 = r5
1800
+ else
1801
+ @index = i0
1802
+ r0 = nil
1803
+ end
1804
+ end
1805
+
1806
+ node_cache[:string_single][start_index] = r0
1807
+
1808
+ r0
1809
+ end
1810
+
1811
+ module StringSingleChar0
1812
+ end
1813
+
1814
+ module StringSingleChar1
1815
+ def hexdigit1
1816
+ elements[1]
1817
+ end
1818
+
1819
+ def hexdigit2
1820
+ elements[2]
1821
+ end
1822
+
1823
+ def hexdigit3
1824
+ elements[3]
1825
+ end
1826
+
1827
+ def hexdigit4
1828
+ elements[4]
1829
+ end
1830
+ end
1831
+
1832
+ module StringSingleChar2
1833
+ def hexdigit1
1834
+ elements[2]
1835
+ end
1836
+
1837
+ def hexdigit2
1838
+ elements[3]
1839
+ end
1840
+
1841
+ def hexdigit3
1842
+ elements[4]
1843
+ end
1844
+
1845
+ def hexdigit4
1846
+ elements[5]
1847
+ end
1848
+
1849
+ def hexdigit5
1850
+ elements[6]
1851
+ end
1852
+
1853
+ def hexdigit6
1854
+ elements[7]
1855
+ end
1856
+ end
1857
+
1858
+ module StringSingleChar3
1859
+ end
1860
+
1861
+ def _nt_string_single_char
1862
+ start_index = index
1863
+ if node_cache[:string_single_char].has_key?(index)
1864
+ cached = node_cache[:string_single_char][index]
1865
+ @index = cached.interval.end if cached
1866
+ return cached
1867
+ end
1868
+
1869
+ i0, s0 = index, []
1870
+ i1 = index
1871
+ if has_terminal?('\G["\\n\\r]', true, index)
1872
+ r2 = true
1873
+ @index += 1
1874
+ else
1875
+ r2 = nil
1876
+ end
1877
+ if r2
1878
+ r1 = nil
1879
+ else
1880
+ @index = i1
1881
+ r1 = instantiate_node(SyntaxNode,input, index...index)
1882
+ end
1883
+ s0 << r1
1884
+ if r1
1885
+ i3 = index
1886
+ i4 = index
1887
+ i5, s5 = index, []
1888
+ if has_terminal?("\\", false, index)
1889
+ r6 = instantiate_node(SyntaxNode,input, index...(index + 1))
1890
+ @index += 1
1891
+ else
1892
+ terminal_parse_failure("\\")
1893
+ r6 = nil
1894
+ end
1895
+ s5 << r6
1896
+ if r6
1897
+ if has_terminal?('\G[\\\\\\"nrt]', true, index)
1898
+ r7 = true
1899
+ @index += 1
1900
+ else
1901
+ r7 = nil
1902
+ end
1903
+ s5 << r7
1904
+ end
1905
+ if s5.last
1906
+ r5 = instantiate_node(SyntaxNode,input, i5...index, s5)
1907
+ r5.extend(StringSingleChar0)
1908
+ else
1909
+ @index = i5
1910
+ r5 = nil
1911
+ end
1912
+ if r5
1913
+ r4 = r5
1914
+ else
1915
+ i8, s8 = index, []
1916
+ if has_terminal?("u", false, index)
1917
+ r9 = instantiate_node(SyntaxNode,input, index...(index + 1))
1918
+ @index += 1
1919
+ else
1920
+ terminal_parse_failure("u")
1921
+ r9 = nil
1922
+ end
1923
+ s8 << r9
1924
+ if r9
1925
+ r10 = _nt_hexdigit
1926
+ s8 << r10
1927
+ if r10
1928
+ r11 = _nt_hexdigit
1929
+ s8 << r11
1930
+ if r11
1931
+ r12 = _nt_hexdigit
1932
+ s8 << r12
1933
+ if r12
1934
+ r13 = _nt_hexdigit
1935
+ s8 << r13
1936
+ end
1937
+ end
1938
+ end
1939
+ end
1940
+ if s8.last
1941
+ r8 = instantiate_node(SyntaxNode,input, i8...index, s8)
1942
+ r8.extend(StringSingleChar1)
1943
+ else
1944
+ @index = i8
1945
+ r8 = nil
1946
+ end
1947
+ if r8
1948
+ r4 = r8
1949
+ else
1950
+ i14, s14 = index, []
1951
+ if has_terminal?("U", false, index)
1952
+ r15 = instantiate_node(SyntaxNode,input, index...(index + 1))
1953
+ @index += 1
1954
+ else
1955
+ terminal_parse_failure("U")
1956
+ r15 = nil
1957
+ end
1958
+ s14 << r15
1959
+ if r15
1960
+ if has_terminal?("00", false, index)
1961
+ r16 = instantiate_node(SyntaxNode,input, index...(index + 2))
1962
+ @index += 2
1963
+ else
1964
+ terminal_parse_failure("00")
1965
+ r16 = nil
1966
+ end
1967
+ s14 << r16
1968
+ if r16
1969
+ r17 = _nt_hexdigit
1970
+ s14 << r17
1971
+ if r17
1972
+ r18 = _nt_hexdigit
1973
+ s14 << r18
1974
+ if r18
1975
+ r19 = _nt_hexdigit
1976
+ s14 << r19
1977
+ if r19
1978
+ r20 = _nt_hexdigit
1979
+ s14 << r20
1980
+ if r20
1981
+ r21 = _nt_hexdigit
1982
+ s14 << r21
1983
+ if r21
1984
+ r22 = _nt_hexdigit
1985
+ s14 << r22
1986
+ end
1987
+ end
1988
+ end
1989
+ end
1990
+ end
1991
+ end
1992
+ end
1993
+ if s14.last
1994
+ r14 = instantiate_node(SyntaxNode,input, i14...index, s14)
1995
+ r14.extend(StringSingleChar2)
1996
+ else
1997
+ @index = i14
1998
+ r14 = nil
1999
+ end
2000
+ if r14
2001
+ r4 = r14
2002
+ else
2003
+ @index = i4
2004
+ r4 = nil
2005
+ end
2006
+ end
2007
+ end
2008
+ if r4
2009
+ r3 = r4
2010
+ else
2011
+ if index < input_length
2012
+ r23 = instantiate_node(SyntaxNode,input, index...(index + 1))
2013
+ @index += 1
2014
+ else
2015
+ terminal_parse_failure("any character")
2016
+ r23 = nil
2017
+ end
2018
+ if r23
2019
+ r3 = r23
2020
+ else
2021
+ @index = i3
2022
+ r3 = nil
2023
+ end
2024
+ end
2025
+ s0 << r3
2026
+ end
2027
+ if s0.last
2028
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2029
+ r0.extend(StringSingleChar3)
2030
+ else
2031
+ @index = i0
2032
+ r0 = nil
2033
+ end
2034
+
2035
+ node_cache[:string_single_char][start_index] = r0
2036
+
2037
+ r0
2038
+ end
2039
+
2040
+ def _nt_hexdigit
2041
+ start_index = index
2042
+ if node_cache[:hexdigit].has_key?(index)
2043
+ cached = node_cache[:hexdigit][index]
2044
+ @index = cached.interval.end if cached
2045
+ return cached
2046
+ end
2047
+
2048
+ if has_terminal?('\G[0-9a-fA-F]', true, index)
2049
+ r0 = instantiate_node(SyntaxNode,input, index...(index + 1))
2050
+ @index += 1
2051
+ else
2052
+ r0 = nil
2053
+ end
2054
+
2055
+ node_cache[:hexdigit][start_index] = r0
2056
+
2057
+ r0
2058
+ end
2059
+
2060
+ module StringMulti0
2061
+ end
2062
+
2063
+ def _nt_string_multi
2064
+ start_index = index
2065
+ if node_cache[:string_multi].has_key?(index)
2066
+ cached = node_cache[:string_multi][index]
2067
+ @index = cached.interval.end if cached
2068
+ return cached
2069
+ end
2070
+
2071
+ i0, s0 = index, []
2072
+ if has_terminal?('"""', false, index)
2073
+ r1 = instantiate_node(SyntaxNode,input, index...(index + 3))
2074
+ @index += 3
2075
+ else
2076
+ terminal_parse_failure('"""')
2077
+ r1 = nil
2078
+ end
2079
+ s0 << r1
2080
+ if r1
2081
+ s2, i2 = [], index
2082
+ loop do
2083
+ r3 = _nt_string_multi_char
2084
+ if r3
2085
+ s2 << r3
2086
+ else
2087
+ break
2088
+ end
2089
+ end
2090
+ r2 = instantiate_node(SyntaxNode,input, i2...index, s2)
2091
+ s0 << r2
2092
+ if r2
2093
+ if has_terminal?('"""', false, index)
2094
+ r4 = instantiate_node(SyntaxNode,input, index...(index + 3))
2095
+ @index += 3
2096
+ else
2097
+ terminal_parse_failure('"""')
2098
+ r4 = nil
2099
+ end
2100
+ s0 << r4
2101
+ end
2102
+ end
2103
+ if s0.last
2104
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2105
+ r0.extend(StringMulti0)
2106
+ else
2107
+ @index = i0
2108
+ r0 = nil
2109
+ end
2110
+
2111
+ node_cache[:string_multi][start_index] = r0
2112
+
2113
+ r0
2114
+ end
2115
+
2116
+ module StringMultiChar0
2117
+ end
2118
+
2119
+ def _nt_string_multi_char
2120
+ start_index = index
2121
+ if node_cache[:string_multi_char].has_key?(index)
2122
+ cached = node_cache[:string_multi_char][index]
2123
+ @index = cached.interval.end if cached
2124
+ return cached
2125
+ end
2126
+
2127
+ i0, s0 = index, []
2128
+ i1 = index
2129
+ if has_terminal?('"""', false, index)
2130
+ r2 = instantiate_node(SyntaxNode,input, index...(index + 3))
2131
+ @index += 3
2132
+ else
2133
+ terminal_parse_failure('"""')
2134
+ r2 = nil
2135
+ end
2136
+ if r2
2137
+ r1 = nil
2138
+ else
2139
+ @index = i1
2140
+ r1 = instantiate_node(SyntaxNode,input, index...index)
2141
+ end
2142
+ s0 << r1
2143
+ if r1
2144
+ if index < input_length
2145
+ r3 = instantiate_node(SyntaxNode,input, index...(index + 1))
2146
+ @index += 1
2147
+ else
2148
+ terminal_parse_failure("any character")
2149
+ r3 = nil
2150
+ end
2151
+ s0 << r3
2152
+ end
2153
+ if s0.last
2154
+ r0 = instantiate_node(SyntaxNode,input, i0...index, s0)
2155
+ r0.extend(StringMultiChar0)
2156
+ else
2157
+ @index = i0
2158
+ r0 = nil
2159
+ end
2160
+
2161
+ node_cache[:string_multi_char][start_index] = r0
2162
+
2163
+ r0
2164
+ end
2165
+
2166
+ end
2167
+
2168
+ class N3GrammerParser < Treetop::Runtime::CompiledParser
2169
+ include N3Grammer
2170
+ end
2171
+