@reqlan/language 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/README.md +24 -0
  2. package/out/file-path-rewrite.d.ts +25 -0
  3. package/out/file-path-rewrite.js +56 -0
  4. package/out/file-path-rewrite.js.map +1 -0
  5. package/out/generated/ast.d.ts +1157 -0
  6. package/out/generated/ast.js +980 -0
  7. package/out/generated/ast.js.map +1 -0
  8. package/out/generated/grammar.d.ts +7 -0
  9. package/out/generated/grammar.js +3071 -0
  10. package/out/generated/grammar.js.map +1 -0
  11. package/out/generated/module.d.ts +20 -0
  12. package/out/generated/module.js +32 -0
  13. package/out/generated/module.js.map +1 -0
  14. package/out/index.d.ts +34 -0
  15. package/out/index.js +35 -0
  16. package/out/index.js.map +1 -0
  17. package/out/reqlan-attribute-catalog.d.ts +19 -0
  18. package/out/reqlan-attribute-catalog.js +87 -0
  19. package/out/reqlan-attribute-catalog.js.map +1 -0
  20. package/out/reqlan-code-action-provider.d.ts +55 -0
  21. package/out/reqlan-code-action-provider.js +269 -0
  22. package/out/reqlan-code-action-provider.js.map +1 -0
  23. package/out/reqlan-code-lens-provider.d.ts +13 -0
  24. package/out/reqlan-code-lens-provider.js +27 -0
  25. package/out/reqlan-code-lens-provider.js.map +1 -0
  26. package/out/reqlan-code-lens-settings.d.ts +34 -0
  27. package/out/reqlan-code-lens-settings.js +12 -0
  28. package/out/reqlan-code-lens-settings.js.map +1 -0
  29. package/out/reqlan-comment-resolver.d.ts +35 -0
  30. package/out/reqlan-comment-resolver.js +308 -0
  31. package/out/reqlan-comment-resolver.js.map +1 -0
  32. package/out/reqlan-completion-context.d.ts +46 -0
  33. package/out/reqlan-completion-context.js +244 -0
  34. package/out/reqlan-completion-context.js.map +1 -0
  35. package/out/reqlan-completion-provider.d.ts +41 -0
  36. package/out/reqlan-completion-provider.js +317 -0
  37. package/out/reqlan-completion-provider.js.map +1 -0
  38. package/out/reqlan-definition-provider.d.ts +31 -0
  39. package/out/reqlan-definition-provider.js +240 -0
  40. package/out/reqlan-definition-provider.js.map +1 -0
  41. package/out/reqlan-document-highlight-provider.d.ts +10 -0
  42. package/out/reqlan-document-highlight-provider.js +11 -0
  43. package/out/reqlan-document-highlight-provider.js.map +1 -0
  44. package/out/reqlan-document-link-provider.d.ts +14 -0
  45. package/out/reqlan-document-link-provider.js +24 -0
  46. package/out/reqlan-document-link-provider.js.map +1 -0
  47. package/out/reqlan-embedded-file-references.d.ts +11 -0
  48. package/out/reqlan-embedded-file-references.js +50 -0
  49. package/out/reqlan-embedded-file-references.js.map +1 -0
  50. package/out/reqlan-file-link-resolver.d.ts +44 -0
  51. package/out/reqlan-file-link-resolver.js +347 -0
  52. package/out/reqlan-file-link-resolver.js.map +1 -0
  53. package/out/reqlan-file-references.d.ts +15 -0
  54. package/out/reqlan-file-references.js +72 -0
  55. package/out/reqlan-file-references.js.map +1 -0
  56. package/out/reqlan-grammar-config.d.ts +5 -0
  57. package/out/reqlan-grammar-config.js +9 -0
  58. package/out/reqlan-grammar-config.js.map +1 -0
  59. package/out/reqlan-idea-reference-site.d.ts +14 -0
  60. package/out/reqlan-idea-reference-site.js +47 -0
  61. package/out/reqlan-idea-reference-site.js.map +1 -0
  62. package/out/reqlan-idea-summary.d.ts +6 -0
  63. package/out/reqlan-idea-summary.js +134 -0
  64. package/out/reqlan-idea-summary.js.map +1 -0
  65. package/out/reqlan-ignore-error.d.ts +10 -0
  66. package/out/reqlan-ignore-error.js +42 -0
  67. package/out/reqlan-ignore-error.js.map +1 -0
  68. package/out/reqlan-import-bindings.d.ts +12 -0
  69. package/out/reqlan-import-bindings.js +65 -0
  70. package/out/reqlan-import-bindings.js.map +1 -0
  71. package/out/reqlan-import-edits.d.ts +17 -0
  72. package/out/reqlan-import-edits.js +96 -0
  73. package/out/reqlan-import-edits.js.map +1 -0
  74. package/out/reqlan-imports.d.ts +22 -0
  75. package/out/reqlan-imports.js +61 -0
  76. package/out/reqlan-imports.js.map +1 -0
  77. package/out/reqlan-inbound-reference-inlay-label.d.ts +27 -0
  78. package/out/reqlan-inbound-reference-inlay-label.js +142 -0
  79. package/out/reqlan-inbound-reference-inlay-label.js.map +1 -0
  80. package/out/reqlan-inlay-hint-provider.d.ts +15 -0
  81. package/out/reqlan-inlay-hint-provider.js +54 -0
  82. package/out/reqlan-inlay-hint-provider.js.map +1 -0
  83. package/out/reqlan-inlay-hint-settings.d.ts +10 -0
  84. package/out/reqlan-inlay-hint-settings.js +10 -0
  85. package/out/reqlan-inlay-hint-settings.js.map +1 -0
  86. package/out/reqlan-linker.d.ts +26 -0
  87. package/out/reqlan-linker.js +83 -0
  88. package/out/reqlan-linker.js.map +1 -0
  89. package/out/reqlan-markdown-links.d.ts +28 -0
  90. package/out/reqlan-markdown-links.js +113 -0
  91. package/out/reqlan-markdown-links.js.map +1 -0
  92. package/out/reqlan-module.d.ts +41 -0
  93. package/out/reqlan-module.js +78 -0
  94. package/out/reqlan-module.js.map +1 -0
  95. package/out/reqlan-name-catalog.d.ts +23 -0
  96. package/out/reqlan-name-catalog.js +63 -0
  97. package/out/reqlan-name-catalog.js.map +1 -0
  98. package/out/reqlan-name-provider.d.ts +10 -0
  99. package/out/reqlan-name-provider.js +38 -0
  100. package/out/reqlan-name-provider.js.map +1 -0
  101. package/out/reqlan-namespace-import-links.d.ts +10 -0
  102. package/out/reqlan-namespace-import-links.js +69 -0
  103. package/out/reqlan-namespace-import-links.js.map +1 -0
  104. package/out/reqlan-path-completion.d.ts +50 -0
  105. package/out/reqlan-path-completion.js +304 -0
  106. package/out/reqlan-path-completion.js.map +1 -0
  107. package/out/reqlan-path-references.d.ts +5 -0
  108. package/out/reqlan-path-references.js +124 -0
  109. package/out/reqlan-path-references.js.map +1 -0
  110. package/out/reqlan-path-resolve.d.ts +81 -0
  111. package/out/reqlan-path-resolve.js +245 -0
  112. package/out/reqlan-path-resolve.js.map +1 -0
  113. package/out/reqlan-quoted-strings.d.ts +9 -0
  114. package/out/reqlan-quoted-strings.js +26 -0
  115. package/out/reqlan-quoted-strings.js.map +1 -0
  116. package/out/reqlan-reference-at-position.d.ts +20 -0
  117. package/out/reqlan-reference-at-position.js +89 -0
  118. package/out/reqlan-reference-at-position.js.map +1 -0
  119. package/out/reqlan-reference-code-lens.d.ts +32 -0
  120. package/out/reqlan-reference-code-lens.js +240 -0
  121. package/out/reqlan-reference-code-lens.js.map +1 -0
  122. package/out/reqlan-reference-search-site.d.ts +34 -0
  123. package/out/reqlan-reference-search-site.js +136 -0
  124. package/out/reqlan-reference-search-site.js.map +1 -0
  125. package/out/reqlan-references.d.ts +16 -0
  126. package/out/reqlan-references.js +51 -0
  127. package/out/reqlan-references.js.map +1 -0
  128. package/out/reqlan-scope.d.ts +25 -0
  129. package/out/reqlan-scope.js +259 -0
  130. package/out/reqlan-scope.js.map +1 -0
  131. package/out/reqlan-semantic-token-provider.d.ts +8 -0
  132. package/out/reqlan-semantic-token-provider.js +91 -0
  133. package/out/reqlan-semantic-token-provider.js.map +1 -0
  134. package/out/reqlan-token-builder.d.ts +12 -0
  135. package/out/reqlan-token-builder.js +459 -0
  136. package/out/reqlan-token-builder.js.map +1 -0
  137. package/out/reqlan-validator.d.ts +25 -0
  138. package/out/reqlan-validator.js +119 -0
  139. package/out/reqlan-validator.js.map +1 -0
  140. package/out/reqlan-workspace-attribute-catalog.d.ts +6 -0
  141. package/out/reqlan-workspace-attribute-catalog.js +54 -0
  142. package/out/reqlan-workspace-attribute-catalog.js.map +1 -0
  143. package/out/src/file-path-rewrite.d.ts +25 -0
  144. package/out/src/file-path-rewrite.js +56 -0
  145. package/out/src/file-path-rewrite.js.map +1 -0
  146. package/out/src/generated/ast.d.ts +1173 -0
  147. package/out/src/generated/ast.js +994 -0
  148. package/out/src/generated/ast.js.map +1 -0
  149. package/out/src/generated/grammar.d.ts +7 -0
  150. package/out/src/generated/grammar.js +3045 -0
  151. package/out/src/generated/grammar.js.map +1 -0
  152. package/out/src/generated/module.d.ts +20 -0
  153. package/out/src/generated/module.js +32 -0
  154. package/out/src/generated/module.js.map +1 -0
  155. package/out/src/index.d.ts +29 -0
  156. package/out/src/index.js +30 -0
  157. package/out/src/index.js.map +1 -0
  158. package/out/src/reqlan-attribute-catalog.d.ts +19 -0
  159. package/out/src/reqlan-attribute-catalog.js +87 -0
  160. package/out/src/reqlan-attribute-catalog.js.map +1 -0
  161. package/out/src/reqlan-code-action-provider.d.ts +34 -0
  162. package/out/src/reqlan-code-action-provider.js +206 -0
  163. package/out/src/reqlan-code-action-provider.js.map +1 -0
  164. package/out/src/reqlan-comment-resolver.d.ts +35 -0
  165. package/out/src/reqlan-comment-resolver.js +308 -0
  166. package/out/src/reqlan-comment-resolver.js.map +1 -0
  167. package/out/src/reqlan-completion-context.d.ts +46 -0
  168. package/out/src/reqlan-completion-context.js +244 -0
  169. package/out/src/reqlan-completion-context.js.map +1 -0
  170. package/out/src/reqlan-completion-provider.d.ts +41 -0
  171. package/out/src/reqlan-completion-provider.js +320 -0
  172. package/out/src/reqlan-completion-provider.js.map +1 -0
  173. package/out/src/reqlan-definition-provider.d.ts +31 -0
  174. package/out/src/reqlan-definition-provider.js +240 -0
  175. package/out/src/reqlan-definition-provider.js.map +1 -0
  176. package/out/src/reqlan-document-highlight-provider.d.ts +10 -0
  177. package/out/src/reqlan-document-highlight-provider.js +11 -0
  178. package/out/src/reqlan-document-highlight-provider.js.map +1 -0
  179. package/out/src/reqlan-document-link-provider.d.ts +14 -0
  180. package/out/src/reqlan-document-link-provider.js +24 -0
  181. package/out/src/reqlan-document-link-provider.js.map +1 -0
  182. package/out/src/reqlan-embedded-file-references.d.ts +11 -0
  183. package/out/src/reqlan-embedded-file-references.js +50 -0
  184. package/out/src/reqlan-embedded-file-references.js.map +1 -0
  185. package/out/src/reqlan-file-link-resolver.d.ts +44 -0
  186. package/out/src/reqlan-file-link-resolver.js +347 -0
  187. package/out/src/reqlan-file-link-resolver.js.map +1 -0
  188. package/out/src/reqlan-file-references.d.ts +15 -0
  189. package/out/src/reqlan-file-references.js +72 -0
  190. package/out/src/reqlan-file-references.js.map +1 -0
  191. package/out/src/reqlan-grammar-config.d.ts +5 -0
  192. package/out/src/reqlan-grammar-config.js +9 -0
  193. package/out/src/reqlan-grammar-config.js.map +1 -0
  194. package/out/src/reqlan-idea-summary.d.ts +6 -0
  195. package/out/src/reqlan-idea-summary.js +78 -0
  196. package/out/src/reqlan-idea-summary.js.map +1 -0
  197. package/out/src/reqlan-ignore-error.d.ts +10 -0
  198. package/out/src/reqlan-ignore-error.js +42 -0
  199. package/out/src/reqlan-ignore-error.js.map +1 -0
  200. package/out/src/reqlan-import-bindings.d.ts +12 -0
  201. package/out/src/reqlan-import-bindings.js +65 -0
  202. package/out/src/reqlan-import-bindings.js.map +1 -0
  203. package/out/src/reqlan-import-edits.d.ts +17 -0
  204. package/out/src/reqlan-import-edits.js +96 -0
  205. package/out/src/reqlan-import-edits.js.map +1 -0
  206. package/out/src/reqlan-imports.d.ts +22 -0
  207. package/out/src/reqlan-imports.js +61 -0
  208. package/out/src/reqlan-imports.js.map +1 -0
  209. package/out/src/reqlan-inbound-reference-inlay-label.d.ts +23 -0
  210. package/out/src/reqlan-inbound-reference-inlay-label.js +128 -0
  211. package/out/src/reqlan-inbound-reference-inlay-label.js.map +1 -0
  212. package/out/src/reqlan-inlay-hint-provider.d.ts +15 -0
  213. package/out/src/reqlan-inlay-hint-provider.js +54 -0
  214. package/out/src/reqlan-inlay-hint-provider.js.map +1 -0
  215. package/out/src/reqlan-inlay-hint-settings.d.ts +10 -0
  216. package/out/src/reqlan-inlay-hint-settings.js +10 -0
  217. package/out/src/reqlan-inlay-hint-settings.js.map +1 -0
  218. package/out/src/reqlan-linker.d.ts +26 -0
  219. package/out/src/reqlan-linker.js +86 -0
  220. package/out/src/reqlan-linker.js.map +1 -0
  221. package/out/src/reqlan-markdown-links.d.ts +28 -0
  222. package/out/src/reqlan-markdown-links.js +113 -0
  223. package/out/src/reqlan-markdown-links.js.map +1 -0
  224. package/out/src/reqlan-module.d.ts +41 -0
  225. package/out/src/reqlan-module.js +76 -0
  226. package/out/src/reqlan-module.js.map +1 -0
  227. package/out/src/reqlan-name-catalog.d.ts +23 -0
  228. package/out/src/reqlan-name-catalog.js +63 -0
  229. package/out/src/reqlan-name-catalog.js.map +1 -0
  230. package/out/src/reqlan-name-provider.d.ts +10 -0
  231. package/out/src/reqlan-name-provider.js +38 -0
  232. package/out/src/reqlan-name-provider.js.map +1 -0
  233. package/out/src/reqlan-namespace-import-links.d.ts +10 -0
  234. package/out/src/reqlan-namespace-import-links.js +81 -0
  235. package/out/src/reqlan-namespace-import-links.js.map +1 -0
  236. package/out/src/reqlan-path-completion.d.ts +50 -0
  237. package/out/src/reqlan-path-completion.js +304 -0
  238. package/out/src/reqlan-path-completion.js.map +1 -0
  239. package/out/src/reqlan-path-references.d.ts +5 -0
  240. package/out/src/reqlan-path-references.js +124 -0
  241. package/out/src/reqlan-path-references.js.map +1 -0
  242. package/out/src/reqlan-path-resolve.d.ts +59 -0
  243. package/out/src/reqlan-path-resolve.js +173 -0
  244. package/out/src/reqlan-path-resolve.js.map +1 -0
  245. package/out/src/reqlan-quoted-strings.d.ts +9 -0
  246. package/out/src/reqlan-quoted-strings.js +26 -0
  247. package/out/src/reqlan-quoted-strings.js.map +1 -0
  248. package/out/src/reqlan-reference-at-position.d.ts +20 -0
  249. package/out/src/reqlan-reference-at-position.js +89 -0
  250. package/out/src/reqlan-reference-at-position.js.map +1 -0
  251. package/out/src/reqlan-references.d.ts +16 -0
  252. package/out/src/reqlan-references.js +51 -0
  253. package/out/src/reqlan-references.js.map +1 -0
  254. package/out/src/reqlan-scope.d.ts +25 -0
  255. package/out/src/reqlan-scope.js +266 -0
  256. package/out/src/reqlan-scope.js.map +1 -0
  257. package/out/src/reqlan-semantic-token-provider.d.ts +8 -0
  258. package/out/src/reqlan-semantic-token-provider.js +97 -0
  259. package/out/src/reqlan-semantic-token-provider.js.map +1 -0
  260. package/out/src/reqlan-token-builder.d.ts +12 -0
  261. package/out/src/reqlan-token-builder.js +459 -0
  262. package/out/src/reqlan-token-builder.js.map +1 -0
  263. package/out/src/reqlan-validator.d.ts +25 -0
  264. package/out/src/reqlan-validator.js +119 -0
  265. package/out/src/reqlan-validator.js.map +1 -0
  266. package/out/src/reqlan-workspace-attribute-catalog.d.ts +6 -0
  267. package/out/src/reqlan-workspace-attribute-catalog.js +54 -0
  268. package/out/src/reqlan-workspace-attribute-catalog.js.map +1 -0
  269. package/out/test/code-actions.test.d.ts +1 -0
  270. package/out/test/code-actions.test.js +126 -0
  271. package/out/test/code-actions.test.js.map +1 -0
  272. package/out/test/comment-in-string.test.d.ts +1 -0
  273. package/out/test/comment-in-string.test.js +100 -0
  274. package/out/test/comment-in-string.test.js.map +1 -0
  275. package/out/test/completion.test.d.ts +1 -0
  276. package/out/test/completion.test.js +467 -0
  277. package/out/test/completion.test.js.map +1 -0
  278. package/out/test/file-path-rewrite.test.d.ts +1 -0
  279. package/out/test/file-path-rewrite.test.js +64 -0
  280. package/out/test/file-path-rewrite.test.js.map +1 -0
  281. package/out/test/ignore-error.test.d.ts +1 -0
  282. package/out/test/ignore-error.test.js +87 -0
  283. package/out/test/ignore-error.test.js.map +1 -0
  284. package/out/test/implicit-import-extension.test.d.ts +1 -0
  285. package/out/test/implicit-import-extension.test.js +203 -0
  286. package/out/test/implicit-import-extension.test.js.map +1 -0
  287. package/out/test/import-edits.test.d.ts +1 -0
  288. package/out/test/import-edits.test.js +20 -0
  289. package/out/test/import-edits.test.js.map +1 -0
  290. package/out/test/inlay-hints.test.d.ts +1 -0
  291. package/out/test/inlay-hints.test.js +238 -0
  292. package/out/test/inlay-hints.test.js.map +1 -0
  293. package/out/test/linking.test.d.ts +1 -0
  294. package/out/test/linking.test.js +754 -0
  295. package/out/test/linking.test.js.map +1 -0
  296. package/out/test/naked-strings.test.d.ts +1 -0
  297. package/out/test/naked-strings.test.js +50 -0
  298. package/out/test/naked-strings.test.js.map +1 -0
  299. package/out/test/parsing.test.d.ts +1 -0
  300. package/out/test/parsing.test.js +773 -0
  301. package/out/test/parsing.test.js.map +1 -0
  302. package/out/test/path-resolve.test.d.ts +1 -0
  303. package/out/test/path-resolve.test.js +88 -0
  304. package/out/test/path-resolve.test.js.map +1 -0
  305. package/out/test/references.test.d.ts +1 -0
  306. package/out/test/references.test.js +168 -0
  307. package/out/test/references.test.js.map +1 -0
  308. package/out/test/rqconfig.test.d.ts +1 -0
  309. package/out/test/rqconfig.test.js +275 -0
  310. package/out/test/rqconfig.test.js.map +1 -0
  311. package/out/test/test-requirement-refs.d.ts +8 -0
  312. package/out/test/test-requirement-refs.js +35 -0
  313. package/out/test/test-requirement-refs.js.map +1 -0
  314. package/out/test/testing.test.d.ts +1 -0
  315. package/out/test/testing.test.js +23 -0
  316. package/out/test/testing.test.js.map +1 -0
  317. package/out/test/validating.test.d.ts +1 -0
  318. package/out/test/validating.test.js +117 -0
  319. package/out/test/validating.test.js.map +1 -0
  320. package/out/tsconfig.tsbuildinfo +1 -0
  321. package/package.json +54 -0
  322. package/src/chevrotain.d.ts +8 -0
  323. package/src/file-path-rewrite.ts +96 -0
  324. package/src/generated/ast.ts +1481 -0
  325. package/src/generated/grammar.ts +3074 -0
  326. package/src/generated/module.ts +38 -0
  327. package/src/index.ts +34 -0
  328. package/src/reqlan-attribute-catalog.ts +100 -0
  329. package/src/reqlan-code-action-provider.ts +385 -0
  330. package/src/reqlan-code-lens-provider.ts +54 -0
  331. package/src/reqlan-code-lens-settings.ts +42 -0
  332. package/src/reqlan-comment-resolver.ts +372 -0
  333. package/src/reqlan-comment.langium +23 -0
  334. package/src/reqlan-completion-context.ts +330 -0
  335. package/src/reqlan-completion-provider.ts +400 -0
  336. package/src/reqlan-definition-provider.ts +319 -0
  337. package/src/reqlan-document-highlight-provider.ts +21 -0
  338. package/src/reqlan-document-link-provider.ts +45 -0
  339. package/src/reqlan-embedded-file-references.ts +72 -0
  340. package/src/reqlan-file-link-resolver.ts +485 -0
  341. package/src/reqlan-file-references.ts +84 -0
  342. package/src/reqlan-grammar-config.ts +14 -0
  343. package/src/reqlan-idea-reference-site.ts +74 -0
  344. package/src/reqlan-idea-summary.ts +162 -0
  345. package/src/reqlan-ignore-error.ts +50 -0
  346. package/src/reqlan-import-bindings.ts +87 -0
  347. package/src/reqlan-import-edits.ts +124 -0
  348. package/src/reqlan-imports.ts +115 -0
  349. package/src/reqlan-inbound-reference-inlay-label.ts +194 -0
  350. package/src/reqlan-inlay-hint-provider.ts +88 -0
  351. package/src/reqlan-inlay-hint-settings.ts +15 -0
  352. package/src/reqlan-linker.ts +108 -0
  353. package/src/reqlan-markdown-links.ts +136 -0
  354. package/src/reqlan-module.ts +104 -0
  355. package/src/reqlan-name-catalog.ts +81 -0
  356. package/src/reqlan-name-provider.ts +56 -0
  357. package/src/reqlan-namespace-import-links.ts +92 -0
  358. package/src/reqlan-path-completion.ts +420 -0
  359. package/src/reqlan-path-references.ts +140 -0
  360. package/src/reqlan-path-resolve.ts +346 -0
  361. package/src/reqlan-quoted-strings.ts +30 -0
  362. package/src/reqlan-reference-at-position.ts +154 -0
  363. package/src/reqlan-reference-code-lens.ts +323 -0
  364. package/src/reqlan-reference-search-site.ts +202 -0
  365. package/src/reqlan-references.ts +76 -0
  366. package/src/reqlan-scope.ts +312 -0
  367. package/src/reqlan-semantic-token-provider.ts +113 -0
  368. package/src/reqlan-token-builder.ts +492 -0
  369. package/src/reqlan-validator.ts +149 -0
  370. package/src/reqlan-workspace-attribute-catalog.ts +62 -0
  371. package/src/reqlan.langium +236 -0
