grammar-well 1.3.2 → 2.0.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 (262) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +76 -560
  3. package/build/generator/artifacts/basic.d.ts +7 -0
  4. package/build/generator/artifacts/basic.js +24 -0
  5. package/build/generator/artifacts/basic.js.map +1 -0
  6. package/build/generator/artifacts/lexer.d.ts +13 -0
  7. package/build/generator/artifacts/lexer.js +204 -0
  8. package/build/generator/artifacts/lexer.js.map +1 -0
  9. package/build/{compiler/generator → generator}/artifacts/lr.d.ts +14 -14
  10. package/build/{compiler/generator → generator}/artifacts/lr.js +18 -22
  11. package/build/generator/artifacts/lr.js.map +1 -0
  12. package/build/generator/builtin/json.d.ts +183 -0
  13. package/build/generator/builtin/json.js +124 -0
  14. package/build/generator/builtin/json.js.map +1 -0
  15. package/build/generator/builtin/registry.json +1 -0
  16. package/build/generator/builtin/whitespace.d.ts +61 -0
  17. package/build/generator/builtin/whitespace.js +37 -0
  18. package/build/generator/builtin/whitespace.js.map +1 -0
  19. package/build/generator/generator.d.ts +38 -0
  20. package/build/generator/generator.js +368 -0
  21. package/build/generator/generator.js.map +1 -0
  22. package/build/generator/grammars/index.d.ts +2 -0
  23. package/build/generator/grammars/index.js +3 -0
  24. package/build/generator/grammars/index.js.map +1 -0
  25. package/build/generator/grammars/v1.d.ts +1190 -0
  26. package/build/generator/grammars/v1.js +614 -0
  27. package/build/generator/grammars/v1.js.map +1 -0
  28. package/build/generator/grammars/v2.d.ts +1367 -0
  29. package/build/generator/grammars/v2.js +695 -0
  30. package/build/generator/grammars/v2.js.map +1 -0
  31. package/build/generator/import-resolvers/auto.d.ts +2 -0
  32. package/build/generator/import-resolvers/auto.js +11 -0
  33. package/build/generator/import-resolvers/auto.js.map +1 -0
  34. package/build/generator/import-resolvers/browser.d.ts +7 -0
  35. package/build/generator/import-resolvers/browser.js +13 -0
  36. package/build/generator/import-resolvers/browser.js.map +1 -0
  37. package/build/generator/import-resolvers/default.d.ts +2 -0
  38. package/build/generator/import-resolvers/default.js +11 -0
  39. package/build/generator/import-resolvers/default.js.map +1 -0
  40. package/build/generator/import-resolvers/filesystem.d.ts +7 -0
  41. package/build/generator/import-resolvers/filesystem.js +15 -0
  42. package/build/generator/import-resolvers/filesystem.js.map +1 -0
  43. package/build/generator/index.d.ts +3 -0
  44. package/build/generator/index.js +4 -0
  45. package/build/generator/index.js.map +1 -0
  46. package/build/generator/state.d.ts +28 -0
  47. package/build/generator/state.js +73 -0
  48. package/build/generator/state.js.map +1 -0
  49. package/build/generator/stringify/common.d.ts +22 -0
  50. package/build/generator/stringify/common.js +83 -0
  51. package/build/generator/stringify/common.js.map +1 -0
  52. package/build/generator/stringify/exports/javascript.d.ts +3 -0
  53. package/build/generator/stringify/exports/javascript.js +26 -0
  54. package/build/generator/stringify/exports/javascript.js.map +1 -0
  55. package/build/generator/stringify/exports/json.d.ts +2 -0
  56. package/build/generator/stringify/exports/json.js +4 -0
  57. package/build/generator/stringify/exports/json.js.map +1 -0
  58. package/build/generator/stringify/exports/registry.d.ts +20 -0
  59. package/build/generator/stringify/exports/registry.js +17 -0
  60. package/build/generator/stringify/exports/registry.js.map +1 -0
  61. package/build/generator/stringify/exports/typescript.d.ts +2 -0
  62. package/build/generator/stringify/exports/typescript.js +16 -0
  63. package/build/generator/stringify/exports/typescript.js.map +1 -0
  64. package/build/generator/stringify/grammar/v2.d.ts +20 -0
  65. package/build/generator/stringify/grammar/v2.js +211 -0
  66. package/build/generator/stringify/grammar/v2.js.map +1 -0
  67. package/build/generator/stringify/javascript.d.ts +13 -0
  68. package/build/generator/stringify/javascript.js +83 -0
  69. package/build/generator/stringify/javascript.js.map +1 -0
  70. package/build/index.d.ts +7 -6
  71. package/build/index.js +7 -24
  72. package/build/index.js.map +1 -1
  73. package/build/lexers/character-lexer.d.ts +2 -2
  74. package/build/lexers/character-lexer.js +1 -5
  75. package/build/lexers/character-lexer.js.map +1 -1
  76. package/build/lexers/stateful-lexer.d.ts +12 -17
  77. package/build/lexers/stateful-lexer.js +38 -186
  78. package/build/lexers/stateful-lexer.js.map +1 -1
  79. package/build/lexers/token-buffer.d.ts +8 -8
  80. package/build/lexers/token-buffer.js +1 -5
  81. package/build/lexers/token-buffer.js.map +1 -1
  82. package/build/parser/algorithms/cyk.d.ts +6 -6
  83. package/build/parser/algorithms/cyk.js +10 -13
  84. package/build/parser/algorithms/cyk.js.map +1 -1
  85. package/build/parser/algorithms/earley.d.ts +7 -7
  86. package/build/parser/algorithms/earley.js +7 -11
  87. package/build/parser/algorithms/earley.js.map +1 -1
  88. package/build/parser/algorithms/lrk/algorithm.d.ts +3 -3
  89. package/build/parser/algorithms/lrk/algorithm.js +10 -13
  90. package/build/parser/algorithms/lrk/algorithm.js.map +1 -1
  91. package/build/parser/algorithms/lrk/bimap.js +1 -5
  92. package/build/parser/algorithms/lrk/bimap.js.map +1 -1
  93. package/build/parser/algorithms/lrk/canonical-collection.d.ts +7 -7
  94. package/build/parser/algorithms/lrk/canonical-collection.js +11 -15
  95. package/build/parser/algorithms/lrk/canonical-collection.js.map +1 -1
  96. package/build/parser/algorithms/lrk/closure.d.ts +3 -3
  97. package/build/parser/algorithms/lrk/closure.js +3 -7
  98. package/build/parser/algorithms/lrk/closure.js.map +1 -1
  99. package/build/parser/algorithms/lrk/stack.d.ts +6 -6
  100. package/build/parser/algorithms/lrk/stack.js +1 -5
  101. package/build/parser/algorithms/lrk/stack.js.map +1 -1
  102. package/build/parser/algorithms/lrk/state.d.ts +5 -5
  103. package/build/parser/algorithms/lrk/state.js +1 -2
  104. package/build/parser/parse.d.ts +10 -0
  105. package/build/parser/parse.js +34 -0
  106. package/build/parser/parse.js.map +1 -0
  107. package/build/parser/parser.d.ts +6 -17
  108. package/build/parser/parser.js +26 -42
  109. package/build/parser/parser.js.map +1 -1
  110. package/build/tsconfig.tsbuildinfo +1 -0
  111. package/build/typings/ast.d.ts +134 -0
  112. package/build/typings/ast.js +3 -0
  113. package/build/typings/ast.js.map +1 -0
  114. package/build/typings/common.d.ts +4 -0
  115. package/build/typings/common.js +2 -0
  116. package/build/typings/common.js.map +1 -0
  117. package/build/typings/generator.d.ts +58 -0
  118. package/build/typings/generator.js +3 -0
  119. package/build/typings/generator.js.map +1 -0
  120. package/build/typings/index.d.ts +43 -0
  121. package/build/typings/index.js +5 -0
  122. package/build/typings/index.js.map +1 -0
  123. package/build/typings/runtime.d.ts +70 -0
  124. package/build/typings/runtime.js +2 -0
  125. package/build/typings/runtime.js.map +1 -0
  126. package/build/utility/format.d.ts +1 -0
  127. package/build/utility/format.js +12 -0
  128. package/build/utility/format.js.map +1 -0
  129. package/build/utility/formatter.d.ts +1 -0
  130. package/build/utility/formatter.js +12 -0
  131. package/build/utility/formatter.js.map +1 -0
  132. package/build/utility/general.d.ts +1 -1
  133. package/build/utility/general.js +5 -13
  134. package/build/utility/general.js.map +1 -1
  135. package/build/utility/index.d.ts +4 -1
  136. package/build/utility/index.js +4 -17
  137. package/build/utility/index.js.map +1 -1
  138. package/build/utility/lint.d.ts +2 -2
  139. package/build/utility/lint.js +2 -6
  140. package/build/utility/lint.js.map +1 -1
  141. package/build/utility/migrate.d.ts +1 -0
  142. package/build/utility/migrate.js +10 -0
  143. package/build/utility/migrate.js.map +1 -0
  144. package/build/utility/monarch.d.ts +2 -2
  145. package/build/utility/monarch.js +33 -38
  146. package/build/utility/monarch.js.map +1 -1
  147. package/build/utility/parsing.d.ts +6 -0
  148. package/build/utility/parsing.js +26 -0
  149. package/build/utility/parsing.js.map +1 -0
  150. package/build/utility/text-format.d.ts +6 -6
  151. package/build/utility/text-format.js +2 -6
  152. package/build/utility/text-format.js.map +1 -1
  153. package/package.json +17 -24
  154. package/src/generator/artifacts/basic.ts +26 -0
  155. package/src/generator/artifacts/lexer.ts +228 -0
  156. package/src/{compiler/generator → generator}/artifacts/lr.ts +25 -24
  157. package/src/generator/builtin/character.well +7 -0
  158. package/src/generator/builtin/json.well +85 -0
  159. package/src/generator/builtin/number.well +21 -0
  160. package/src/generator/builtin/registry.json +1 -0
  161. package/src/generator/builtin/string.well +54 -0
  162. package/src/generator/builtin/whitespace.well +16 -0
  163. package/src/generator/generator.ts +401 -0
  164. package/src/generator/grammars/index.ts +2 -0
  165. package/src/generator/grammars/v1.ts +620 -0
  166. package/src/generator/grammars/v1.well +422 -0
  167. package/src/generator/grammars/v2.ts +701 -0
  168. package/src/generator/grammars/v2.well +413 -0
  169. package/src/generator/import-resolvers/auto.ts +12 -0
  170. package/src/generator/import-resolvers/browser.ts +13 -0
  171. package/src/generator/import-resolvers/filesystem.ts +18 -0
  172. package/src/generator/index.ts +3 -0
  173. package/src/generator/state.ts +89 -0
  174. package/src/generator/stringify/common.ts +90 -0
  175. package/src/generator/stringify/exports/javascript.ts +29 -0
  176. package/src/generator/stringify/exports/json.ts +5 -0
  177. package/src/generator/stringify/exports/registry.ts +20 -0
  178. package/src/generator/stringify/exports/typescript.ts +17 -0
  179. package/src/generator/stringify/grammar/v2.ts +223 -0
  180. package/src/generator/stringify/javascript.ts +94 -0
  181. package/src/index.ts +7 -6
  182. package/src/lexers/character-lexer.ts +2 -2
  183. package/src/lexers/stateful-lexer.ts +46 -203
  184. package/src/lexers/token-buffer.ts +3 -3
  185. package/src/parser/algorithms/cyk.ts +13 -12
  186. package/src/parser/algorithms/earley.ts +10 -10
  187. package/src/parser/algorithms/lrk/algorithm.ts +8 -7
  188. package/src/parser/algorithms/lrk/canonical-collection.ts +14 -14
  189. package/src/parser/algorithms/lrk/closure.ts +6 -6
  190. package/src/parser/algorithms/lrk/stack.ts +6 -6
  191. package/src/parser/algorithms/lrk/state.ts +5 -5
  192. package/src/parser/parse.ts +45 -0
  193. package/src/typings/ast.ts +148 -0
  194. package/src/typings/common.ts +2 -0
  195. package/src/typings/generator.ts +62 -0
  196. package/src/typings/index.ts +38 -0
  197. package/src/typings/runtime.ts +82 -0
  198. package/src/utility/format.ts +12 -0
  199. package/src/utility/general.ts +1 -2
  200. package/src/utility/index.ts +4 -1
  201. package/src/utility/lint.ts +5 -5
  202. package/src/utility/monarch.ts +34 -34
  203. package/src/utility/parsing.ts +30 -0
  204. package/src/utility/text-format.ts +7 -7
  205. package/.eslintrc.cjs +0 -14
  206. package/bootstrap.ts +0 -45
  207. package/build/compiler/builtin.json +0 -1
  208. package/build/compiler/compiler.d.ts +0 -50
  209. package/build/compiler/compiler.js +0 -249
  210. package/build/compiler/compiler.js.map +0 -1
  211. package/build/compiler/generator/artifacts/lr.js.map +0 -1
  212. package/build/compiler/generator/artifacts/standard.d.ts +0 -7
  213. package/build/compiler/generator/artifacts/standard.js +0 -28
  214. package/build/compiler/generator/artifacts/standard.js.map +0 -1
  215. package/build/compiler/generator/generator.d.ts +0 -24
  216. package/build/compiler/generator/generator.js +0 -217
  217. package/build/compiler/generator/generator.js.map +0 -1
  218. package/build/compiler/gwell.d.ts +0 -1112
  219. package/build/compiler/gwell.js +0 -576
  220. package/build/compiler/gwell.js.map +0 -1
  221. package/build/compiler/import-resolver.d.ts +0 -15
  222. package/build/compiler/import-resolver.js +0 -37
  223. package/build/compiler/import-resolver.js.map +0 -1
  224. package/build/compiler/index.d.ts +0 -2
  225. package/build/compiler/index.js +0 -19
  226. package/build/compiler/index.js.map +0 -1
  227. package/build/compiler/outputs/javascript.d.ts +0 -3
  228. package/build/compiler/outputs/javascript.js +0 -29
  229. package/build/compiler/outputs/javascript.js.map +0 -1
  230. package/build/compiler/outputs/json.d.ts +0 -2
  231. package/build/compiler/outputs/json.js +0 -8
  232. package/build/compiler/outputs/json.js.map +0 -1
  233. package/build/compiler/outputs/typescript.d.ts +0 -2
  234. package/build/compiler/outputs/typescript.js +0 -21
  235. package/build/compiler/outputs/typescript.js.map +0 -1
  236. package/build/parser/algorithms/lr.d.ts +0 -7
  237. package/build/parser/algorithms/lr.js +0 -108
  238. package/build/parser/algorithms/lr.js.map +0 -5
  239. package/build/parser/algorithms/lr0.d.ts +0 -7
  240. package/build/parser/algorithms/lr0.js +0 -156
  241. package/build/parser/algorithms/lr0.js.map +0 -1
  242. package/build/typings.d.ts +0 -226
  243. package/build/typings.js +0 -3
  244. package/build/typings.js.map +0 -1
  245. package/src/compiler/builtin/json.gwell +0 -74
  246. package/src/compiler/builtin/number.gwell +0 -20
  247. package/src/compiler/builtin/string.gwell +0 -48
  248. package/src/compiler/builtin/whitespace.gwell +0 -10
  249. package/src/compiler/builtin.json +0 -1
  250. package/src/compiler/compiler.ts +0 -265
  251. package/src/compiler/generator/artifacts/standard.ts +0 -26
  252. package/src/compiler/generator/generator.ts +0 -237
  253. package/src/compiler/gwell.gwell +0 -294
  254. package/src/compiler/gwell.js +0 -578
  255. package/src/compiler/import-resolver.ts +0 -36
  256. package/src/compiler/index.ts +0 -2
  257. package/src/compiler/outputs/javascript.ts +0 -27
  258. package/src/compiler/outputs/json.ts +0 -5
  259. package/src/compiler/outputs/typescript.ts +0 -18
  260. package/src/parser/parser.ts +0 -77
  261. package/src/typings.ts +0 -248
  262. package/testing.ts +0 -18
