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 +0,0 @@
1
- {"version":3,"file":"gwell.js","sourceRoot":"","sources":["../../src/compiler/gwell.js"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { ImportResolver } from "../typings";
2
- export declare class FileSystemResolver implements ImportResolver {
3
- private baseDir;
4
- private readFile;
5
- private resolve;
6
- constructor(baseDir: string);
7
- path(path: string): string;
8
- body(path: string): Promise<string>;
9
- }
10
- export declare class BrowserImportResolver implements ImportResolver {
11
- private baseURL;
12
- constructor(baseURL: string);
13
- path(path: string): string;
14
- body(path: string): Promise<string>;
15
- }
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BrowserImportResolver = exports.FileSystemResolver = void 0;
4
- class FileSystemResolver {
5
- baseDir;
6
- readFile;
7
- resolve;
8
- constructor(baseDir) {
9
- const { readFile } = require('fs');
10
- const { resolve, dirname } = require('path');
11
- const { promisify } = require('util');
12
- this.readFile = promisify(readFile);
13
- this.resolve = resolve;
14
- this.baseDir = baseDir ? dirname(baseDir) : process?.cwd();
15
- }
16
- path(path) {
17
- return this.resolve(this.baseDir, path);
18
- }
19
- body(path) {
20
- return this.readFile(path, 'utf-8');
21
- }
22
- }
23
- exports.FileSystemResolver = FileSystemResolver;
24
- class BrowserImportResolver {
25
- baseURL;
26
- constructor(baseURL) {
27
- this.baseURL = baseURL;
28
- }
29
- path(path) {
30
- return (new URL(path, this.baseURL)).href;
31
- }
32
- async body(path) {
33
- return (await fetch(path)).text();
34
- }
35
- }
36
- exports.BrowserImportResolver = BrowserImportResolver;
37
- //# sourceMappingURL=import-resolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"import-resolver.js","sourceRoot":"","sources":["../../src/compiler/import-resolver.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;IACnB,OAAO,CAAS;IAChB,QAAQ,CAAkD;IAC1D,OAAO,CAA+C;IAE9D,YAAY,OAAe;QACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,IAAY;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,IAAY;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACJ;AArBD,gDAqBC;AAED,MAAa,qBAAqB;IACV;IAApB,YAAoB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAI,CAAC;IAExC,IAAI,CAAC,IAAY;QACb,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY;QACnB,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtC,CAAC;CACJ;AAVD,sDAUC"}
@@ -1,2 +0,0 @@
1
- export * from './compiler';
2
- export * from './import-resolver';
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./compiler"), exports);
18
- __exportStar(require("./import-resolver"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compiler/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,oDAAkC"}
@@ -1,3 +0,0 @@
1
- import { Generator } from "../generator/generator";
2
- export declare function JavascriptOutput(generator: Generator, exportName: string): string;
3
- export declare function ESMOutput(generator: Generator, exportName: string): string;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ESMOutput = exports.JavascriptOutput = void 0;
4
- function JavascriptOutput(generator, exportName) {
5
- return `${Generate(generator, exportName)}
6
-
7
- if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
8
- module.exports = ${exportName};
9
- } else {
10
- window.${exportName} = ${exportName};
11
- }`;
12
- }
13
- exports.JavascriptOutput = JavascriptOutput;
14
- function ESMOutput(generator, exportName) {
15
- return `${Generate(generator, exportName)}
16
-
17
- export default ${exportName};`;
18
- }
19
- exports.ESMOutput = ESMOutput;
20
- function Generate(generator, exportName) {
21
- return `// Generated automatically by Grammar-Well, version ${generator.state.version}
22
- // https://github.com/0x6563/grammar-well
23
- ${generator.serializeHead()}
24
- function ${exportName}(){
25
- ${generator.serializeBody()}
26
- return ${generator.serializeLanguage(1)}
27
- }`;
28
- }
29
- //# sourceMappingURL=javascript.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../../src/compiler/outputs/javascript.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gBAAgB,CAAC,SAAoB,EAAE,UAAkB;IACrE,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;;;uBAGtB,UAAU;;aAEpB,UAAU,MAAM,UAAU;EACrC,CAAC;AACH,CAAC;AARD,4CAQC;AAED,SAAgB,SAAS,CAAC,SAAoB,EAAE,UAAkB;IAC9D,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;;iBAE5B,UAAU,GAAG,CAAC;AAC/B,CAAC;AAJD,8BAIC;AAED,SAAS,QAAQ,CAAC,SAAoB,EAAE,UAAkB;IACtD,OAAO,uDAAuD,SAAS,CAAC,KAAK,CAAC,OAAO;;EAEvF,SAAS,CAAC,aAAa,EAAE;WAChB,UAAU;MACf,SAAS,CAAC,aAAa,EAAE;aAClB,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;EACzC,CAAC;AACH,CAAC"}
@@ -1,2 +0,0 @@
1
- import { Generator } from "../generator/generator";
2
- export declare function JSONFormatter(generator: Generator, exportName: any): string;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JSONFormatter = void 0;
4
- function JSONFormatter(generator, exportName) {
5
- return JSON.stringify({ state: generator.state, exportName });
6
- }
7
- exports.JSONFormatter = JSONFormatter;
8
- //# sourceMappingURL=json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/compiler/outputs/json.ts"],"names":[],"mappings":";;;AAEA,SAAgB,aAAa,CAAC,SAAoB,EAAE,UAAU;IAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AAClE,CAAC;AAFD,sCAEC"}
@@ -1,2 +0,0 @@
1
- import { Generator } from "../generator/generator";
2
- export declare function TypescriptFormat(generator: Generator, exportName: string): string;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TypescriptFormat = void 0;
4
- function TypescriptFormat(generator, exportName) {
5
- return `// Generated automatically by Grammar-Well, version ${generator.state.version}
6
- // https://github.com/0x6563/grammar-well
7
- import type { LanguageDefinition } from 'grammar-well';
8
-
9
- ${generator.serializeHead()}
10
-
11
- function ${exportName}(): LanguageDefinition {
12
- ${generator.serializeBody()}
13
- return ${generator.serializeLanguage(1)}
14
- }
15
-
16
- export default ${exportName};
17
-
18
- `;
19
- }
20
- exports.TypescriptFormat = TypescriptFormat;
21
- //# sourceMappingURL=typescript.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/compiler/outputs/typescript.ts"],"names":[],"mappings":";;;AAEA,SAAgB,gBAAgB,CAAC,SAAoB,EAAE,UAAkB;IACrE,OAAO,uDAAuD,SAAS,CAAC,KAAK,CAAC,OAAO;;;;EAIvF,SAAS,CAAC,aAAa,EAAE;;WAEhB,UAAU;MACf,SAAS,CAAC,aAAa,EAAE;aAClB,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;;;iBAG1B,UAAU;;CAE1B,CAAC;AACF,CAAC;AAfD,4CAeC"}
@@ -1,7 +0,0 @@
1
- import type { TokenBuffer } from "../../lexers/token-buffer";
2
- import type { LanguageDefinition } from "../../typings";
3
- export declare function LR(language: LanguageDefinition & {
4
- tokens: TokenBuffer;
5
- }, _options?: {}): {
6
- results: any[];
7
- };
@@ -1,108 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LR = void 0;
4
- const parser_1 = require("../parser");
5
- <<<<<<< HEAD
6
- function LR(language, options = {}) {
7
- const { grammar, tokens } = language;
8
- const terminals = [];
9
- const nonTerminals = [];
10
- for (const name in grammar.rules) {
11
- for (const rule of grammar.rules[name]) {
12
- const { symbols } = rule;
13
- if (parser_1.ParserUtility.SymbolIsTerminal(symbols[0])) {
14
- terminals.push(rule);
15
- }
16
- else {
17
- nonTerminals.push(rule);
18
- =======
19
- function LR(language, _options = {}) {
20
- const { lr, tokens } = language;
21
- const { table } = lr;
22
- const stack = new LRStack();
23
- stack.push({ state: table['0.0'] });
24
- let token;
25
- while (token = tokens.next()) {
26
- for (const { symbol, next } of stack.current.state.actions) {
27
- if (parser_1.ParserUtility.TokenMatchesSymbol(token, symbol)) {
28
- stack.push({ symbol, state: table[next], value: token });
29
- break;
30
- >>>>>>> main
31
- }
32
- }
33
- while (stack.current.state?.isFinal) {
34
- const rule = stack.current.state.reduce;
35
- stack.reduce(rule);
36
- stack.current.value = parser_1.ParserUtility.PostProcess(rule, stack.current.children.map(v => v.value));
37
- const s = stack.previous?.state.goto[rule.name];
38
- stack.shift(table[s]);
39
- }
40
- }
41
- <<<<<<< HEAD
42
- const table = new ParsingTable(grammar);
43
- return { results: [] };
44
- }
45
- exports.LR = LR;
46
- class ParsingTable {
47
- constructor(grammar) {
48
- this.grammar = grammar;
49
- this.states = [];
50
- this.symbolIds = new IdMap();
51
- this.ruleIds = new IdMap();
52
- this.stateIds = new Map();
53
- this.queue = [];
54
- this.queue.push({ name: 'S\'', symbols: [grammar.start] });
55
- let item;
56
- while (item = this.queue.shift()) {
57
- this.addRule(item);
58
- }
59
- }
60
- addRule(rule) {
61
- if (this.ruleIds.map.has(rule))
62
- return;
63
- for (let i = 0; i <= rule.symbols.length; i++) {
64
- this.getStateId(rule, i);
65
- const symbol = rule.symbols[i];
66
- if (symbol && !parser_1.ParserUtility.SymbolIsTerminal(symbol)) {
67
- const subs = this.grammar.rules[symbol];
68
- this.queue.push(...this.grammar.rules[symbol]);
69
- }
70
- }
71
- =======
72
- return { results: [stack.current.value] };
73
- }
74
- exports.LR = LR;
75
- class LRStack {
76
- stack = [];
77
- get current() {
78
- return this.stack[this.stack.length - 1];
79
- }
80
- get previous() {
81
- return this.stack[this.stack.length - 2];
82
- >>>>>>> main
83
- }
84
- shift(state) {
85
- this.current.state = state;
86
- }
87
- reduce(rule) {
88
- const n = new LRStackItem();
89
- const l = rule.symbols.length;
90
- n.children = this.stack.splice(l * -1, l);
91
- n.children.forEach(v => delete v.state);
92
- n.rule = rule;
93
- n.symbol = rule.name;
94
- this.stack.push(n);
95
- }
96
- push(item) {
97
- this.stack.push(new LRStackItem());
98
- Object.assign(this.current, item);
99
- }
100
- }
101
- class LRStackItem {
102
- children = [];
103
- state;
104
- symbol;
105
- rule;
106
- value;
107
- }
108
- //# sourceMappingURL=lr.js.map
@@ -1,5 +0,0 @@
1
- <<<<<<< HEAD
2
- {"version":3,"file":"lr.js","sourceRoot":"","sources":["../../../src/parser/algorithms/lr.ts"],"names":[],"mappings":"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"}
3
- =======
4
- {"version":3,"file":"lr.js","sourceRoot":"","sources":["../../../src/parser/algorithms/lr.ts"],"names":[],"mappings":"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"}
5
- >>>>>>> main
@@ -1,7 +0,0 @@
1
- import { TokenBuffer } from "../../lexers/token-buffer";
2
- import { LanguageDefinition } from "../../typings";
3
- export declare function LR0(language: LanguageDefinition & {
4
- tokens: TokenBuffer;
5
- }, options?: {}): {
6
- results: any[];
7
- };
@@ -1,156 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LR0 = void 0;
4
- const parser_1 = require("../parser");
5
- function LR0(language, options = {}) {
6
- var _a;
7
- const { grammar, tokens } = language;
8
- const collection = new CanonicalCollection(grammar);
9
- const stack = new LRStack();
10
- const s = collection.states.get('0.0');
11
- stack.append(s.rule.name);
12
- stack.shift(s);
13
- let token;
14
- while (token = tokens.next()) {
15
- for (const [symbol, state] of stack.current.state.actions) {
16
- if (parser_1.ParserUtility.SymbolMatchesToken(symbol, token)) {
17
- stack.append(symbol);
18
- stack.shift(collection.states.get(state));
19
- stack.current.value = token;
20
- break;
21
- }
22
- }
23
- while ((_a = stack.current.state) === null || _a === void 0 ? void 0 : _a.isFinal) {
24
- const rule = collection.rules.getItem(stack.current.state.reduce);
25
- stack.reduce(rule);
26
- stack.current.value = parser_1.ParserUtility.PostProcess(rule, stack.current.children.map(v => v.value));
27
- const s = stack.previous.state.goto.get(rule.name);
28
- stack.shift(collection.states.get(s));
29
- }
30
- }
31
- return { results: [stack.current.value] };
32
- }
33
- exports.LR0 = LR0;
34
- class Node {
35
- constructor() {
36
- this.children = [];
37
- }
38
- }
39
- class LRStack {
40
- constructor() {
41
- this.stack = [];
42
- }
43
- get current() {
44
- return this.stack[this.stack.length - 1];
45
- }
46
- get previous() {
47
- return this.stack[this.stack.length - 2];
48
- }
49
- shift(state) {
50
- this.current.state = state;
51
- }
52
- reduce(rule) {
53
- const n = new Node();
54
- const l = rule.symbols.length;
55
- n.children = this.stack.splice(l * -1, l);
56
- n.children.forEach(v => delete v.state);
57
- n.rule = rule;
58
- n.symbol = rule.name;
59
- this.stack.push(n);
60
- }
61
- append(symbol) {
62
- this.stack.push(new Node());
63
- this.current.symbol = symbol;
64
- }
65
- }
66
- class CanonicalCollection {
67
- constructor(grammar) {
68
- this.grammar = grammar;
69
- this.rules = new IdMap();
70
- this.states = new Map();
71
- const augment = Symbol();
72
- const augmented = { name: augment, symbols: [grammar.start] };
73
- grammar['rules'][augment] = [augmented];
74
- this.rules.getId(augmented);
75
- this.addState(grammar['rules'][augment][0], 0);
76
- this.linkStates('0.0', new Set());
77
- }
78
- addState(rule, dot) {
79
- const id = this.getStateId(rule, dot);
80
- if (this.states.has(id))
81
- return;
82
- const state = new State(this.grammar, rule, dot);
83
- this.states.set(id, state);
84
- if (!state.isFinal)
85
- for (let i = 0; i < state.items.length; i++) {
86
- const item = state.items[i];
87
- this.addState(item.rule, item.dot + 1);
88
- }
89
- }
90
- getStateId(rule, dot) {
91
- return this.rules.getId(rule) + '.' + dot;
92
- }
93
- linkStates(id, completed) {
94
- completed.add(id);
95
- const state = this.states.get(id);
96
- if (!state.isFinal) {
97
- for (let i = 0; i < state.items.length; i++) {
98
- const item = state.items[i];
99
- const symbol = item.rule.symbols[item.dot];
100
- const itemStateId = this.getStateId(item.rule, item.dot + 1);
101
- if (parser_1.ParserUtility.SymbolIsTerminal(symbol) && typeof symbol != 'symbol') {
102
- state.actions.set(symbol, itemStateId);
103
- }
104
- else {
105
- state.goto.set(symbol, itemStateId);
106
- }
107
- if (!completed.has(itemStateId))
108
- this.linkStates(itemStateId, completed);
109
- }
110
- }
111
- else {
112
- state.reduce = this.rules.getId(state.rule);
113
- }
114
- }
115
- }
116
- class State {
117
- constructor(grammar, rule, dot) {
118
- this.rule = rule;
119
- this.items = [];
120
- this.isFinal = false;
121
- this.actions = new Map();
122
- this.goto = new Map();
123
- if (rule.symbols.length == dot)
124
- this.isFinal = true;
125
- this.addClosure(grammar, rule, dot);
126
- }
127
- addClosure(grammar, rule, dot, visited = new Set()) {
128
- const symbol = rule.symbols[dot];
129
- if (visited.has(symbol))
130
- return;
131
- visited.add(symbol);
132
- this.items.push({ rule, dot });
133
- if (!parser_1.ParserUtility.SymbolIsTerminal(symbol)) {
134
- grammar
135
- .rules[symbol]
136
- .forEach(v => this.addClosure(grammar, v, 0, visited));
137
- }
138
- }
139
- }
140
- class IdMap {
141
- constructor() {
142
- this.map = new Map();
143
- this.items = [];
144
- }
145
- getId(ref) {
146
- if (!this.map.has(ref)) {
147
- this.map.set(ref, this.items.length);
148
- this.items.push(ref);
149
- }
150
- return this.map.get(ref);
151
- }
152
- getItem(ref) {
153
- return this.items[ref];
154
- }
155
- }
156
- //# sourceMappingURL=lr0.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lr0.js","sourceRoot":"","sources":["../../../src/parser/algorithms/lr0.ts"],"names":[],"mappings":"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"}