@@ -0,0 +1,3071 @@
1
+ /******************************************************************************
2
+ * This file was generated by langium-cli 4.3.0.
3
+ * DO NOT EDIT MANUALLY!
4
+ ******************************************************************************/
5
+ import { loadGrammarFromJson } from 'langium';
6
+ let loadedReqlanGrammar;
7
+ export const ReqlanGrammar = () => loadedReqlanGrammar ?? (loadedReqlanGrammar = loadGrammarFromJson(`{
8
+ "$type": "Grammar",
9
+ "isDeclared": true,
10
+ "name": "Reqlan",
11
+ "rules": [
12
+ {
13
+ "$type": "ParserRule",
14
+ "entry": true,
15
+ "name": "Model",
16
+ "definition": {
17
+ "$type": "Group",
18
+ "elements": [
19
+ {
20
+ "$type": "Group",
21
+ "elements": [
22
+ {
23
+ "$type": "RuleCall",
24
+ "rule": {
25
+ "$ref": "#/rules@51"
26
+ },
27
+ "arguments": [],
28
+ "cardinality": "*"
29
+ },
30
+ {
31
+ "$type": "Assignment",
32
+ "feature": "imports",
33
+ "operator": "+=",
34
+ "terminal": {
35
+ "$type": "RuleCall",
36
+ "rule": {
37
+ "$ref": "#/rules@46"
38
+ },
39
+ "arguments": []
40
+ }
41
+ }
42
+ ],
43
+ "cardinality": "*"
44
+ },
45
+ {
46
+ "$type": "Group",
47
+ "elements": [
48
+ {
49
+ "$type": "RuleCall",
50
+ "rule": {
51
+ "$ref": "#/rules@51"
52
+ },
53
+ "arguments": [],
54
+ "cardinality": "*"
55
+ },
56
+ {
57
+ "$type": "Assignment",
58
+ "feature": "elements",
59
+ "operator": "+=",
60
+ "terminal": {
61
+ "$type": "RuleCall",
62
+ "rule": {
63
+ "$ref": "#/rules@1"
64
+ },
65
+ "arguments": []
66
+ }
67
+ }
68
+ ],
69
+ "cardinality": "*"
70
+ },
71
+ {
72
+ "$type": "RuleCall",
73
+ "rule": {
74
+ "$ref": "#/rules@51"
75
+ },
76
+ "arguments": [],
77
+ "cardinality": "*"
78
+ }
79
+ ]
80
+ },
81
+ "fragment": false,
82
+ "parameters": []
83
+ },
84
+ {
85
+ "$type": "ParserRule",
86
+ "name": "TopLevelElement",
87
+ "definition": {
88
+ "$type": "Alternatives",
89
+ "elements": [
90
+ {
91
+ "$type": "RuleCall",
92
+ "rule": {
93
+ "$ref": "#/rules@5"
94
+ },
95
+ "arguments": []
96
+ },
97
+ {
98
+ "$type": "RuleCall",
99
+ "rule": {
100
+ "$ref": "#/rules@6"
101
+ },
102
+ "arguments": []
103
+ },
104
+ {
105
+ "$type": "RuleCall",
106
+ "rule": {
107
+ "$ref": "#/rules@2"
108
+ },
109
+ "arguments": []
110
+ }
111
+ ]
112
+ },
113
+ "entry": false,
114
+ "fragment": false,
115
+ "parameters": []
116
+ },
117
+ {
118
+ "$type": "ParserRule",
119
+ "name": "OneLinerIdea",
120
+ "definition": {
121
+ "$type": "Group",
122
+ "elements": [
123
+ {
124
+ "$type": "Assignment",
125
+ "feature": "name",
126
+ "operator": "=",
127
+ "terminal": {
128
+ "$type": "RuleCall",
129
+ "rule": {
130
+ "$ref": "#/rules@7"
131
+ },
132
+ "arguments": []
133
+ }
134
+ },
135
+ {
136
+ "$type": "Assignment",
137
+ "feature": "body",
138
+ "operator": "=",
139
+ "terminal": {
140
+ "$type": "RuleCall",
141
+ "rule": {
142
+ "$ref": "#/rules@3"
143
+ },
144
+ "arguments": []
145
+ },
146
+ "cardinality": "?"
147
+ }
148
+ ]
149
+ },
150
+ "entry": false,
151
+ "fragment": false,
152
+ "parameters": []
153
+ },
154
+ {
155
+ "$type": "ParserRule",
156
+ "name": "OneLinerBody",
157
+ "definition": {
158
+ "$type": "Assignment",
159
+ "feature": "content",
160
+ "operator": "+=",
161
+ "terminal": {
162
+ "$type": "Alternatives",
163
+ "elements": [
164
+ {
165
+ "$type": "RuleCall",
166
+ "rule": {
167
+ "$ref": "#/rules@37"
168
+ },
169
+ "arguments": []
170
+ },
171
+ {
172
+ "$type": "RuleCall",
173
+ "rule": {
174
+ "$ref": "#/rules@40"
175
+ },
176
+ "arguments": []
177
+ },
178
+ {
179
+ "$type": "RuleCall",
180
+ "rule": {
181
+ "$ref": "#/rules@38"
182
+ },
183
+ "arguments": []
184
+ },
185
+ {
186
+ "$type": "RuleCall",
187
+ "rule": {
188
+ "$ref": "#/rules@15"
189
+ },
190
+ "arguments": []
191
+ }
192
+ ]
193
+ },
194
+ "cardinality": "+"
195
+ },
196
+ "entry": false,
197
+ "fragment": false,
198
+ "parameters": []
199
+ },
200
+ {
201
+ "$type": "ParserRule",
202
+ "name": "IdeaDeclaration",
203
+ "definition": {
204
+ "$type": "Alternatives",
205
+ "elements": [
206
+ {
207
+ "$type": "RuleCall",
208
+ "rule": {
209
+ "$ref": "#/rules@5"
210
+ },
211
+ "arguments": []
212
+ },
213
+ {
214
+ "$type": "RuleCall",
215
+ "rule": {
216
+ "$ref": "#/rules@2"
217
+ },
218
+ "arguments": []
219
+ }
220
+ ]
221
+ },
222
+ "entry": false,
223
+ "fragment": false,
224
+ "parameters": []
225
+ },
226
+ {
227
+ "$type": "ParserRule",
228
+ "name": "Idea",
229
+ "definition": {
230
+ "$type": "Group",
231
+ "elements": [
232
+ {
233
+ "$type": "Assignment",
234
+ "feature": "name",
235
+ "operator": "=",
236
+ "terminal": {
237
+ "$type": "RuleCall",
238
+ "rule": {
239
+ "$ref": "#/rules@7"
240
+ },
241
+ "arguments": []
242
+ }
243
+ },
244
+ {
245
+ "$type": "Keyword",
246
+ "value": "{"
247
+ },
248
+ {
249
+ "$type": "Group",
250
+ "elements": [
251
+ {
252
+ "$type": "RuleCall",
253
+ "rule": {
254
+ "$ref": "#/rules@51"
255
+ },
256
+ "arguments": [],
257
+ "cardinality": "*"
258
+ },
259
+ {
260
+ "$type": "Assignment",
261
+ "feature": "elements",
262
+ "operator": "+=",
263
+ "terminal": {
264
+ "$type": "RuleCall",
265
+ "rule": {
266
+ "$ref": "#/rules@10"
267
+ },
268
+ "arguments": []
269
+ }
270
+ }
271
+ ],
272
+ "cardinality": "*"
273
+ },
274
+ {
275
+ "$type": "RuleCall",
276
+ "rule": {
277
+ "$ref": "#/rules@51"
278
+ },
279
+ "arguments": [],
280
+ "cardinality": "*"
281
+ },
282
+ {
283
+ "$type": "Keyword",
284
+ "value": "}"
285
+ }
286
+ ]
287
+ },
288
+ "entry": false,
289
+ "fragment": false,
290
+ "parameters": []
291
+ },
292
+ {
293
+ "$type": "ParserRule",
294
+ "name": "IdeaSet",
295
+ "definition": {
296
+ "$type": "Group",
297
+ "elements": [
298
+ {
299
+ "$type": "Assignment",
300
+ "feature": "name",
301
+ "operator": "=",
302
+ "terminal": {
303
+ "$type": "RuleCall",
304
+ "rule": {
305
+ "$ref": "#/rules@7"
306
+ },
307
+ "arguments": []
308
+ }
309
+ },
310
+ {
311
+ "$type": "Keyword",
312
+ "value": "("
313
+ },
314
+ {
315
+ "$type": "RuleCall",
316
+ "rule": {
317
+ "$ref": "#/rules@51"
318
+ },
319
+ "arguments": [],
320
+ "cardinality": "*"
321
+ },
322
+ {
323
+ "$type": "Assignment",
324
+ "feature": "members",
325
+ "operator": "+=",
326
+ "terminal": {
327
+ "$type": "CrossReference",
328
+ "type": {
329
+ "$ref": "#/rules@4"
330
+ },
331
+ "terminal": {
332
+ "$type": "RuleCall",
333
+ "rule": {
334
+ "$ref": "#/rules@8"
335
+ },
336
+ "arguments": []
337
+ },
338
+ "deprecatedSyntax": false,
339
+ "isMulti": false
340
+ }
341
+ },
342
+ {
343
+ "$type": "Group",
344
+ "elements": [
345
+ {
346
+ "$type": "RuleCall",
347
+ "rule": {
348
+ "$ref": "#/rules@51"
349
+ },
350
+ "arguments": [],
351
+ "cardinality": "*"
352
+ },
353
+ {
354
+ "$type": "Keyword",
355
+ "value": ","
356
+ },
357
+ {
358
+ "$type": "RuleCall",
359
+ "rule": {
360
+ "$ref": "#/rules@51"
361
+ },
362
+ "arguments": [],
363
+ "cardinality": "*"
364
+ },
365
+ {
366
+ "$type": "Assignment",
367
+ "feature": "members",
368
+ "operator": "+=",
369
+ "terminal": {
370
+ "$type": "CrossReference",
371
+ "type": {
372
+ "$ref": "#/rules@4"
373
+ },
374
+ "terminal": {
375
+ "$type": "RuleCall",
376
+ "rule": {
377
+ "$ref": "#/rules@8"
378
+ },
379
+ "arguments": []
380
+ },
381
+ "deprecatedSyntax": false,
382
+ "isMulti": false
383
+ }
384
+ }
385
+ ],
386
+ "cardinality": "*"
387
+ },
388
+ {
389
+ "$type": "RuleCall",
390
+ "rule": {
391
+ "$ref": "#/rules@51"
392
+ },
393
+ "arguments": [],
394
+ "cardinality": "*"
395
+ },
396
+ {
397
+ "$type": "Keyword",
398
+ "value": ")"
399
+ }
400
+ ]
401
+ },
402
+ "entry": false,
403
+ "fragment": false,
404
+ "parameters": []
405
+ },
406
+ {
407
+ "$type": "ParserRule",
408
+ "name": "IdeaName",
409
+ "dataType": "string",
410
+ "definition": {
411
+ "$type": "Alternatives",
412
+ "elements": [
413
+ {
414
+ "$type": "RuleCall",
415
+ "rule": {
416
+ "$ref": "#/rules@56"
417
+ },
418
+ "arguments": []
419
+ },
420
+ {
421
+ "$type": "RuleCall",
422
+ "rule": {
423
+ "$ref": "#/rules@57"
424
+ },
425
+ "arguments": []
426
+ }
427
+ ]
428
+ },
429
+ "entry": false,
430
+ "fragment": false,
431
+ "parameters": []
432
+ },
433
+ {
434
+ "$type": "ParserRule",
435
+ "name": "IdeaMemberName",
436
+ "dataType": "string",
437
+ "definition": {
438
+ "$type": "Alternatives",
439
+ "elements": [
440
+ {
441
+ "$type": "RuleCall",
442
+ "rule": {
443
+ "$ref": "#/rules@56"
444
+ },
445
+ "arguments": []
446
+ },
447
+ {
448
+ "$type": "RuleCall",
449
+ "rule": {
450
+ "$ref": "#/rules@57"
451
+ },
452
+ "arguments": []
453
+ }
454
+ ]
455
+ },
456
+ "entry": false,
457
+ "fragment": false,
458
+ "parameters": []
459
+ },
460
+ {
461
+ "$type": "ParserRule",
462
+ "name": "ReferenceName",
463
+ "dataType": "string",
464
+ "definition": {
465
+ "$type": "RuleCall",
466
+ "rule": {
467
+ "$ref": "#/rules@56"
468
+ },
469
+ "arguments": []
470
+ },
471
+ "entry": false,
472
+ "fragment": false,
473
+ "parameters": []
474
+ },
475
+ {
476
+ "$type": "ParserRule",
477
+ "name": "BodyElement",
478
+ "definition": {
479
+ "$type": "Alternatives",
480
+ "elements": [
481
+ {
482
+ "$type": "RuleCall",
483
+ "rule": {
484
+ "$ref": "#/rules@18"
485
+ },
486
+ "arguments": []
487
+ },
488
+ {
489
+ "$type": "RuleCall",
490
+ "rule": {
491
+ "$ref": "#/rules@14"
492
+ },
493
+ "arguments": []
494
+ },
495
+ {
496
+ "$type": "RuleCall",
497
+ "rule": {
498
+ "$ref": "#/rules@28"
499
+ },
500
+ "arguments": []
501
+ },
502
+ {
503
+ "$type": "RuleCall",
504
+ "rule": {
505
+ "$ref": "#/rules@29"
506
+ },
507
+ "arguments": []
508
+ },
509
+ {
510
+ "$type": "RuleCall",
511
+ "rule": {
512
+ "$ref": "#/rules@11"
513
+ },
514
+ "arguments": []
515
+ }
516
+ ]
517
+ },
518
+ "entry": false,
519
+ "fragment": false,
520
+ "parameters": []
521
+ },
522
+ {
523
+ "$type": "ParserRule",
524
+ "name": "BodyLine",
525
+ "definition": {
526
+ "$type": "Assignment",
527
+ "feature": "parts",
528
+ "operator": "+=",
529
+ "terminal": {
530
+ "$type": "RuleCall",
531
+ "rule": {
532
+ "$ref": "#/rules@12"
533
+ },
534
+ "arguments": []
535
+ },
536
+ "cardinality": "+"
537
+ },
538
+ "entry": false,
539
+ "fragment": false,
540
+ "parameters": []
541
+ },
542
+ {
543
+ "$type": "ParserRule",
544
+ "name": "RichTextPart",
545
+ "definition": {
546
+ "$type": "Alternatives",
547
+ "elements": [
548
+ {
549
+ "$type": "RuleCall",
550
+ "rule": {
551
+ "$ref": "#/rules@37"
552
+ },
553
+ "arguments": []
554
+ },
555
+ {
556
+ "$type": "RuleCall",
557
+ "rule": {
558
+ "$ref": "#/rules@38"
559
+ },
560
+ "arguments": []
561
+ },
562
+ {
563
+ "$type": "RuleCall",
564
+ "rule": {
565
+ "$ref": "#/rules@40"
566
+ },
567
+ "arguments": []
568
+ },
569
+ {
570
+ "$type": "Assignment",
571
+ "feature": "inlineCode",
572
+ "operator": "=",
573
+ "terminal": {
574
+ "$type": "RuleCall",
575
+ "rule": {
576
+ "$ref": "#/rules@61"
577
+ },
578
+ "arguments": []
579
+ }
580
+ },
581
+ {
582
+ "$type": "Assignment",
583
+ "feature": "text",
584
+ "operator": "=",
585
+ "terminal": {
586
+ "$type": "RuleCall",
587
+ "rule": {
588
+ "$ref": "#/rules@16"
589
+ },
590
+ "arguments": []
591
+ }
592
+ },
593
+ {
594
+ "$type": "Assignment",
595
+ "feature": "lparen",
596
+ "operator": "=",
597
+ "terminal": {
598
+ "$type": "Keyword",
599
+ "value": "("
600
+ }
601
+ },
602
+ {
603
+ "$type": "Assignment",
604
+ "feature": "rparen",
605
+ "operator": "=",
606
+ "terminal": {
607
+ "$type": "Keyword",
608
+ "value": ")"
609
+ }
610
+ }
611
+ ]
612
+ },
613
+ "entry": false,
614
+ "fragment": false,
615
+ "parameters": []
616
+ },
617
+ {
618
+ "$type": "ParserRule",
619
+ "name": "InlineTextPart",
620
+ "definition": {
621
+ "$type": "Alternatives",
622
+ "elements": [
623
+ {
624
+ "$type": "RuleCall",
625
+ "rule": {
626
+ "$ref": "#/rules@37"
627
+ },
628
+ "arguments": []
629
+ },
630
+ {
631
+ "$type": "RuleCall",
632
+ "rule": {
633
+ "$ref": "#/rules@38"
634
+ },
635
+ "arguments": []
636
+ },
637
+ {
638
+ "$type": "RuleCall",
639
+ "rule": {
640
+ "$ref": "#/rules@40"
641
+ },
642
+ "arguments": []
643
+ },
644
+ {
645
+ "$type": "Assignment",
646
+ "feature": "inlineCode",
647
+ "operator": "=",
648
+ "terminal": {
649
+ "$type": "RuleCall",
650
+ "rule": {
651
+ "$ref": "#/rules@61"
652
+ },
653
+ "arguments": []
654
+ }
655
+ },
656
+ {
657
+ "$type": "Assignment",
658
+ "feature": "text",
659
+ "operator": "=",
660
+ "terminal": {
661
+ "$type": "RuleCall",
662
+ "rule": {
663
+ "$ref": "#/rules@16"
664
+ },
665
+ "arguments": []
666
+ }
667
+ }
668
+ ]
669
+ },
670
+ "entry": false,
671
+ "fragment": false,
672
+ "parameters": []
673
+ },
674
+ {
675
+ "$type": "ParserRule",
676
+ "name": "CodeSnippet",
677
+ "definition": {
678
+ "$type": "Assignment",
679
+ "feature": "raw",
680
+ "operator": "=",
681
+ "terminal": {
682
+ "$type": "RuleCall",
683
+ "rule": {
684
+ "$ref": "#/rules@62"
685
+ },
686
+ "arguments": []
687
+ }
688
+ },
689
+ "entry": false,
690
+ "fragment": false,
691
+ "parameters": []
692
+ },
693
+ {
694
+ "$type": "ParserRule",
695
+ "name": "OneLinerText",
696
+ "dataType": "string",
697
+ "definition": {
698
+ "$type": "Alternatives",
699
+ "elements": [
700
+ {
701
+ "$type": "RuleCall",
702
+ "rule": {
703
+ "$ref": "#/rules@59"
704
+ },
705
+ "arguments": []
706
+ },
707
+ {
708
+ "$type": "RuleCall",
709
+ "rule": {
710
+ "$ref": "#/rules@56"
711
+ },
712
+ "arguments": []
713
+ },
714
+ {
715
+ "$type": "RuleCall",
716
+ "rule": {
717
+ "$ref": "#/rules@58"
718
+ },
719
+ "arguments": []
720
+ },
721
+ {
722
+ "$type": "RuleCall",
723
+ "rule": {
724
+ "$ref": "#/rules@61"
725
+ },
726
+ "arguments": []
727
+ },
728
+ {
729
+ "$type": "RuleCall",
730
+ "rule": {
731
+ "$ref": "#/rules@60"
732
+ },
733
+ "arguments": []
734
+ },
735
+ {
736
+ "$type": "RuleCall",
737
+ "rule": {
738
+ "$ref": "#/rules@17"
739
+ },
740
+ "arguments": []
741
+ },
742
+ {
743
+ "$type": "Keyword",
744
+ "value": "("
745
+ },
746
+ {
747
+ "$type": "Keyword",
748
+ "value": ")"
749
+ },
750
+ {
751
+ "$type": "Keyword",
752
+ "value": "|"
753
+ },
754
+ {
755
+ "$type": "Keyword",
756
+ "value": "from"
757
+ },
758
+ {
759
+ "$type": "Keyword",
760
+ "value": "import"
761
+ },
762
+ {
763
+ "$type": "Keyword",
764
+ "value": "as"
765
+ },
766
+ {
767
+ "$type": "Keyword",
768
+ "value": "\`"
769
+ }
770
+ ]
771
+ },
772
+ "entry": false,
773
+ "fragment": false,
774
+ "parameters": []
775
+ },
776
+ {
777
+ "$type": "ParserRule",
778
+ "name": "PlainText",
779
+ "dataType": "string",
780
+ "definition": {
781
+ "$type": "Alternatives",
782
+ "elements": [
783
+ {
784
+ "$type": "RuleCall",
785
+ "rule": {
786
+ "$ref": "#/rules@59"
787
+ },
788
+ "arguments": []
789
+ },
790
+ {
791
+ "$type": "RuleCall",
792
+ "rule": {
793
+ "$ref": "#/rules@56"
794
+ },
795
+ "arguments": []
796
+ },
797
+ {
798
+ "$type": "RuleCall",
799
+ "rule": {
800
+ "$ref": "#/rules@58"
801
+ },
802
+ "arguments": []
803
+ },
804
+ {
805
+ "$type": "RuleCall",
806
+ "rule": {
807
+ "$ref": "#/rules@60"
808
+ },
809
+ "arguments": []
810
+ },
811
+ {
812
+ "$type": "RuleCall",
813
+ "rule": {
814
+ "$ref": "#/rules@17"
815
+ },
816
+ "arguments": []
817
+ },
818
+ {
819
+ "$type": "Keyword",
820
+ "value": "["
821
+ },
822
+ {
823
+ "$type": "Keyword",
824
+ "value": "]"
825
+ },
826
+ {
827
+ "$type": "Keyword",
828
+ "value": "|"
829
+ },
830
+ {
831
+ "$type": "Keyword",
832
+ "value": "from"
833
+ },
834
+ {
835
+ "$type": "Keyword",
836
+ "value": "import"
837
+ },
838
+ {
839
+ "$type": "Keyword",
840
+ "value": "as"
841
+ },
842
+ {
843
+ "$type": "Keyword",
844
+ "value": "\`"
845
+ }
846
+ ]
847
+ },
848
+ "entry": false,
849
+ "fragment": false,
850
+ "parameters": []
851
+ },
852
+ {
853
+ "$type": "ParserRule",
854
+ "name": "PlainPunctuation",
855
+ "dataType": "string",
856
+ "definition": {
857
+ "$type": "Alternatives",
858
+ "elements": [
859
+ {
860
+ "$type": "Keyword",
861
+ "value": "."
862
+ },
863
+ {
864
+ "$type": "Keyword",
865
+ "value": ","
866
+ },
867
+ {
868
+ "$type": "Keyword",
869
+ "value": ":"
870
+ },
871
+ {
872
+ "$type": "Keyword",
873
+ "value": ";"
874
+ },
875
+ {
876
+ "$type": "Keyword",
877
+ "value": "!"
878
+ },
879
+ {
880
+ "$type": "Keyword",
881
+ "value": "?"
882
+ },
883
+ {
884
+ "$type": "Keyword",
885
+ "value": "-"
886
+ }
887
+ ]
888
+ },
889
+ "entry": false,
890
+ "fragment": false,
891
+ "parameters": []
892
+ },
893
+ {
894
+ "$type": "ParserRule",
895
+ "name": "Attribute",
896
+ "definition": {
897
+ "$type": "Group",
898
+ "elements": [
899
+ {
900
+ "$type": "Keyword",
901
+ "value": "@"
902
+ },
903
+ {
904
+ "$type": "Assignment",
905
+ "feature": "name",
906
+ "operator": "=",
907
+ "terminal": {
908
+ "$type": "RuleCall",
909
+ "rule": {
910
+ "$ref": "#/rules@56"
911
+ },
912
+ "arguments": []
913
+ }
914
+ },
915
+ {
916
+ "$type": "Alternatives",
917
+ "elements": [
918
+ {
919
+ "$type": "Assignment",
920
+ "feature": "negated",
921
+ "operator": "?=",
922
+ "terminal": {
923
+ "$type": "Keyword",
924
+ "value": "!"
925
+ }
926
+ },
927
+ {
928
+ "$type": "Group",
929
+ "elements": [
930
+ {
931
+ "$type": "Keyword",
932
+ "value": ":"
933
+ },
934
+ {
935
+ "$type": "Assignment",
936
+ "feature": "value",
937
+ "operator": "=",
938
+ "terminal": {
939
+ "$type": "RuleCall",
940
+ "rule": {
941
+ "$ref": "#/rules@19"
942
+ },
943
+ "arguments": []
944
+ }
945
+ }
946
+ ]
947
+ },
948
+ {
949
+ "$type": "Assignment",
950
+ "feature": "value",
951
+ "operator": "=",
952
+ "terminal": {
953
+ "$type": "RuleCall",
954
+ "rule": {
955
+ "$ref": "#/rules@19"
956
+ },
957
+ "arguments": []
958
+ }
959
+ }
960
+ ],
961
+ "cardinality": "?"
962
+ }
963
+ ]
964
+ },
965
+ "entry": false,
966
+ "fragment": false,
967
+ "parameters": []
968
+ },
969
+ {
970
+ "$type": "ParserRule",
971
+ "name": "AttributeValue",
972
+ "definition": {
973
+ "$type": "Alternatives",
974
+ "elements": [
975
+ {
976
+ "$type": "RuleCall",
977
+ "rule": {
978
+ "$ref": "#/rules@24"
979
+ },
980
+ "arguments": []
981
+ },
982
+ {
983
+ "$type": "RuleCall",
984
+ "rule": {
985
+ "$ref": "#/rules@27"
986
+ },
987
+ "arguments": []
988
+ },
989
+ {
990
+ "$type": "RuleCall",
991
+ "rule": {
992
+ "$ref": "#/rules@20"
993
+ },
994
+ "arguments": []
995
+ }
996
+ ]
997
+ },
998
+ "entry": false,
999
+ "fragment": false,
1000
+ "parameters": []
1001
+ },
1002
+ {
1003
+ "$type": "ParserRule",
1004
+ "name": "ScalarValue",
1005
+ "definition": {
1006
+ "$type": "Group",
1007
+ "elements": [
1008
+ {
1009
+ "$type": "Assignment",
1010
+ "feature": "parts",
1011
+ "operator": "+=",
1012
+ "terminal": {
1013
+ "$type": "RuleCall",
1014
+ "rule": {
1015
+ "$ref": "#/rules@21"
1016
+ },
1017
+ "arguments": []
1018
+ }
1019
+ },
1020
+ {
1021
+ "$type": "Assignment",
1022
+ "feature": "parts",
1023
+ "operator": "+=",
1024
+ "terminal": {
1025
+ "$type": "RuleCall",
1026
+ "rule": {
1027
+ "$ref": "#/rules@13"
1028
+ },
1029
+ "arguments": []
1030
+ },
1031
+ "cardinality": "*"
1032
+ }
1033
+ ]
1034
+ },
1035
+ "entry": false,
1036
+ "fragment": false,
1037
+ "parameters": []
1038
+ },
1039
+ {
1040
+ "$type": "ParserRule",
1041
+ "name": "NonBangInlineTextPart",
1042
+ "definition": {
1043
+ "$type": "Alternatives",
1044
+ "elements": [
1045
+ {
1046
+ "$type": "RuleCall",
1047
+ "rule": {
1048
+ "$ref": "#/rules@37"
1049
+ },
1050
+ "arguments": []
1051
+ },
1052
+ {
1053
+ "$type": "RuleCall",
1054
+ "rule": {
1055
+ "$ref": "#/rules@38"
1056
+ },
1057
+ "arguments": []
1058
+ },
1059
+ {
1060
+ "$type": "RuleCall",
1061
+ "rule": {
1062
+ "$ref": "#/rules@40"
1063
+ },
1064
+ "arguments": []
1065
+ },
1066
+ {
1067
+ "$type": "Assignment",
1068
+ "feature": "inlineCode",
1069
+ "operator": "=",
1070
+ "terminal": {
1071
+ "$type": "RuleCall",
1072
+ "rule": {
1073
+ "$ref": "#/rules@61"
1074
+ },
1075
+ "arguments": []
1076
+ }
1077
+ },
1078
+ {
1079
+ "$type": "Assignment",
1080
+ "feature": "text",
1081
+ "operator": "=",
1082
+ "terminal": {
1083
+ "$type": "RuleCall",
1084
+ "rule": {
1085
+ "$ref": "#/rules@22"
1086
+ },
1087
+ "arguments": []
1088
+ }
1089
+ }
1090
+ ]
1091
+ },
1092
+ "entry": false,
1093
+ "fragment": false,
1094
+ "parameters": []
1095
+ },
1096
+ {
1097
+ "$type": "ParserRule",
1098
+ "name": "NonBangPlainText",
1099
+ "dataType": "string",
1100
+ "definition": {
1101
+ "$type": "Alternatives",
1102
+ "elements": [
1103
+ {
1104
+ "$type": "RuleCall",
1105
+ "rule": {
1106
+ "$ref": "#/rules@59"
1107
+ },
1108
+ "arguments": []
1109
+ },
1110
+ {
1111
+ "$type": "RuleCall",
1112
+ "rule": {
1113
+ "$ref": "#/rules@56"
1114
+ },
1115
+ "arguments": []
1116
+ },
1117
+ {
1118
+ "$type": "RuleCall",
1119
+ "rule": {
1120
+ "$ref": "#/rules@58"
1121
+ },
1122
+ "arguments": []
1123
+ },
1124
+ {
1125
+ "$type": "RuleCall",
1126
+ "rule": {
1127
+ "$ref": "#/rules@60"
1128
+ },
1129
+ "arguments": []
1130
+ },
1131
+ {
1132
+ "$type": "RuleCall",
1133
+ "rule": {
1134
+ "$ref": "#/rules@23"
1135
+ },
1136
+ "arguments": []
1137
+ },
1138
+ {
1139
+ "$type": "Keyword",
1140
+ "value": "["
1141
+ },
1142
+ {
1143
+ "$type": "Keyword",
1144
+ "value": "]"
1145
+ },
1146
+ {
1147
+ "$type": "Keyword",
1148
+ "value": "|"
1149
+ },
1150
+ {
1151
+ "$type": "Keyword",
1152
+ "value": "from"
1153
+ },
1154
+ {
1155
+ "$type": "Keyword",
1156
+ "value": "import"
1157
+ },
1158
+ {
1159
+ "$type": "Keyword",
1160
+ "value": "as"
1161
+ },
1162
+ {
1163
+ "$type": "Keyword",
1164
+ "value": "\`"
1165
+ }
1166
+ ]
1167
+ },
1168
+ "entry": false,
1169
+ "fragment": false,
1170
+ "parameters": []
1171
+ },
1172
+ {
1173
+ "$type": "ParserRule",
1174
+ "name": "NonBangPunctuation",
1175
+ "dataType": "string",
1176
+ "definition": {
1177
+ "$type": "Alternatives",
1178
+ "elements": [
1179
+ {
1180
+ "$type": "Keyword",
1181
+ "value": "."
1182
+ },
1183
+ {
1184
+ "$type": "Keyword",
1185
+ "value": ","
1186
+ },
1187
+ {
1188
+ "$type": "Keyword",
1189
+ "value": ";"
1190
+ },
1191
+ {
1192
+ "$type": "Keyword",
1193
+ "value": "?"
1194
+ },
1195
+ {
1196
+ "$type": "Keyword",
1197
+ "value": "-"
1198
+ }
1199
+ ]
1200
+ },
1201
+ "entry": false,
1202
+ "fragment": false,
1203
+ "parameters": []
1204
+ },
1205
+ {
1206
+ "$type": "ParserRule",
1207
+ "name": "BlockValue",
1208
+ "definition": {
1209
+ "$type": "Group",
1210
+ "elements": [
1211
+ {
1212
+ "$type": "Keyword",
1213
+ "value": "{"
1214
+ },
1215
+ {
1216
+ "$type": "Group",
1217
+ "elements": [
1218
+ {
1219
+ "$type": "RuleCall",
1220
+ "rule": {
1221
+ "$ref": "#/rules@51"
1222
+ },
1223
+ "arguments": [],
1224
+ "cardinality": "*"
1225
+ },
1226
+ {
1227
+ "$type": "Assignment",
1228
+ "feature": "elements",
1229
+ "operator": "+=",
1230
+ "terminal": {
1231
+ "$type": "RuleCall",
1232
+ "rule": {
1233
+ "$ref": "#/rules@25"
1234
+ },
1235
+ "arguments": []
1236
+ }
1237
+ }
1238
+ ],
1239
+ "cardinality": "*"
1240
+ },
1241
+ {
1242
+ "$type": "RuleCall",
1243
+ "rule": {
1244
+ "$ref": "#/rules@51"
1245
+ },
1246
+ "arguments": [],
1247
+ "cardinality": "*"
1248
+ },
1249
+ {
1250
+ "$type": "Keyword",
1251
+ "value": "}"
1252
+ }
1253
+ ]
1254
+ },
1255
+ "entry": false,
1256
+ "fragment": false,
1257
+ "parameters": []
1258
+ },
1259
+ {
1260
+ "$type": "ParserRule",
1261
+ "name": "BlockElement",
1262
+ "definition": {
1263
+ "$type": "Alternatives",
1264
+ "elements": [
1265
+ {
1266
+ "$type": "RuleCall",
1267
+ "rule": {
1268
+ "$ref": "#/rules@18"
1269
+ },
1270
+ "arguments": []
1271
+ },
1272
+ {
1273
+ "$type": "RuleCall",
1274
+ "rule": {
1275
+ "$ref": "#/rules@14"
1276
+ },
1277
+ "arguments": []
1278
+ },
1279
+ {
1280
+ "$type": "RuleCall",
1281
+ "rule": {
1282
+ "$ref": "#/rules@28"
1283
+ },
1284
+ "arguments": []
1285
+ },
1286
+ {
1287
+ "$type": "RuleCall",
1288
+ "rule": {
1289
+ "$ref": "#/rules@29"
1290
+ },
1291
+ "arguments": []
1292
+ },
1293
+ {
1294
+ "$type": "RuleCall",
1295
+ "rule": {
1296
+ "$ref": "#/rules@26"
1297
+ },
1298
+ "arguments": []
1299
+ }
1300
+ ]
1301
+ },
1302
+ "entry": false,
1303
+ "fragment": false,
1304
+ "parameters": []
1305
+ },
1306
+ {
1307
+ "$type": "ParserRule",
1308
+ "name": "BlockLine",
1309
+ "definition": {
1310
+ "$type": "Assignment",
1311
+ "feature": "parts",
1312
+ "operator": "+=",
1313
+ "terminal": {
1314
+ "$type": "RuleCall",
1315
+ "rule": {
1316
+ "$ref": "#/rules@12"
1317
+ },
1318
+ "arguments": []
1319
+ },
1320
+ "cardinality": "+"
1321
+ },
1322
+ "entry": false,
1323
+ "fragment": false,
1324
+ "parameters": []
1325
+ },
1326
+ {
1327
+ "$type": "ParserRule",
1328
+ "name": "ListValue",
1329
+ "definition": {
1330
+ "$type": "Group",
1331
+ "elements": [
1332
+ {
1333
+ "$type": "Keyword",
1334
+ "value": "("
1335
+ },
1336
+ {
1337
+ "$type": "RuleCall",
1338
+ "rule": {
1339
+ "$ref": "#/rules@51"
1340
+ },
1341
+ "arguments": [],
1342
+ "cardinality": "*"
1343
+ },
1344
+ {
1345
+ "$type": "Assignment",
1346
+ "feature": "items",
1347
+ "operator": "+=",
1348
+ "terminal": {
1349
+ "$type": "RuleCall",
1350
+ "rule": {
1351
+ "$ref": "#/rules@30"
1352
+ },
1353
+ "arguments": []
1354
+ }
1355
+ },
1356
+ {
1357
+ "$type": "Group",
1358
+ "elements": [
1359
+ {
1360
+ "$type": "Alternatives",
1361
+ "elements": [
1362
+ {
1363
+ "$type": "Group",
1364
+ "elements": [
1365
+ {
1366
+ "$type": "RuleCall",
1367
+ "rule": {
1368
+ "$ref": "#/rules@51"
1369
+ },
1370
+ "arguments": [],
1371
+ "cardinality": "*"
1372
+ },
1373
+ {
1374
+ "$type": "Keyword",
1375
+ "value": ","
1376
+ },
1377
+ {
1378
+ "$type": "RuleCall",
1379
+ "rule": {
1380
+ "$ref": "#/rules@51"
1381
+ },
1382
+ "arguments": [],
1383
+ "cardinality": "*"
1384
+ }
1385
+ ]
1386
+ },
1387
+ {
1388
+ "$type": "RuleCall",
1389
+ "rule": {
1390
+ "$ref": "#/rules@51"
1391
+ },
1392
+ "arguments": [],
1393
+ "cardinality": "+"
1394
+ }
1395
+ ]
1396
+ },
1397
+ {
1398
+ "$type": "Assignment",
1399
+ "feature": "items",
1400
+ "operator": "+=",
1401
+ "terminal": {
1402
+ "$type": "RuleCall",
1403
+ "rule": {
1404
+ "$ref": "#/rules@30"
1405
+ },
1406
+ "arguments": []
1407
+ }
1408
+ }
1409
+ ],
1410
+ "cardinality": "*"
1411
+ },
1412
+ {
1413
+ "$type": "RuleCall",
1414
+ "rule": {
1415
+ "$ref": "#/rules@51"
1416
+ },
1417
+ "arguments": [],
1418
+ "cardinality": "*"
1419
+ },
1420
+ {
1421
+ "$type": "Group",
1422
+ "elements": [
1423
+ {
1424
+ "$type": "Keyword",
1425
+ "value": ","
1426
+ },
1427
+ {
1428
+ "$type": "RuleCall",
1429
+ "rule": {
1430
+ "$ref": "#/rules@51"
1431
+ },
1432
+ "arguments": [],
1433
+ "cardinality": "*"
1434
+ }
1435
+ ],
1436
+ "cardinality": "?"
1437
+ },
1438
+ {
1439
+ "$type": "Keyword",
1440
+ "value": ")"
1441
+ }
1442
+ ]
1443
+ },
1444
+ "entry": false,
1445
+ "fragment": false,
1446
+ "parameters": []
1447
+ },
1448
+ {
1449
+ "$type": "ParserRule",
1450
+ "name": "NamedList",
1451
+ "definition": {
1452
+ "$type": "Group",
1453
+ "elements": [
1454
+ {
1455
+ "$type": "Assignment",
1456
+ "feature": "label",
1457
+ "operator": "=",
1458
+ "terminal": {
1459
+ "$type": "RuleCall",
1460
+ "rule": {
1461
+ "$ref": "#/rules@56"
1462
+ },
1463
+ "arguments": []
1464
+ }
1465
+ },
1466
+ {
1467
+ "$type": "Keyword",
1468
+ "value": "("
1469
+ },
1470
+ {
1471
+ "$type": "RuleCall",
1472
+ "rule": {
1473
+ "$ref": "#/rules@51"
1474
+ },
1475
+ "arguments": [],
1476
+ "cardinality": "+"
1477
+ },
1478
+ {
1479
+ "$type": "Assignment",
1480
+ "feature": "items",
1481
+ "operator": "+=",
1482
+ "terminal": {
1483
+ "$type": "RuleCall",
1484
+ "rule": {
1485
+ "$ref": "#/rules@30"
1486
+ },
1487
+ "arguments": []
1488
+ }
1489
+ },
1490
+ {
1491
+ "$type": "Group",
1492
+ "elements": [
1493
+ {
1494
+ "$type": "Alternatives",
1495
+ "elements": [
1496
+ {
1497
+ "$type": "Group",
1498
+ "elements": [
1499
+ {
1500
+ "$type": "RuleCall",
1501
+ "rule": {
1502
+ "$ref": "#/rules@51"
1503
+ },
1504
+ "arguments": [],
1505
+ "cardinality": "*"
1506
+ },
1507
+ {
1508
+ "$type": "Keyword",
1509
+ "value": ","
1510
+ },
1511
+ {
1512
+ "$type": "RuleCall",
1513
+ "rule": {
1514
+ "$ref": "#/rules@51"
1515
+ },
1516
+ "arguments": [],
1517
+ "cardinality": "*"
1518
+ }
1519
+ ]
1520
+ },
1521
+ {
1522
+ "$type": "RuleCall",
1523
+ "rule": {
1524
+ "$ref": "#/rules@51"
1525
+ },
1526
+ "arguments": [],
1527
+ "cardinality": "+"
1528
+ }
1529
+ ]
1530
+ },
1531
+ {
1532
+ "$type": "Assignment",
1533
+ "feature": "items",
1534
+ "operator": "+=",
1535
+ "terminal": {
1536
+ "$type": "RuleCall",
1537
+ "rule": {
1538
+ "$ref": "#/rules@30"
1539
+ },
1540
+ "arguments": []
1541
+ }
1542
+ }
1543
+ ],
1544
+ "cardinality": "*"
1545
+ },
1546
+ {
1547
+ "$type": "RuleCall",
1548
+ "rule": {
1549
+ "$ref": "#/rules@51"
1550
+ },
1551
+ "arguments": [],
1552
+ "cardinality": "*"
1553
+ },
1554
+ {
1555
+ "$type": "Group",
1556
+ "elements": [
1557
+ {
1558
+ "$type": "Keyword",
1559
+ "value": ","
1560
+ },
1561
+ {
1562
+ "$type": "RuleCall",
1563
+ "rule": {
1564
+ "$ref": "#/rules@51"
1565
+ },
1566
+ "arguments": [],
1567
+ "cardinality": "*"
1568
+ }
1569
+ ],
1570
+ "cardinality": "?"
1571
+ },
1572
+ {
1573
+ "$type": "Keyword",
1574
+ "value": ")"
1575
+ }
1576
+ ]
1577
+ },
1578
+ "entry": false,
1579
+ "fragment": false,
1580
+ "parameters": []
1581
+ },
1582
+ {
1583
+ "$type": "ParserRule",
1584
+ "name": "NestedList",
1585
+ "definition": {
1586
+ "$type": "Group",
1587
+ "elements": [
1588
+ {
1589
+ "$type": "Keyword",
1590
+ "value": "("
1591
+ },
1592
+ {
1593
+ "$type": "RuleCall",
1594
+ "rule": {
1595
+ "$ref": "#/rules@51"
1596
+ },
1597
+ "arguments": [],
1598
+ "cardinality": "+"
1599
+ },
1600
+ {
1601
+ "$type": "Assignment",
1602
+ "feature": "items",
1603
+ "operator": "+=",
1604
+ "terminal": {
1605
+ "$type": "RuleCall",
1606
+ "rule": {
1607
+ "$ref": "#/rules@30"
1608
+ },
1609
+ "arguments": []
1610
+ }
1611
+ },
1612
+ {
1613
+ "$type": "Group",
1614
+ "elements": [
1615
+ {
1616
+ "$type": "Alternatives",
1617
+ "elements": [
1618
+ {
1619
+ "$type": "Group",
1620
+ "elements": [
1621
+ {
1622
+ "$type": "RuleCall",
1623
+ "rule": {
1624
+ "$ref": "#/rules@51"
1625
+ },
1626
+ "arguments": [],
1627
+ "cardinality": "*"
1628
+ },
1629
+ {
1630
+ "$type": "Keyword",
1631
+ "value": ","
1632
+ },
1633
+ {
1634
+ "$type": "RuleCall",
1635
+ "rule": {
1636
+ "$ref": "#/rules@51"
1637
+ },
1638
+ "arguments": [],
1639
+ "cardinality": "*"
1640
+ }
1641
+ ]
1642
+ },
1643
+ {
1644
+ "$type": "RuleCall",
1645
+ "rule": {
1646
+ "$ref": "#/rules@51"
1647
+ },
1648
+ "arguments": [],
1649
+ "cardinality": "+"
1650
+ }
1651
+ ]
1652
+ },
1653
+ {
1654
+ "$type": "Assignment",
1655
+ "feature": "items",
1656
+ "operator": "+=",
1657
+ "terminal": {
1658
+ "$type": "RuleCall",
1659
+ "rule": {
1660
+ "$ref": "#/rules@30"
1661
+ },
1662
+ "arguments": []
1663
+ }
1664
+ }
1665
+ ],
1666
+ "cardinality": "*"
1667
+ },
1668
+ {
1669
+ "$type": "RuleCall",
1670
+ "rule": {
1671
+ "$ref": "#/rules@51"
1672
+ },
1673
+ "arguments": [],
1674
+ "cardinality": "*"
1675
+ },
1676
+ {
1677
+ "$type": "Group",
1678
+ "elements": [
1679
+ {
1680
+ "$type": "Keyword",
1681
+ "value": ","
1682
+ },
1683
+ {
1684
+ "$type": "RuleCall",
1685
+ "rule": {
1686
+ "$ref": "#/rules@51"
1687
+ },
1688
+ "arguments": [],
1689
+ "cardinality": "*"
1690
+ }
1691
+ ],
1692
+ "cardinality": "?"
1693
+ },
1694
+ {
1695
+ "$type": "Keyword",
1696
+ "value": ")"
1697
+ }
1698
+ ]
1699
+ },
1700
+ "entry": false,
1701
+ "fragment": false,
1702
+ "parameters": []
1703
+ },
1704
+ {
1705
+ "$type": "ParserRule",
1706
+ "name": "ListItem",
1707
+ "definition": {
1708
+ "$type": "Alternatives",
1709
+ "elements": [
1710
+ {
1711
+ "$type": "RuleCall",
1712
+ "rule": {
1713
+ "$ref": "#/rules@31"
1714
+ },
1715
+ "arguments": []
1716
+ },
1717
+ {
1718
+ "$type": "RuleCall",
1719
+ "rule": {
1720
+ "$ref": "#/rules@36"
1721
+ },
1722
+ "arguments": []
1723
+ },
1724
+ {
1725
+ "$type": "RuleCall",
1726
+ "rule": {
1727
+ "$ref": "#/rules@35"
1728
+ },
1729
+ "arguments": []
1730
+ },
1731
+ {
1732
+ "$type": "RuleCall",
1733
+ "rule": {
1734
+ "$ref": "#/rules@29"
1735
+ },
1736
+ "arguments": []
1737
+ }
1738
+ ]
1739
+ },
1740
+ "entry": false,
1741
+ "fragment": false,
1742
+ "parameters": []
1743
+ },
1744
+ {
1745
+ "$type": "ParserRule",
1746
+ "name": "OneLinerListItem",
1747
+ "definition": {
1748
+ "$type": "Assignment",
1749
+ "feature": "body",
1750
+ "operator": "=",
1751
+ "terminal": {
1752
+ "$type": "RuleCall",
1753
+ "rule": {
1754
+ "$ref": "#/rules@32"
1755
+ },
1756
+ "arguments": []
1757
+ }
1758
+ },
1759
+ "entry": false,
1760
+ "fragment": false,
1761
+ "parameters": []
1762
+ },
1763
+ {
1764
+ "$type": "ParserRule",
1765
+ "name": "ListItemBody",
1766
+ "definition": {
1767
+ "$type": "Assignment",
1768
+ "feature": "content",
1769
+ "operator": "+=",
1770
+ "terminal": {
1771
+ "$type": "Alternatives",
1772
+ "elements": [
1773
+ {
1774
+ "$type": "RuleCall",
1775
+ "rule": {
1776
+ "$ref": "#/rules@37"
1777
+ },
1778
+ "arguments": []
1779
+ },
1780
+ {
1781
+ "$type": "RuleCall",
1782
+ "rule": {
1783
+ "$ref": "#/rules@40"
1784
+ },
1785
+ "arguments": []
1786
+ },
1787
+ {
1788
+ "$type": "RuleCall",
1789
+ "rule": {
1790
+ "$ref": "#/rules@38"
1791
+ },
1792
+ "arguments": []
1793
+ },
1794
+ {
1795
+ "$type": "RuleCall",
1796
+ "rule": {
1797
+ "$ref": "#/rules@33"
1798
+ },
1799
+ "arguments": []
1800
+ }
1801
+ ]
1802
+ },
1803
+ "cardinality": "+"
1804
+ },
1805
+ "entry": false,
1806
+ "fragment": false,
1807
+ "parameters": []
1808
+ },
1809
+ {
1810
+ "$type": "ParserRule",
1811
+ "name": "ListItemText",
1812
+ "dataType": "string",
1813
+ "definition": {
1814
+ "$type": "Alternatives",
1815
+ "elements": [
1816
+ {
1817
+ "$type": "RuleCall",
1818
+ "rule": {
1819
+ "$ref": "#/rules@59"
1820
+ },
1821
+ "arguments": []
1822
+ },
1823
+ {
1824
+ "$type": "RuleCall",
1825
+ "rule": {
1826
+ "$ref": "#/rules@56"
1827
+ },
1828
+ "arguments": []
1829
+ },
1830
+ {
1831
+ "$type": "RuleCall",
1832
+ "rule": {
1833
+ "$ref": "#/rules@58"
1834
+ },
1835
+ "arguments": []
1836
+ },
1837
+ {
1838
+ "$type": "RuleCall",
1839
+ "rule": {
1840
+ "$ref": "#/rules@61"
1841
+ },
1842
+ "arguments": []
1843
+ },
1844
+ {
1845
+ "$type": "RuleCall",
1846
+ "rule": {
1847
+ "$ref": "#/rules@60"
1848
+ },
1849
+ "arguments": []
1850
+ },
1851
+ {
1852
+ "$type": "RuleCall",
1853
+ "rule": {
1854
+ "$ref": "#/rules@34"
1855
+ },
1856
+ "arguments": []
1857
+ },
1858
+ {
1859
+ "$type": "Keyword",
1860
+ "value": "("
1861
+ },
1862
+ {
1863
+ "$type": "Keyword",
1864
+ "value": "|"
1865
+ },
1866
+ {
1867
+ "$type": "Keyword",
1868
+ "value": "from"
1869
+ },
1870
+ {
1871
+ "$type": "Keyword",
1872
+ "value": "import"
1873
+ },
1874
+ {
1875
+ "$type": "Keyword",
1876
+ "value": "as"
1877
+ },
1878
+ {
1879
+ "$type": "Keyword",
1880
+ "value": "\`"
1881
+ }
1882
+ ]
1883
+ },
1884
+ "entry": false,
1885
+ "fragment": false,
1886
+ "parameters": []
1887
+ },
1888
+ {
1889
+ "$type": "ParserRule",
1890
+ "name": "ListItemPunctuation",
1891
+ "dataType": "string",
1892
+ "definition": {
1893
+ "$type": "Alternatives",
1894
+ "elements": [
1895
+ {
1896
+ "$type": "Keyword",
1897
+ "value": "."
1898
+ },
1899
+ {
1900
+ "$type": "Keyword",
1901
+ "value": ":"
1902
+ },
1903
+ {
1904
+ "$type": "Keyword",
1905
+ "value": ";"
1906
+ },
1907
+ {
1908
+ "$type": "Keyword",
1909
+ "value": "!"
1910
+ },
1911
+ {
1912
+ "$type": "Keyword",
1913
+ "value": "?"
1914
+ },
1915
+ {
1916
+ "$type": "Keyword",
1917
+ "value": "-"
1918
+ }
1919
+ ]
1920
+ },
1921
+ "entry": false,
1922
+ "fragment": false,
1923
+ "parameters": []
1924
+ },
1925
+ {
1926
+ "$type": "ParserRule",
1927
+ "name": "NamedBlockListItem",
1928
+ "definition": {
1929
+ "$type": "Group",
1930
+ "elements": [
1931
+ {
1932
+ "$type": "Assignment",
1933
+ "feature": "name",
1934
+ "operator": "=",
1935
+ "terminal": {
1936
+ "$type": "RuleCall",
1937
+ "rule": {
1938
+ "$ref": "#/rules@56"
1939
+ },
1940
+ "arguments": []
1941
+ }
1942
+ },
1943
+ {
1944
+ "$type": "Keyword",
1945
+ "value": "{"
1946
+ },
1947
+ {
1948
+ "$type": "Group",
1949
+ "elements": [
1950
+ {
1951
+ "$type": "RuleCall",
1952
+ "rule": {
1953
+ "$ref": "#/rules@51"
1954
+ },
1955
+ "arguments": [],
1956
+ "cardinality": "*"
1957
+ },
1958
+ {
1959
+ "$type": "Assignment",
1960
+ "feature": "elements",
1961
+ "operator": "+=",
1962
+ "terminal": {
1963
+ "$type": "RuleCall",
1964
+ "rule": {
1965
+ "$ref": "#/rules@10"
1966
+ },
1967
+ "arguments": []
1968
+ }
1969
+ }
1970
+ ],
1971
+ "cardinality": "*"
1972
+ },
1973
+ {
1974
+ "$type": "RuleCall",
1975
+ "rule": {
1976
+ "$ref": "#/rules@51"
1977
+ },
1978
+ "arguments": [],
1979
+ "cardinality": "*"
1980
+ },
1981
+ {
1982
+ "$type": "Keyword",
1983
+ "value": "}"
1984
+ }
1985
+ ]
1986
+ },
1987
+ "entry": false,
1988
+ "fragment": false,
1989
+ "parameters": []
1990
+ },
1991
+ {
1992
+ "$type": "ParserRule",
1993
+ "name": "AnonymousBlock",
1994
+ "definition": {
1995
+ "$type": "Group",
1996
+ "elements": [
1997
+ {
1998
+ "$type": "Keyword",
1999
+ "value": "{"
2000
+ },
2001
+ {
2002
+ "$type": "Group",
2003
+ "elements": [
2004
+ {
2005
+ "$type": "RuleCall",
2006
+ "rule": {
2007
+ "$ref": "#/rules@51"
2008
+ },
2009
+ "arguments": [],
2010
+ "cardinality": "*"
2011
+ },
2012
+ {
2013
+ "$type": "Assignment",
2014
+ "feature": "elements",
2015
+ "operator": "+=",
2016
+ "terminal": {
2017
+ "$type": "RuleCall",
2018
+ "rule": {
2019
+ "$ref": "#/rules@10"
2020
+ },
2021
+ "arguments": []
2022
+ }
2023
+ }
2024
+ ],
2025
+ "cardinality": "*"
2026
+ },
2027
+ {
2028
+ "$type": "RuleCall",
2029
+ "rule": {
2030
+ "$ref": "#/rules@51"
2031
+ },
2032
+ "arguments": [],
2033
+ "cardinality": "*"
2034
+ },
2035
+ {
2036
+ "$type": "Keyword",
2037
+ "value": "}"
2038
+ }
2039
+ ]
2040
+ },
2041
+ "entry": false,
2042
+ "fragment": false,
2043
+ "parameters": []
2044
+ },
2045
+ {
2046
+ "$type": "ParserRule",
2047
+ "name": "MarkdownLink",
2048
+ "definition": {
2049
+ "$type": "Assignment",
2050
+ "feature": "raw",
2051
+ "operator": "=",
2052
+ "terminal": {
2053
+ "$type": "RuleCall",
2054
+ "rule": {
2055
+ "$ref": "#/rules@55"
2056
+ },
2057
+ "arguments": []
2058
+ }
2059
+ },
2060
+ "entry": false,
2061
+ "fragment": false,
2062
+ "parameters": []
2063
+ },
2064
+ {
2065
+ "$type": "ParserRule",
2066
+ "name": "WikiLink",
2067
+ "definition": {
2068
+ "$type": "Group",
2069
+ "elements": [
2070
+ {
2071
+ "$type": "Keyword",
2072
+ "value": "[["
2073
+ },
2074
+ {
2075
+ "$type": "Assignment",
2076
+ "feature": "target",
2077
+ "operator": "=",
2078
+ "terminal": {
2079
+ "$type": "RuleCall",
2080
+ "rule": {
2081
+ "$ref": "#/rules@41"
2082
+ },
2083
+ "arguments": []
2084
+ }
2085
+ },
2086
+ {
2087
+ "$type": "Group",
2088
+ "elements": [
2089
+ {
2090
+ "$type": "Keyword",
2091
+ "value": "|"
2092
+ },
2093
+ {
2094
+ "$type": "Assignment",
2095
+ "feature": "alias",
2096
+ "operator": "+=",
2097
+ "terminal": {
2098
+ "$type": "RuleCall",
2099
+ "rule": {
2100
+ "$ref": "#/rules@39"
2101
+ },
2102
+ "arguments": []
2103
+ },
2104
+ "cardinality": "+"
2105
+ }
2106
+ ],
2107
+ "cardinality": "?"
2108
+ },
2109
+ {
2110
+ "$type": "Keyword",
2111
+ "value": "]]"
2112
+ }
2113
+ ]
2114
+ },
2115
+ "entry": false,
2116
+ "fragment": false,
2117
+ "parameters": []
2118
+ },
2119
+ {
2120
+ "$type": "ParserRule",
2121
+ "name": "AliasPart",
2122
+ "definition": {
2123
+ "$type": "Assignment",
2124
+ "feature": "text",
2125
+ "operator": "=",
2126
+ "terminal": {
2127
+ "$type": "RuleCall",
2128
+ "rule": {
2129
+ "$ref": "#/rules@16"
2130
+ },
2131
+ "arguments": []
2132
+ }
2133
+ },
2134
+ "entry": false,
2135
+ "fragment": false,
2136
+ "parameters": []
2137
+ },
2138
+ {
2139
+ "$type": "ParserRule",
2140
+ "name": "BracketReference",
2141
+ "definition": {
2142
+ "$type": "Group",
2143
+ "elements": [
2144
+ {
2145
+ "$type": "Keyword",
2146
+ "value": "["
2147
+ },
2148
+ {
2149
+ "$type": "Assignment",
2150
+ "feature": "target",
2151
+ "operator": "=",
2152
+ "terminal": {
2153
+ "$type": "RuleCall",
2154
+ "rule": {
2155
+ "$ref": "#/rules@41"
2156
+ },
2157
+ "arguments": []
2158
+ }
2159
+ },
2160
+ {
2161
+ "$type": "Keyword",
2162
+ "value": "]"
2163
+ }
2164
+ ]
2165
+ },
2166
+ "entry": false,
2167
+ "fragment": false,
2168
+ "parameters": []
2169
+ },
2170
+ {
2171
+ "$type": "ParserRule",
2172
+ "name": "ReferenceTarget",
2173
+ "definition": {
2174
+ "$type": "Alternatives",
2175
+ "elements": [
2176
+ {
2177
+ "$type": "RuleCall",
2178
+ "rule": {
2179
+ "$ref": "#/rules@44"
2180
+ },
2181
+ "arguments": []
2182
+ },
2183
+ {
2184
+ "$type": "RuleCall",
2185
+ "rule": {
2186
+ "$ref": "#/rules@43"
2187
+ },
2188
+ "arguments": []
2189
+ },
2190
+ {
2191
+ "$type": "RuleCall",
2192
+ "rule": {
2193
+ "$ref": "#/rules@42"
2194
+ },
2195
+ "arguments": []
2196
+ },
2197
+ {
2198
+ "$type": "RuleCall",
2199
+ "rule": {
2200
+ "$ref": "#/rules@45"
2201
+ },
2202
+ "arguments": []
2203
+ }
2204
+ ]
2205
+ },
2206
+ "entry": false,
2207
+ "fragment": false,
2208
+ "parameters": []
2209
+ },
2210
+ {
2211
+ "$type": "ParserRule",
2212
+ "name": "FileReference",
2213
+ "definition": {
2214
+ "$type": "Assignment",
2215
+ "feature": "file",
2216
+ "operator": "=",
2217
+ "terminal": {
2218
+ "$type": "RuleCall",
2219
+ "rule": {
2220
+ "$ref": "#/rules@57"
2221
+ },
2222
+ "arguments": []
2223
+ }
2224
+ },
2225
+ "entry": false,
2226
+ "fragment": false,
2227
+ "parameters": []
2228
+ },
2229
+ {
2230
+ "$type": "ParserRule",
2231
+ "name": "FileSymbolReference",
2232
+ "definition": {
2233
+ "$type": "Group",
2234
+ "elements": [
2235
+ {
2236
+ "$type": "Assignment",
2237
+ "feature": "file",
2238
+ "operator": "=",
2239
+ "terminal": {
2240
+ "$type": "RuleCall",
2241
+ "rule": {
2242
+ "$ref": "#/rules@57"
2243
+ },
2244
+ "arguments": []
2245
+ }
2246
+ },
2247
+ {
2248
+ "$type": "Keyword",
2249
+ "value": "."
2250
+ },
2251
+ {
2252
+ "$type": "Assignment",
2253
+ "feature": "symbols",
2254
+ "operator": "+=",
2255
+ "terminal": {
2256
+ "$type": "RuleCall",
2257
+ "rule": {
2258
+ "$ref": "#/rules@56"
2259
+ },
2260
+ "arguments": []
2261
+ }
2262
+ },
2263
+ {
2264
+ "$type": "Keyword",
2265
+ "value": "."
2266
+ },
2267
+ {
2268
+ "$type": "Assignment",
2269
+ "feature": "symbols",
2270
+ "operator": "+=",
2271
+ "terminal": {
2272
+ "$type": "RuleCall",
2273
+ "rule": {
2274
+ "$ref": "#/rules@56"
2275
+ },
2276
+ "arguments": []
2277
+ }
2278
+ },
2279
+ {
2280
+ "$type": "Keyword",
2281
+ "value": "."
2282
+ },
2283
+ {
2284
+ "$type": "Assignment",
2285
+ "feature": "symbols",
2286
+ "operator": "+=",
2287
+ "terminal": {
2288
+ "$type": "RuleCall",
2289
+ "rule": {
2290
+ "$ref": "#/rules@56"
2291
+ },
2292
+ "arguments": []
2293
+ }
2294
+ },
2295
+ {
2296
+ "$type": "Group",
2297
+ "elements": [
2298
+ {
2299
+ "$type": "Keyword",
2300
+ "value": "."
2301
+ },
2302
+ {
2303
+ "$type": "Assignment",
2304
+ "feature": "symbols",
2305
+ "operator": "+=",
2306
+ "terminal": {
2307
+ "$type": "RuleCall",
2308
+ "rule": {
2309
+ "$ref": "#/rules@56"
2310
+ },
2311
+ "arguments": []
2312
+ }
2313
+ }
2314
+ ],
2315
+ "cardinality": "*"
2316
+ }
2317
+ ]
2318
+ },
2319
+ "entry": false,
2320
+ "fragment": false,
2321
+ "parameters": []
2322
+ },
2323
+ {
2324
+ "$type": "ParserRule",
2325
+ "name": "QualifiedReference",
2326
+ "definition": {
2327
+ "$type": "Group",
2328
+ "elements": [
2329
+ {
2330
+ "$type": "Alternatives",
2331
+ "elements": [
2332
+ {
2333
+ "$type": "Assignment",
2334
+ "feature": "path",
2335
+ "operator": "=",
2336
+ "terminal": {
2337
+ "$type": "CrossReference",
2338
+ "type": {
2339
+ "$ref": "#/rules@46"
2340
+ },
2341
+ "terminal": {
2342
+ "$type": "RuleCall",
2343
+ "rule": {
2344
+ "$ref": "#/rules@57"
2345
+ },
2346
+ "arguments": []
2347
+ },
2348
+ "deprecatedSyntax": false,
2349
+ "isMulti": false
2350
+ }
2351
+ },
2352
+ {
2353
+ "$type": "Assignment",
2354
+ "feature": "qualifier",
2355
+ "operator": "=",
2356
+ "terminal": {
2357
+ "$type": "CrossReference",
2358
+ "type": {
2359
+ "$ref": "#/rules@46"
2360
+ },
2361
+ "terminal": {
2362
+ "$type": "RuleCall",
2363
+ "rule": {
2364
+ "$ref": "#/rules@56"
2365
+ },
2366
+ "arguments": []
2367
+ },
2368
+ "deprecatedSyntax": false,
2369
+ "isMulti": false
2370
+ }
2371
+ }
2372
+ ]
2373
+ },
2374
+ {
2375
+ "$type": "Keyword",
2376
+ "value": "."
2377
+ },
2378
+ {
2379
+ "$type": "Group",
2380
+ "elements": [
2381
+ {
2382
+ "$type": "Assignment",
2383
+ "feature": "ideaset",
2384
+ "operator": "=",
2385
+ "terminal": {
2386
+ "$type": "CrossReference",
2387
+ "type": {
2388
+ "$ref": "#/rules@6"
2389
+ },
2390
+ "terminal": {
2391
+ "$type": "RuleCall",
2392
+ "rule": {
2393
+ "$ref": "#/rules@9"
2394
+ },
2395
+ "arguments": []
2396
+ },
2397
+ "deprecatedSyntax": false,
2398
+ "isMulti": false
2399
+ }
2400
+ },
2401
+ {
2402
+ "$type": "Keyword",
2403
+ "value": "."
2404
+ }
2405
+ ],
2406
+ "cardinality": "?"
2407
+ },
2408
+ {
2409
+ "$type": "Assignment",
2410
+ "feature": "idea",
2411
+ "operator": "=",
2412
+ "terminal": {
2413
+ "$type": "CrossReference",
2414
+ "type": {
2415
+ "$ref": "#/rules@4"
2416
+ },
2417
+ "terminal": {
2418
+ "$type": "RuleCall",
2419
+ "rule": {
2420
+ "$ref": "#/rules@9"
2421
+ },
2422
+ "arguments": []
2423
+ },
2424
+ "deprecatedSyntax": false,
2425
+ "isMulti": false
2426
+ }
2427
+ }
2428
+ ]
2429
+ },
2430
+ "entry": false,
2431
+ "fragment": false,
2432
+ "parameters": []
2433
+ },
2434
+ {
2435
+ "$type": "ParserRule",
2436
+ "name": "LocalReference",
2437
+ "definition": {
2438
+ "$type": "Assignment",
2439
+ "feature": "idea",
2440
+ "operator": "=",
2441
+ "terminal": {
2442
+ "$type": "CrossReference",
2443
+ "type": {
2444
+ "$ref": "#/rules@4"
2445
+ },
2446
+ "terminal": {
2447
+ "$type": "RuleCall",
2448
+ "rule": {
2449
+ "$ref": "#/rules@9"
2450
+ },
2451
+ "arguments": []
2452
+ },
2453
+ "deprecatedSyntax": false,
2454
+ "isMulti": false
2455
+ }
2456
+ },
2457
+ "entry": false,
2458
+ "fragment": false,
2459
+ "parameters": []
2460
+ },
2461
+ {
2462
+ "$type": "ParserRule",
2463
+ "name": "Import",
2464
+ "definition": {
2465
+ "$type": "Alternatives",
2466
+ "elements": [
2467
+ {
2468
+ "$type": "RuleCall",
2469
+ "rule": {
2470
+ "$ref": "#/rules@47"
2471
+ },
2472
+ "arguments": []
2473
+ },
2474
+ {
2475
+ "$type": "RuleCall",
2476
+ "rule": {
2477
+ "$ref": "#/rules@49"
2478
+ },
2479
+ "arguments": []
2480
+ },
2481
+ {
2482
+ "$type": "RuleCall",
2483
+ "rule": {
2484
+ "$ref": "#/rules@50"
2485
+ },
2486
+ "arguments": []
2487
+ }
2488
+ ]
2489
+ },
2490
+ "entry": false,
2491
+ "fragment": false,
2492
+ "parameters": []
2493
+ },
2494
+ {
2495
+ "$type": "ParserRule",
2496
+ "name": "FromImport",
2497
+ "definition": {
2498
+ "$type": "Group",
2499
+ "elements": [
2500
+ {
2501
+ "$type": "Keyword",
2502
+ "value": "from"
2503
+ },
2504
+ {
2505
+ "$type": "Assignment",
2506
+ "feature": "path",
2507
+ "operator": "=",
2508
+ "terminal": {
2509
+ "$type": "RuleCall",
2510
+ "rule": {
2511
+ "$ref": "#/rules@57"
2512
+ },
2513
+ "arguments": []
2514
+ }
2515
+ },
2516
+ {
2517
+ "$type": "Keyword",
2518
+ "value": "import"
2519
+ },
2520
+ {
2521
+ "$type": "Assignment",
2522
+ "feature": "specifiers",
2523
+ "operator": "+=",
2524
+ "terminal": {
2525
+ "$type": "RuleCall",
2526
+ "rule": {
2527
+ "$ref": "#/rules@48"
2528
+ },
2529
+ "arguments": []
2530
+ }
2531
+ },
2532
+ {
2533
+ "$type": "Group",
2534
+ "elements": [
2535
+ {
2536
+ "$type": "Keyword",
2537
+ "value": ","
2538
+ },
2539
+ {
2540
+ "$type": "Assignment",
2541
+ "feature": "specifiers",
2542
+ "operator": "+=",
2543
+ "terminal": {
2544
+ "$type": "RuleCall",
2545
+ "rule": {
2546
+ "$ref": "#/rules@48"
2547
+ },
2548
+ "arguments": []
2549
+ }
2550
+ }
2551
+ ],
2552
+ "cardinality": "*"
2553
+ }
2554
+ ]
2555
+ },
2556
+ "entry": false,
2557
+ "fragment": false,
2558
+ "parameters": []
2559
+ },
2560
+ {
2561
+ "$type": "ParserRule",
2562
+ "name": "FromImportSpecifier",
2563
+ "definition": {
2564
+ "$type": "Group",
2565
+ "elements": [
2566
+ {
2567
+ "$type": "Assignment",
2568
+ "feature": "idea",
2569
+ "operator": "=",
2570
+ "terminal": {
2571
+ "$type": "CrossReference",
2572
+ "type": {
2573
+ "$ref": "#/rules@4"
2574
+ },
2575
+ "terminal": {
2576
+ "$type": "RuleCall",
2577
+ "rule": {
2578
+ "$ref": "#/rules@56"
2579
+ },
2580
+ "arguments": []
2581
+ },
2582
+ "deprecatedSyntax": false,
2583
+ "isMulti": false
2584
+ }
2585
+ },
2586
+ {
2587
+ "$type": "Group",
2588
+ "elements": [
2589
+ {
2590
+ "$type": "Keyword",
2591
+ "value": "as"
2592
+ },
2593
+ {
2594
+ "$type": "Assignment",
2595
+ "feature": "alias",
2596
+ "operator": "=",
2597
+ "terminal": {
2598
+ "$type": "RuleCall",
2599
+ "rule": {
2600
+ "$ref": "#/rules@56"
2601
+ },
2602
+ "arguments": []
2603
+ }
2604
+ }
2605
+ ],
2606
+ "cardinality": "?"
2607
+ }
2608
+ ]
2609
+ },
2610
+ "entry": false,
2611
+ "fragment": false,
2612
+ "parameters": []
2613
+ },
2614
+ {
2615
+ "$type": "ParserRule",
2616
+ "name": "NamespaceImport",
2617
+ "definition": {
2618
+ "$type": "Group",
2619
+ "elements": [
2620
+ {
2621
+ "$type": "Keyword",
2622
+ "value": "import"
2623
+ },
2624
+ {
2625
+ "$type": "Assignment",
2626
+ "feature": "path",
2627
+ "operator": "=",
2628
+ "terminal": {
2629
+ "$type": "RuleCall",
2630
+ "rule": {
2631
+ "$ref": "#/rules@57"
2632
+ },
2633
+ "arguments": []
2634
+ }
2635
+ },
2636
+ {
2637
+ "$type": "Group",
2638
+ "elements": [
2639
+ {
2640
+ "$type": "Keyword",
2641
+ "value": "as"
2642
+ },
2643
+ {
2644
+ "$type": "Assignment",
2645
+ "feature": "alias",
2646
+ "operator": "=",
2647
+ "terminal": {
2648
+ "$type": "RuleCall",
2649
+ "rule": {
2650
+ "$ref": "#/rules@56"
2651
+ },
2652
+ "arguments": []
2653
+ }
2654
+ }
2655
+ ],
2656
+ "cardinality": "?"
2657
+ }
2658
+ ]
2659
+ },
2660
+ "entry": false,
2661
+ "fragment": false,
2662
+ "parameters": []
2663
+ },
2664
+ {
2665
+ "$type": "ParserRule",
2666
+ "name": "QualifiedImport",
2667
+ "definition": {
2668
+ "$type": "Group",
2669
+ "elements": [
2670
+ {
2671
+ "$type": "Keyword",
2672
+ "value": "import"
2673
+ },
2674
+ {
2675
+ "$type": "Assignment",
2676
+ "feature": "path",
2677
+ "operator": "=",
2678
+ "terminal": {
2679
+ "$type": "RuleCall",
2680
+ "rule": {
2681
+ "$ref": "#/rules@57"
2682
+ },
2683
+ "arguments": []
2684
+ }
2685
+ },
2686
+ {
2687
+ "$type": "Keyword",
2688
+ "value": "."
2689
+ },
2690
+ {
2691
+ "$type": "Assignment",
2692
+ "feature": "ideaset",
2693
+ "operator": "=",
2694
+ "terminal": {
2695
+ "$type": "RuleCall",
2696
+ "rule": {
2697
+ "$ref": "#/rules@56"
2698
+ },
2699
+ "arguments": []
2700
+ }
2701
+ },
2702
+ {
2703
+ "$type": "Keyword",
2704
+ "value": "."
2705
+ },
2706
+ {
2707
+ "$type": "Assignment",
2708
+ "feature": "idea",
2709
+ "operator": "=",
2710
+ "terminal": {
2711
+ "$type": "CrossReference",
2712
+ "type": {
2713
+ "$ref": "#/rules@4"
2714
+ },
2715
+ "terminal": {
2716
+ "$type": "RuleCall",
2717
+ "rule": {
2718
+ "$ref": "#/rules@56"
2719
+ },
2720
+ "arguments": []
2721
+ },
2722
+ "deprecatedSyntax": false,
2723
+ "isMulti": false
2724
+ }
2725
+ },
2726
+ {
2727
+ "$type": "Group",
2728
+ "elements": [
2729
+ {
2730
+ "$type": "Keyword",
2731
+ "value": "as"
2732
+ },
2733
+ {
2734
+ "$type": "Assignment",
2735
+ "feature": "alias",
2736
+ "operator": "=",
2737
+ "terminal": {
2738
+ "$type": "RuleCall",
2739
+ "rule": {
2740
+ "$ref": "#/rules@56"
2741
+ },
2742
+ "arguments": []
2743
+ }
2744
+ }
2745
+ ],
2746
+ "cardinality": "?"
2747
+ }
2748
+ ]
2749
+ },
2750
+ "entry": false,
2751
+ "fragment": false,
2752
+ "parameters": []
2753
+ },
2754
+ {
2755
+ "$type": "TerminalRule",
2756
+ "name": "NL",
2757
+ "definition": {
2758
+ "$type": "RegexToken",
2759
+ "regex": "/\\\\r?\\\\n/",
2760
+ "parenthesized": false
2761
+ },
2762
+ "fragment": false,
2763
+ "hidden": false
2764
+ },
2765
+ {
2766
+ "$type": "TerminalRule",
2767
+ "hidden": true,
2768
+ "name": "WS",
2769
+ "definition": {
2770
+ "$type": "RegexToken",
2771
+ "regex": "/[ \\\\t]+/",
2772
+ "parenthesized": false
2773
+ },
2774
+ "fragment": false
2775
+ },
2776
+ {
2777
+ "$type": "TerminalRule",
2778
+ "hidden": true,
2779
+ "name": "ML_COMMENT",
2780
+ "definition": {
2781
+ "$type": "RegexToken",
2782
+ "regex": "/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//",
2783
+ "parenthesized": false
2784
+ },
2785
+ "fragment": false
2786
+ },
2787
+ {
2788
+ "$type": "TerminalRule",
2789
+ "hidden": true,
2790
+ "name": "SL_COMMENT",
2791
+ "definition": {
2792
+ "$type": "RegexToken",
2793
+ "regex": "/\\\\/\\\\/[^\\\\n\\\\r]*/",
2794
+ "parenthesized": false
2795
+ },
2796
+ "fragment": false
2797
+ },
2798
+ {
2799
+ "$type": "TerminalRule",
2800
+ "name": "MARKDOWN_LINK",
2801
+ "definition": {
2802
+ "$type": "RegexToken",
2803
+ "regex": "/\\\\[(?!\\\\[)[^\\\\]]+\\\\]\\\\([^)]+\\\\)/",
2804
+ "parenthesized": false
2805
+ },
2806
+ "fragment": false,
2807
+ "hidden": false
2808
+ },
2809
+ {
2810
+ "$type": "TerminalRule",
2811
+ "name": "ID",
2812
+ "definition": {
2813
+ "$type": "RegexToken",
2814
+ "regex": "/[_a-zA-Z][\\\\w-]*/",
2815
+ "parenthesized": false
2816
+ },
2817
+ "fragment": false,
2818
+ "hidden": false
2819
+ },
2820
+ {
2821
+ "$type": "TerminalRule",
2822
+ "name": "STRING",
2823
+ "definition": {
2824
+ "$type": "RegexToken",
2825
+ "regex": "/\\"(\\\\\\\\.|[^\\"\\\\\\\\\\\\r\\\\n])*\\"|'(\\\\\\\\.|[^'\\\\\\\\\\\\r\\\\n])*'/",
2826
+ "parenthesized": false
2827
+ },
2828
+ "fragment": false,
2829
+ "hidden": false
2830
+ },
2831
+ {
2832
+ "$type": "TerminalRule",
2833
+ "name": "NUMBER",
2834
+ "definition": {
2835
+ "$type": "RegexToken",
2836
+ "regex": "/\\\\d+/",
2837
+ "parenthesized": false
2838
+ },
2839
+ "fragment": false,
2840
+ "hidden": false
2841
+ },
2842
+ {
2843
+ "$type": "TerminalRule",
2844
+ "name": "WORD",
2845
+ "definition": {
2846
+ "$type": "RegexToken",
2847
+ "regex": "/[A-Za-z_][\\\\w']*/",
2848
+ "parenthesized": false
2849
+ },
2850
+ "fragment": false,
2851
+ "hidden": false
2852
+ },
2853
+ {
2854
+ "$type": "TerminalRule",
2855
+ "name": "OTHER",
2856
+ "definition": {
2857
+ "$type": "RegexToken",
2858
+ "regex": "/[^\\\\s\\\\w\\\\[\\\\]()\`]/",
2859
+ "parenthesized": false
2860
+ },
2861
+ "fragment": false,
2862
+ "hidden": false
2863
+ },
2864
+ {
2865
+ "$type": "TerminalRule",
2866
+ "name": "INLINE_CODE",
2867
+ "definition": {
2868
+ "$type": "RegexToken",
2869
+ "regex": "/\`[^\`\\\\n]+\`/",
2870
+ "parenthesized": false
2871
+ },
2872
+ "fragment": false,
2873
+ "hidden": false
2874
+ },
2875
+ {
2876
+ "$type": "TerminalRule",
2877
+ "name": "CODE_FENCE",
2878
+ "definition": {
2879
+ "$type": "RegexToken",
2880
+ "regex": "/\`\`\`[^\\\\n]*(?:\\\\r?\\\\n[\\\\s\\\\S]*?)?\`\`\`/",
2881
+ "parenthesized": false
2882
+ },
2883
+ "fragment": false,
2884
+ "hidden": false
2885
+ }
2886
+ ],
2887
+ "imports": [],
2888
+ "interfaces": [],
2889
+ "types": [],
2890
+ "$comment": "/**\\n * Implementation of the rules described in reqlan rq/language/syntax.rq.\\n *\\n * Design:\\n * - Imports and top-level declarations are line-oriented; import/from/as are keywords only there.\\n * - One-liner ideas are name + body on a single line; block ideas use braces for rich content.\\n * - ReferenceTarget covers local members, import-qualified, alias-qualified, and file targets.\\n */"
2891
+ }`));
2892
+ let loadedReqlanCommentGrammar;
2893
+ export const ReqlanCommentGrammar = () => loadedReqlanCommentGrammar ?? (loadedReqlanCommentGrammar = loadGrammarFromJson(`{
2894
+ "$type": "Grammar",
2895
+ "isDeclared": true,
2896
+ "name": "ReqlanComment",
2897
+ "rules": [
2898
+ {
2899
+ "$type": "ParserRule",
2900
+ "entry": true,
2901
+ "name": "CommentModel",
2902
+ "definition": {
2903
+ "$type": "Assignment",
2904
+ "feature": "references",
2905
+ "operator": "+=",
2906
+ "terminal": {
2907
+ "$type": "RuleCall",
2908
+ "rule": {
2909
+ "$ref": "#/rules@1"
2910
+ },
2911
+ "arguments": []
2912
+ },
2913
+ "cardinality": "*"
2914
+ },
2915
+ "fragment": false,
2916
+ "parameters": []
2917
+ },
2918
+ {
2919
+ "$type": "ParserRule",
2920
+ "name": "CommentReference",
2921
+ "definition": {
2922
+ "$type": "Group",
2923
+ "elements": [
2924
+ {
2925
+ "$type": "Keyword",
2926
+ "value": "rq"
2927
+ },
2928
+ {
2929
+ "$type": "Keyword",
2930
+ "value": ":"
2931
+ },
2932
+ {
2933
+ "$type": "Keyword",
2934
+ "value": "["
2935
+ },
2936
+ {
2937
+ "$type": "Assignment",
2938
+ "feature": "target",
2939
+ "operator": "=",
2940
+ "terminal": {
2941
+ "$type": "RuleCall",
2942
+ "rule": {
2943
+ "$ref": "#/rules@2"
2944
+ },
2945
+ "arguments": []
2946
+ }
2947
+ },
2948
+ {
2949
+ "$type": "Keyword",
2950
+ "value": "]"
2951
+ }
2952
+ ]
2953
+ },
2954
+ "entry": false,
2955
+ "fragment": false,
2956
+ "parameters": []
2957
+ },
2958
+ {
2959
+ "$type": "ParserRule",
2960
+ "name": "CommentReferenceTarget",
2961
+ "definition": {
2962
+ "$type": "Alternatives",
2963
+ "elements": [
2964
+ {
2965
+ "$type": "RuleCall",
2966
+ "rule": {
2967
+ "$ref": "#/rules@3"
2968
+ },
2969
+ "arguments": []
2970
+ },
2971
+ {
2972
+ "$type": "RuleCall",
2973
+ "rule": {
2974
+ "$ref": "#/rules@4"
2975
+ },
2976
+ "arguments": []
2977
+ }
2978
+ ]
2979
+ },
2980
+ "entry": false,
2981
+ "fragment": false,
2982
+ "parameters": []
2983
+ },
2984
+ {
2985
+ "$type": "ParserRule",
2986
+ "name": "QualifiedCommentReference",
2987
+ "definition": {
2988
+ "$type": "Group",
2989
+ "elements": [
2990
+ {
2991
+ "$type": "Assignment",
2992
+ "feature": "path",
2993
+ "operator": "=",
2994
+ "terminal": {
2995
+ "$type": "RuleCall",
2996
+ "rule": {
2997
+ "$ref": "#/rules@6"
2998
+ },
2999
+ "arguments": []
3000
+ }
3001
+ },
3002
+ {
3003
+ "$type": "Keyword",
3004
+ "value": "."
3005
+ },
3006
+ {
3007
+ "$type": "Assignment",
3008
+ "feature": "idea",
3009
+ "operator": "=",
3010
+ "terminal": {
3011
+ "$type": "RuleCall",
3012
+ "rule": {
3013
+ "$ref": "#/rules@5"
3014
+ },
3015
+ "arguments": []
3016
+ }
3017
+ }
3018
+ ]
3019
+ },
3020
+ "entry": false,
3021
+ "fragment": false,
3022
+ "parameters": []
3023
+ },
3024
+ {
3025
+ "$type": "ParserRule",
3026
+ "name": "LocalCommentReference",
3027
+ "definition": {
3028
+ "$type": "Assignment",
3029
+ "feature": "idea",
3030
+ "operator": "=",
3031
+ "terminal": {
3032
+ "$type": "RuleCall",
3033
+ "rule": {
3034
+ "$ref": "#/rules@5"
3035
+ },
3036
+ "arguments": []
3037
+ }
3038
+ },
3039
+ "entry": false,
3040
+ "fragment": false,
3041
+ "parameters": []
3042
+ },
3043
+ {
3044
+ "$type": "TerminalRule",
3045
+ "name": "ID",
3046
+ "definition": {
3047
+ "$type": "RegexToken",
3048
+ "regex": "/[_a-zA-Z][\\\\w-]*/",
3049
+ "parenthesized": false
3050
+ },
3051
+ "fragment": false,
3052
+ "hidden": false
3053
+ },
3054
+ {
3055
+ "$type": "TerminalRule",
3056
+ "name": "STRING",
3057
+ "definition": {
3058
+ "$type": "RegexToken",
3059
+ "regex": "/\\"(\\\\\\\\.|[^\\"\\\\\\\\])*\\"/",
3060
+ "parenthesized": false
3061
+ },
3062
+ "fragment": false,
3063
+ "hidden": false
3064
+ }
3065
+ ],
3066
+ "imports": [],
3067
+ "interfaces": [],
3068
+ "types": [],
3069
+ "$comment": "/**\\n * Embedded reqlan references in comments of arbitrary source files.\\n * Syntax: rq:[idea] or rq:[\\"./reqfile.rq\\".idea_name]\\n */"
3070
+ }`));
3071
+ //# sourceMappingURL=grammar.js.map