@@ -1,576 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function GWLanguage() {
4
- return {
5
- grammar: {
6
- start: "main",
7
- rules: {
8
- main: [
9
- { name: "main", symbols: ["_", "section_list", "_"], postprocess: ({ data }) => { return data[1]; } }
10
- ],
11
- section_list: [
12
- { name: "section_list", symbols: ["section"], postprocess: ({ data }) => { return [data[0]]; } },
13
- { name: "section_list", symbols: ["section", "T_WS", "section_list"], postprocess: ({ data }) => { return [data[0]].concat(data[2]); } }
14
- ],
15
- section: [
16
- { name: "section", symbols: ["K_CONFIG", "_", "L_COLON", "_", "L_TEMPLATEL", "_", "kv_list", "_", "L_TEMPLATER"], postprocess: ({ data }) => { return { config: Object.assign(...data[6]) }; } },
17
- { name: "section", symbols: ["K_IMPORT", "_", "L_STAR", "_", "K_FROM", "__", "T_WORD", "_", "L_SCOLON"], postprocess: ({ data }) => { return { import: data[6] }; } },
18
- { name: "section", symbols: ["K_IMPORT", "_", "L_STAR", "_", "K_FROM", "__", "T_STRING", "_", "L_SCOLON"], postprocess: ({ data }) => { return { import: data[6], path: true }; } },
19
- { name: "section", symbols: ["K_IMPORT", "_", "L_STAR", "_", { literal: "as" }, "_", "T_WORD", "_", "K_FROM", "__", "T_WORD", "_", "L_SCOLON"], postprocess: ({ data }) => { return { import: data[10], alias: data[6] }; } },
20
- { name: "section", symbols: ["K_IMPORT", "_", "L_STAR", "_", { literal: "as" }, "_", "T_WORD", "_", "K_FROM", "__", "T_STRING", "_", "L_SCOLON"], postprocess: ({ data }) => { return { import: data[10], path: true, alias: data[6] }; } },
21
- { name: "section", symbols: ["K_LEXER", "_", "L_COLON", "_", "L_TEMPLATEL", "_", "lexer", "_", "L_TEMPLATER"], postprocess: ({ data }) => { return { lexer: Object.assign(...data[6]) }; } },
22
- { name: "section", symbols: ["K_GRAMMAR", "_", "L_COLON", "_", "L_TEMPLATEL", "_", "grammar", "_", "L_TEMPLATER"], postprocess: ({ data }) => { return { grammar: data[6] }; } },
23
- { name: "section", symbols: ["K_BODY", "_", "L_COLON", "_", "T_JS"], postprocess: ({ data }) => { return { body: data[4] }; } },
24
- { name: "section", symbols: ["K_BODY", "_", "L_COLON", "_", "T_STRING"], postprocess: ({ data }) => { return { body: data[4], path: true }; } },
25
- { name: "section", symbols: ["K_HEAD", "_", "L_COLON", "_", "T_JS"], postprocess: ({ data }) => { return { head: data[4] }; } },
26
- { name: "section", symbols: ["K_HEAD", "_", "L_COLON", "_", "T_STRING"], postprocess: ({ data }) => { return { head: data[4], path: true }; } }
27
- ],
28
- lexer: [
29
- { name: "lexer", symbols: ["kv_list", "_", "state_list"], postprocess: ({ data }) => { return data[0].concat({ states: data[2] }); } },
30
- { name: "lexer", symbols: ["state_list"], postprocess: ({ data }) => { return [{ states: data[0] }]; } }
31
- ],
32
- state_list: [
33
- { name: "state_list", symbols: ["state"], postprocess: ({ data }) => { return data; } },
34
- { name: "state_list", symbols: ["state", "_", "state_list"], postprocess: ({ data }) => { return [data[0]].concat(data[2]); } }
35
- ],
36
- state: [
37
- { name: "state", symbols: ["state_declare", "_", "state_definition"], postprocess: ({ data }) => { return Object.assign({ name: data[0] }, data[2]); } }
38
- ],
39
- state_declare: [
40
- { name: "state_declare", symbols: ["T_WORD", "_", "L_ARROW"], postprocess: ({ data }) => { return data[0]; } }
41
- ],
42
- state_definition: [
43
- { name: "state_definition", symbols: ["kv_list", "_", "token_list"], postprocess: ({ data }) => { return Object.assign(...data[0], { rules: data[2] }); } },
44
- { name: "state_definition", symbols: ["token_list"], postprocess: ({ data }) => { return { rules: data[0] }; } }
45
- ],
46
- token_list: [
47
- { name: "token_list", symbols: ["token"], postprocess: ({ data }) => { return data; } },
48
- { name: "token_list", symbols: ["token", "_", "token_list"], postprocess: ({ data }) => { return [data[0]].concat(data[2]); } }
49
- ],
50
- token: [
51
- { name: "token", symbols: ["L_DASH", "_", "K_IMPORT", "_", "L_COLON", "_", "word_list"], postprocess: ({ data }) => { return { import: data[6] }; } },
52
- { name: "token", symbols: ["L_DASH", "_", "token_definition_list"], postprocess: ({ data }) => { return Object.assign(...data[2]); } }
53
- ],
54
- token_definition_list: [
55
- { name: "token_definition_list", symbols: ["token_definition"], postprocess: ({ data }) => { return data; } },
56
- { name: "token_definition_list", symbols: ["token_definition", "_", "token_definition_list"], postprocess: ({ data }) => { return [data[0]].concat(data[2]); } }
57
- ],
58
- token_definition: [
59
- { name: "token_definition", symbols: ["K_TAG", "_", "L_COLON", "_", "string_list"], postprocess: ({ data }) => { return { tag: data[4] }; } },
60
- { name: "token_definition", symbols: ["K_WHEN", "_", "L_COLON", "_", "T_STRING"], postprocess: ({ data }) => { return { when: data[4] }; } },
61
- { name: "token_definition", symbols: ["K_WHEN", "_", "L_COLON", "_", "T_REGEX"], postprocess: ({ data }) => { return { when: data[4] }; } },
62
- { name: "token_definition", symbols: ["K_OPEN", "_", "L_COLON", "_", "T_STRING"], postprocess: ({ data }) => { return { open: data[4] }; } },
63
- { name: "token_definition", symbols: ["K_CLOSE", "_", "L_COLON", "_", "T_STRING"], postprocess: ({ data }) => { return { close: data[4] }; } },
64
- { name: "token_definition", symbols: ["K_BEFORE", "_", "L_COLON", "_", "T_STRING"], postprocess: ({ data }) => { return { when: data[4], before: true }; } },
65
- { name: "token_definition", symbols: ["K_BEFORE", "_", "L_COLON", "_", "T_REGEX"], postprocess: ({ data }) => { return { when: data[4], before: true }; } },
66
- { name: "token_definition", symbols: ["K_POP"], postprocess: ({ data }) => { return { pop: 1 }; } },
67
- { name: "token_definition", symbols: ["K_POP", "_", "L_COLON", "_", "T_INTEGER"], postprocess: ({ data }) => { return { pop: parseInt(data[4]) }; } },
68
- { name: "token_definition", symbols: ["K_POP", "_", "L_COLON", "_", "K_ALL"], postprocess: ({ data }) => { return { pop: "all" }; } },
69
- { name: "token_definition", symbols: ["K_HIGHLIGHT", "_", "L_COLON", "_", "T_STRING"], postprocess: ({ data }) => { return { highlight: data[4] }; } },
70
- { name: "token_definition", symbols: ["K_EMBED", "_", "L_COLON", "_", "T_STRING"], postprocess: ({ data }) => { return { embed: data[4] }; } },
71
- { name: "token_definition", symbols: ["K_UNEMBED"], postprocess: ({ data }) => { return { unembed: true }; } },
72
- { name: "token_definition", symbols: ["K_INSET"], postprocess: ({ data }) => { return { inset: 1 }; } },
73
- { name: "token_definition", symbols: ["K_INSET", "_", "L_COLON", "_", "T_INTEGER"], postprocess: ({ data }) => { return { inset: parseInt(data[4]) }; } },
74
- { name: "token_definition", symbols: ["K_SET", "_", "L_COLON", "_", "T_WORD"], postprocess: ({ data }) => { return { set: data[4] }; } },
75
- { name: "token_definition", symbols: ["K_GOTO", "_", "L_COLON", "_", "T_WORD"], postprocess: ({ data }) => { return { goto: data[4] }; } },
76
- { name: "token_definition", symbols: ["K_TYPE", "_", "L_COLON", "_", "T_STRING"], postprocess: ({ data }) => { return { type: data[4] }; } }
77
- ],
78
- grammar: [
79
- { name: "grammar", symbols: ["kv_list", "_", "grammar_rule_list"], postprocess: ({ data }) => { return { config: Object.assign(...data[0]), rules: data[2] }; } },
80
- { name: "grammar", symbols: ["grammar_rule_list"], postprocess: ({ data }) => { return { rules: data[0] }; } }
81
- ],
82
- grammar_rule_list: [
83
- { name: "grammar_rule_list", symbols: ["grammar_rule"], postprocess: ({ data }) => { return [data[0]]; } },
84
- { name: "grammar_rule_list", symbols: ["grammar_rule", "_", "grammar_rule_list"], postprocess: ({ data }) => { return [data[0]].concat(data[2]); } }
85
- ],
86
- grammar_rule: [
87
- { name: "grammar_rule", symbols: ["T_WORD", "_", "L_ARROW", "_", "expression_list"], postprocess: ({ data }) => { return { name: data[0], expressions: data[4] }; } },
88
- { name: "grammar_rule", symbols: ["T_WORD", "__", "L_COLON", "_", "T_JS", "_", "L_ARROW", "_", "expression_list"], postprocess: ({ data }) => { return { name: data[0], expressions: data[8], postprocess: data[4] }; } },
89
- { name: "grammar_rule", symbols: ["T_WORD", "__", "L_COLON", "_", "T_GRAMMAR_TEMPLATE", "_", "L_ARROW", "_", "expression_list"], postprocess: ({ data }) => { return { name: data[0], expressions: data[8], postprocess: data[4] }; } }
90
- ],
91
- expression_list: [
92
- { name: "expression_list", symbols: ["expression"] },
93
- { name: "expression_list", symbols: ["expression_list", "_", "L_PIPE", "_", "expression"], postprocess: ({ data }) => { return data[0].concat([data[4]]); } }
94
- ],
95
- expression: [
96
- { name: "expression", symbols: ["expression_symbol_list"], postprocess: ({ data }) => { return { symbols: data[0] }; } },
97
- { name: "expression", symbols: ["expression_symbol_list", "__", "L_COLON", "_", "T_JS"], postprocess: ({ data }) => { return { symbols: data[0], postprocess: data[4] }; } },
98
- { name: "expression", symbols: ["expression_symbol_list", "__", "L_COLON", "_", "T_GRAMMAR_TEMPLATE"], postprocess: ({ data }) => { return { symbols: data[0], postprocess: data[4] }; } }
99
- ],
100
- expression_symbol_list: [
101
- { name: "expression_symbol_list", symbols: ["expression_symbol"] },
102
- { name: "expression_symbol_list", symbols: ["expression_symbol_list", "T_WS", "expression_symbol"], postprocess: ({ data }) => { return data[0].concat([data[2]]); } }
103
- ],
104
- expression_symbol: [
105
- { name: "expression_symbol", symbols: ["expression_symbol_match"], postprocess: ({ data }) => { return data[0]; } },
106
- { name: "expression_symbol", symbols: ["expression_symbol_match", "L_COLON", "T_WORD"], postprocess: ({ data }) => { return { ...data[0], alias: data[2] }; } },
107
- { name: "expression_symbol", symbols: ["expression_symbol_match", "expression_repeater"], postprocess: ({ data }) => { return { expression: data[0], repeat: data[1] }; } },
108
- { name: "expression_symbol", symbols: ["expression_symbol_match", "expression_repeater", "L_COLON", "T_WORD"], postprocess: ({ data }) => { return { expression: data[0], repeat: data[1], alias: data[4] }; } }
109
- ],
110
- expression_symbol_match: [
111
- { name: "expression_symbol_match", symbols: ["T_WORD"], postprocess: ({ data }) => { return { rule: data[0] }; } },
112
- { name: "expression_symbol_match", symbols: ["T_STRING", "expression_symbol_match$RPT01x1"], postprocess: ({ data }) => { return { literal: data[0], insensitive: !!data[1] }; } },
113
- { name: "expression_symbol_match", symbols: ["L_DSIGN", "T_WORD"], postprocess: ({ data }) => { return { token: data[1] }; } },
114
- { name: "expression_symbol_match", symbols: ["L_DSIGN", "T_STRING"], postprocess: ({ data }) => { return { token: data[1] }; } },
115
- { name: "expression_symbol_match", symbols: ["T_REGEX"], postprocess: ({ data }) => { return data[0]; } },
116
- { name: "expression_symbol_match", symbols: ["L_PARENL", "_", "expression_list", "_", "L_PARENR"], postprocess: ({ data }) => { return { subexpression: data[2] }; } },
117
- { name: "expression_symbol_match", symbols: ["T_JS"], postprocess: ({ data }) => { return data[0]; } }
118
- ],
119
- expression_symbol_match$RPT01x1: [
120
- { name: "expression_symbol_match$RPT01x1", symbols: [{ literal: "i" }], postprocess: ({ data }) => data[0] },
121
- { name: "expression_symbol_match$RPT01x1", symbols: [], postprocess: () => null }
122
- ],
123
- expression_repeater: [
124
- { name: "expression_repeater", symbols: ["L_QMARK"], postprocess: ({ data }) => { return data[0][0].value; } },
125
- { name: "expression_repeater", symbols: ["L_PLUS"], postprocess: ({ data }) => { return data[0][0].value; } },
126
- { name: "expression_repeater", symbols: ["L_STAR"], postprocess: ({ data }) => { return data[0][0].value; } }
127
- ],
128
- kv_list: [
129
- { name: "kv_list", symbols: ["kv"], postprocess: ({ data }) => { return data; } },
130
- { name: "kv_list", symbols: ["kv", "_", "kv_list"], postprocess: ({ data }) => { return [data[0]].concat(data[2]); } }
131
- ],
132
- kv$SUBx1: [
133
- { name: "kv$SUBx1", symbols: ["T_WORD"] },
134
- { name: "kv$SUBx1", symbols: ["T_STRING"] },
135
- { name: "kv$SUBx1", symbols: ["T_INTEGER"] },
136
- { name: "kv$SUBx1", symbols: ["T_JS"] },
137
- { name: "kv$SUBx1", symbols: ["T_GRAMMAR_TEMPLATE"] }
138
- ],
139
- kv: [
140
- { name: "kv", symbols: ["T_WORD", "_", "L_COLON", "_", "kv$SUBx1"], postprocess: ({ data }) => { return { [data[0]]: data[4][0] }; } }
141
- ],
142
- string_list: [
143
- { name: "string_list", symbols: ["T_STRING"], postprocess: ({ data }) => { return [data[0]]; } },
144
- { name: "string_list", symbols: ["T_STRING", "_", "L_COMMA", "_", "string_list"], postprocess: ({ data }) => { return [data[0]].concat(data[4]); } }
145
- ],
146
- word_list: [
147
- { name: "word_list", symbols: ["T_WORD"], postprocess: ({ data }) => { return [data[0]]; } },
148
- { name: "word_list", symbols: ["T_WORD", "_", "L_COMMA", "_", "word_list"], postprocess: ({ data }) => { return [data[0]].concat(data[4]); } }
149
- ],
150
- _$RPT0Nx1: [
151
- { name: "_$RPT0Nx1", symbols: [] },
152
- { name: "_$RPT0Nx1", symbols: ["_$RPT0Nx1", "_$RPT0Nx1$SUBx1"], postprocess: ({ data }) => data[0].concat([data[1]]) }
153
- ],
154
- _$RPT0Nx1$SUBx1: [
155
- { name: "_$RPT0Nx1$SUBx1", symbols: ["T_WS"] },
156
- { name: "_$RPT0Nx1$SUBx1", symbols: ["T_COMMENT"] }
157
- ],
158
- _: [
159
- { name: "_", symbols: ["_$RPT0Nx1"], postprocess: ({ data }) => { return null; } }
160
- ],
161
- __$RPT1Nx1$SUBx1: [
162
- { name: "__$RPT1Nx1$SUBx1", symbols: ["T_WS"] },
163
- { name: "__$RPT1Nx1$SUBx1", symbols: ["T_COMMENT"] }
164
- ],
165
- __$RPT1Nx1: [
166
- { name: "__$RPT1Nx1", symbols: ["__$RPT1Nx1$SUBx1"] },
167
- { name: "__$RPT1Nx1", symbols: ["__$RPT1Nx1", "__$RPT1Nx1$SUBx2"], postprocess: ({ data }) => data[0].concat([data[1]]) }
168
- ],
169
- __$RPT1Nx1$SUBx2: [
170
- { name: "__$RPT1Nx1$SUBx2", symbols: ["T_WS"] },
171
- { name: "__$RPT1Nx1$SUBx2", symbols: ["T_COMMENT"] }
172
- ],
173
- __: [
174
- { name: "__", symbols: ["__$RPT1Nx1"], postprocess: ({ data }) => { return null; } }
175
- ],
176
- L_COLON: [
177
- { name: "L_COLON", symbols: [{ token: "L_COLON" }] }
178
- ],
179
- L_SCOLON: [
180
- { name: "L_SCOLON", symbols: [{ token: "L_SCOLON" }] }
181
- ],
182
- L_QMARK: [
183
- { name: "L_QMARK", symbols: [{ token: "L_QMARK" }] }
184
- ],
185
- L_PLUS: [
186
- { name: "L_PLUS", symbols: [{ token: "L_PLUS" }] }
187
- ],
188
- L_STAR: [
189
- { name: "L_STAR", symbols: [{ token: "L_STAR" }] }
190
- ],
191
- L_COMMA: [
192
- { name: "L_COMMA", symbols: [{ token: "L_COMMA" }] }
193
- ],
194
- L_PIPE: [
195
- { name: "L_PIPE", symbols: [{ token: "L_PIPE" }] }
196
- ],
197
- L_PARENL: [
198
- { name: "L_PARENL", symbols: [{ token: "L_PARENL" }] }
199
- ],
200
- L_PARENR: [
201
- { name: "L_PARENR", symbols: [{ token: "L_PARENR" }] }
202
- ],
203
- L_TEMPLATEL: [
204
- { name: "L_TEMPLATEL", symbols: [{ token: "L_TEMPLATEL" }] }
205
- ],
206
- L_TEMPLATER: [
207
- { name: "L_TEMPLATER", symbols: [{ token: "L_TEMPLATER" }] }
208
- ],
209
- L_ARROW: [
210
- { name: "L_ARROW", symbols: [{ token: "L_ARROW" }] }
211
- ],
212
- L_DSIGN: [
213
- { name: "L_DSIGN", symbols: [{ token: "L_DSIGN" }] }
214
- ],
215
- L_DASH: [
216
- { name: "L_DASH", symbols: [{ token: "L_DASH" }] }
217
- ],
218
- K_ALL: [
219
- { name: "K_ALL", symbols: [{ literal: "all" }] }
220
- ],
221
- K_TAG: [
222
- { name: "K_TAG", symbols: [{ literal: "tag" }] }
223
- ],
224
- K_FROM: [
225
- { name: "K_FROM", symbols: [{ literal: "from" }] }
226
- ],
227
- K_TYPE: [
228
- { name: "K_TYPE", symbols: [{ literal: "type" }] }
229
- ],
230
- K_WHEN: [
231
- { name: "K_WHEN", symbols: [{ literal: "when" }] }
232
- ],
233
- K_POP: [
234
- { name: "K_POP", symbols: [{ literal: "pop" }] }
235
- ],
236
- K_BEFORE: [
237
- { name: "K_BEFORE", symbols: [{ literal: "before" }] }
238
- ],
239
- K_OPEN: [
240
- { name: "K_OPEN", symbols: [{ literal: "open" }] }
241
- ],
242
- K_CLOSE: [
243
- { name: "K_CLOSE", symbols: [{ literal: "close" }] }
244
- ],
245
- K_HIGHLIGHT: [
246
- { name: "K_HIGHLIGHT", symbols: [{ literal: "highlight" }] }
247
- ],
248
- K_EMBED: [
249
- { name: "K_EMBED", symbols: [{ literal: "embed" }] }
250
- ],
251
- K_UNEMBED: [
252
- { name: "K_UNEMBED", symbols: [{ literal: "unembed" }] }
253
- ],
254
- K_INSET: [
255
- { name: "K_INSET", symbols: [{ literal: "inset" }] }
256
- ],
257
- K_SET: [
258
- { name: "K_SET", symbols: [{ literal: "set" }] }
259
- ],
260
- K_GOTO: [
261
- { name: "K_GOTO", symbols: [{ literal: "goto" }] }
262
- ],
263
- K_CONFIG: [
264
- { name: "K_CONFIG", symbols: [{ literal: "config" }] }
265
- ],
266
- K_LEXER: [
267
- { name: "K_LEXER", symbols: [{ literal: "lexer" }] }
268
- ],
269
- K_GRAMMAR: [
270
- { name: "K_GRAMMAR", symbols: [{ literal: "grammar" }] }
271
- ],
272
- K_IMPORT: [
273
- { name: "K_IMPORT", symbols: [{ literal: "import" }] }
274
- ],
275
- K_BODY: [
276
- { name: "K_BODY", symbols: [{ literal: "body" }] }
277
- ],
278
- K_HEAD: [
279
- { name: "K_HEAD", symbols: [{ literal: "head" }] }
280
- ],
281
- T_JS$RPT0Nx1: [
282
- { name: "T_JS$RPT0Nx1", symbols: [] },
283
- { name: "T_JS$RPT0Nx1", symbols: ["T_JS$RPT0Nx1", { token: "T_JSBODY" }], postprocess: ({ data }) => data[0].concat([data[1]]) }
284
- ],
285
- T_JS: [
286
- { name: "T_JS", symbols: [{ token: "L_JSL" }, "T_JS$RPT0Nx1", { token: "L_JSR" }], postprocess: ({ data }) => { return { js: data[1].map(v => v.value).join('') }; } }
287
- ],
288
- T_GRAMMAR_TEMPLATE$RPT0Nx1: [
289
- { name: "T_GRAMMAR_TEMPLATE$RPT0Nx1", symbols: [] },
290
- { name: "T_GRAMMAR_TEMPLATE$RPT0Nx1", symbols: ["T_GRAMMAR_TEMPLATE$RPT0Nx1", { token: "T_JSBODY" }], postprocess: ({ data }) => data[0].concat([data[1]]) }
291
- ],
292
- T_GRAMMAR_TEMPLATE: [
293
- { name: "T_GRAMMAR_TEMPLATE", symbols: [{ token: "L_TEMPLATEL" }, "_", "T_GRAMMAR_TEMPLATE$RPT0Nx1", "_", { token: "L_TEMPLATER" }], postprocess: ({ data }) => { return { template: data[2].map(v => v.value).join('').trim() }; } }
294
- ],
295
- T_STRING: [
296
- { name: "T_STRING", symbols: [{ token: "T_STRING" }], postprocess: ({ data }) => { return JSON.parse(data[0].value); } }
297
- ],
298
- T_WORD: [
299
- { name: "T_WORD", symbols: [{ token: "T_WORD" }], postprocess: ({ data }) => { return data[0].value; } }
300
- ],
301
- T_REGEX$RPT0Nx1: [
302
- { name: "T_REGEX$RPT0Nx1", symbols: [] },
303
- { name: "T_REGEX$RPT0Nx1", symbols: ["T_REGEX$RPT0Nx1", /[gmiuy]/], postprocess: ({ data }) => data[0].concat([data[1]]) }
304
- ],
305
- T_REGEX: [
306
- { name: "T_REGEX", symbols: [{ token: "T_REGEX" }, "T_REGEX$RPT0Nx1"], postprocess: ({ data }) => { return { regex: data[0].value.replace(/\\\\\//g, '/').slice(1, -1), flags: data[1].map(v => v.value).join('').trim() }; } }
307
- ],
308
- T_COMMENT: [
309
- { name: "T_COMMENT", symbols: [{ token: "T_COMMENT" }] }
310
- ],
311
- T_INTEGER: [
312
- { name: "T_INTEGER", symbols: [{ token: "T_INTEGER" }], postprocess: ({ data }) => { return data[0].value; } }
313
- ],
314
- T_WS: [
315
- { name: "T_WS", symbols: [{ token: "T_WS" }], postprocess: ({ data }) => { return null; } }
316
- ]
317
- }
318
- },
319
- lexer: {
320
- start: "start",
321
- states: {
322
- start: {
323
- name: "start",
324
- rules: [
325
- { import: ["string", "js", "ws", "comment", "l_scolon", "l_star"] },
326
- { when: /lexer(?![a-zA-Z\d_])/, tag: ["T_WORD"], highlight: "type", goto: "lexer" },
327
- { when: /grammar(?![a-zA-Z\d_])/, tag: ["T_WORD"], highlight: "type", goto: "grammar" },
328
- { when: /config(?![a-zA-Z\d_])/, tag: ["T_WORD"], highlight: "type", goto: "config" },
329
- { import: ["kv"] }
330
- ]
331
- },
332
- config: {
333
- name: "config",
334
- rules: [
335
- { import: ["ws", "l_colon"] },
336
- { when: "{{", tag: ["L_TEMPLATEL"], set: "config_inner" }
337
- ]
338
- },
339
- config_inner: {
340
- name: "config_inner",
341
- rules: [
342
- { import: ["comment", "kv"] },
343
- { when: "}}", tag: ["L_TEMPLATER"], pop: 1 }
344
- ]
345
- },
346
- grammar: {
347
- name: "grammar",
348
- rules: [
349
- { import: ["ws", "l_colon"] },
350
- { when: "{{", tag: ["L_TEMPLATEL"], set: "grammar_inner" }
351
- ]
352
- },
353
- grammar_inner: {
354
- name: "grammar_inner",
355
- rules: [
356
- { import: ["comment", "js", "js_template", "ws", "regex", "l_qmark", "l_plus", "l_star", "kv", "l_colon", "l_comma", "l_pipe", "l_parenl", "l_parenr", "l_arrow", "l_dsign", "l_dash"] },
357
- { when: "}}", tag: ["L_TEMPLATER"], pop: 1 }
358
- ]
359
- },
360
- lexer: {
361
- name: "lexer",
362
- rules: [
363
- { import: ["ws", "l_colon"] },
364
- { when: "{{", tag: ["L_TEMPLATEL"], set: "lexer_inner" }
365
- ]
366
- },
367
- lexer_inner: {
368
- name: "lexer_inner",
369
- rules: [
370
- { import: ["ws", "comment", "regex", "l_comma", "l_arrow", "l_dash", "kv", "js"] },
371
- { when: "}}", tag: ["L_TEMPLATER"], pop: 1 }
372
- ]
373
- },
374
- js: {
375
- name: "js",
376
- rules: [
377
- { when: "${", tag: ["L_JSL"], goto: "js_wrap" }
378
- ]
379
- },
380
- js_wrap: {
381
- name: "js_wrap",
382
- default: "T_JSBODY",
383
- unmatched: "T_JSBODY",
384
- rules: [
385
- { import: ["jsignore"] },
386
- { when: "{", tag: ["T_JSBODY"], goto: "js_literal" },
387
- { when: "}", tag: ["L_JSR"], pop: 1 }
388
- ]
389
- },
390
- js_literal: {
391
- name: "js_literal",
392
- default: "T_JSBODY",
393
- unmatched: "T_JSBODY",
394
- rules: [
395
- { import: ["jsignore"] },
396
- { when: "{", tag: ["T_JSBODY"], goto: "js_literal" },
397
- { when: "}", tag: ["T_JSBODY"], pop: 1 }
398
- ]
399
- },
400
- js_template: {
401
- name: "js_template",
402
- rules: [
403
- { when: "{{", tag: ["L_TEMPLATEL"], goto: "js_template_inner" }
404
- ]
405
- },
406
- js_template_inner: {
407
- name: "js_template_inner",
408
- default: "T_JSBODY",
409
- unmatched: "T_JSBODY",
410
- rules: [
411
- { import: ["jsignore"] },
412
- { when: "{", tag: ["T_JSBODY"], goto: "js_literal" },
413
- { when: "}}", tag: ["L_TEMPLATER"], pop: 1 }
414
- ]
415
- },
416
- kv: {
417
- name: "kv",
418
- rules: [
419
- { import: ["string", "ws", "word", "l_colon", "integer"] }
420
- ]
421
- },
422
- jsignore: {
423
- name: "jsignore",
424
- rules: [
425
- { when: /"(?:[^"\\\r\n]|\\.)*"/, tag: ["T_JSBODY"] },
426
- { when: /'(?:[^'\\\r\n]|\\.)*'/, tag: ["T_JSBODY"] },
427
- { when: /`(?:[^`\\]|\\.)*`/, tag: ["T_JSBODY"] },
428
- { when: /\/(?:[^\/\\\r\n]|\\.)+\/[gmiyu]*/, tag: ["T_JSBODY"] },
429
- { when: /\/\/[^\n]*/, tag: ["T_JSBODY"] },
430
- { when: /\/\*.*\*\//, tag: ["T_JSBODY"] }
431
- ]
432
- },
433
- string: {
434
- name: "string",
435
- rules: [
436
- { when: /"(?:[^"\\\r\n]|\\.)*"/, tag: ["T_STRING"], highlight: "string" }
437
- ]
438
- },
439
- string2: {
440
- name: "string2",
441
- rules: [
442
- { when: /'(?:[^'\\\r\n]|\\.)*'/, tag: ["T_STRING"], highlight: "string" }
443
- ]
444
- },
445
- string3: {
446
- name: "string3",
447
- rules: [
448
- { when: /`(?:[^`\\]|\\.)*`/, tag: ["T_STRING"], highlight: "string" }
449
- ]
450
- },
451
- regex: {
452
- name: "regex",
453
- rules: [
454
- { when: /\/(?:[^\/\\\r\n]|\\.)+\//, tag: ["T_REGEX"], highlight: "regexp" }
455
- ]
456
- },
457
- integer: {
458
- name: "integer",
459
- rules: [
460
- { when: /\d+/, tag: ["T_INTEGER"], highlight: "number" }
461
- ]
462
- },
463
- word: {
464
- name: "word",
465
- rules: [
466
- { when: /[a-zA-Z_][a-zA-Z_\d]*/, tag: ["T_WORD"] }
467
- ]
468
- },
469
- ws: {
470
- name: "ws",
471
- rules: [
472
- { when: /\s+/, tag: ["T_WS"] }
473
- ]
474
- },
475
- l_colon: {
476
- name: "l_colon",
477
- rules: [
478
- { when: ":", tag: ["L_COLON"], highlight: "keyword" }
479
- ]
480
- },
481
- l_scolon: {
482
- name: "l_scolon",
483
- rules: [
484
- { when: ";", tag: ["L_SCOLON"] }
485
- ]
486
- },
487
- l_qmark: {
488
- name: "l_qmark",
489
- rules: [
490
- { when: "?", tag: ["L_QMARK"] }
491
- ]
492
- },
493
- l_plus: {
494
- name: "l_plus",
495
- rules: [
496
- { when: "+", tag: ["L_PLUS"] }
497
- ]
498
- },
499
- l_star: {
500
- name: "l_star",
501
- rules: [
502
- { when: "*", tag: ["L_STAR"] }
503
- ]
504
- },
505
- l_comma: {
506
- name: "l_comma",
507
- rules: [
508
- { when: ",", tag: ["L_COMMA"] }
509
- ]
510
- },
511
- l_pipe: {
512
- name: "l_pipe",
513
- rules: [
514
- { when: "|", tag: ["L_PIPE"], highlight: "keyword" }
515
- ]
516
- },
517
- l_parenl: {
518
- name: "l_parenl",
519
- rules: [
520
- { when: "(", tag: ["L_PARENL"] }
521
- ]
522
- },
523
- l_parenr: {
524
- name: "l_parenr",
525
- rules: [
526
- { when: ")", tag: ["L_PARENR"] }
527
- ]
528
- },
529
- l_templatel: {
530
- name: "l_templatel",
531
- rules: [
532
- { when: "{{", tag: ["L_TEMPLATEL"] }
533
- ]
534
- },
535
- l_templater: {
536
- name: "l_templater",
537
- rules: [
538
- { when: "}}", tag: ["L_TEMPLATER"] }
539
- ]
540
- },
541
- l_arrow: {
542
- name: "l_arrow",
543
- rules: [
544
- { when: "->", tag: ["L_ARROW"], highlight: "keyword" }
545
- ]
546
- },
547
- l_dsign: {
548
- name: "l_dsign",
549
- rules: [
550
- { when: "$", tag: ["L_DSIGN"] }
551
- ]
552
- },
553
- l_dash: {
554
- name: "l_dash",
555
- rules: [
556
- { when: "-", tag: ["L_DASH"] }
557
- ]
558
- },
559
- comment: {
560
- name: "comment",
561
- rules: [
562
- { when: /\/\/[^\n]*/, tag: ["T_COMMENT"], highlight: "comment" }
563
- ]
564
- },
565
- commentmulti: {
566
- name: "commentmulti",
567
- rules: [
568
- { when: /\/\*.*\*\//, tag: ["T_COMMENT"], highlight: "comment" }
569
- ]
570
- }
571
- }
572
- }
573
- };
574
- }
575
- exports.default = GWLanguage;
576
- //# sourceMappingURL=gwell.js.map