grammar-well 2.0.7 → 2.2.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 (121) hide show
  1. package/build/generator/artifacts/basic.d.ts +1 -1
  2. package/build/generator/artifacts/basic.js.map +1 -1
  3. package/build/generator/artifacts/lexer.d.ts +2 -2
  4. package/build/generator/artifacts/lexer.js +1 -1
  5. package/build/generator/artifacts/lexer.js.map +1 -1
  6. package/build/generator/artifacts/lr.d.ts +5 -5
  7. package/build/generator/artifacts/lr.js +2 -2
  8. package/build/generator/artifacts/lr.js.map +1 -1
  9. package/build/generator/generator.d.ts +3 -3
  10. package/build/generator/generator.js +3 -3
  11. package/build/generator/generator.js.map +1 -1
  12. package/build/generator/grammars/index.d.ts +2 -2
  13. package/build/generator/grammars/index.js +2 -2
  14. package/build/generator/import-resolvers/auto.d.ts +1 -1
  15. package/build/generator/import-resolvers/browser.d.ts +1 -1
  16. package/build/generator/import-resolvers/browser.js.map +1 -1
  17. package/build/generator/import-resolvers/dictionary.d.ts +1 -1
  18. package/build/generator/import-resolvers/dictionary.js.map +1 -1
  19. package/build/generator/import-resolvers/filesystem.d.ts +1 -1
  20. package/build/generator/index.d.ts +3 -3
  21. package/build/generator/index.js +3 -3
  22. package/build/generator/state.d.ts +1 -1
  23. package/build/generator/stringify/common.d.ts +2 -2
  24. package/build/generator/stringify/common.js.map +1 -1
  25. package/build/generator/stringify/exports/javascript.d.ts +1 -1
  26. package/build/generator/stringify/exports/json.d.ts +1 -1
  27. package/build/generator/stringify/exports/registry.d.ts +6 -6
  28. package/build/generator/stringify/exports/typescript.d.ts +1 -1
  29. package/build/generator/stringify/grammar/v2.d.ts +1 -1
  30. package/build/generator/stringify/javascript.d.ts +2 -2
  31. package/build/generator/stringify/javascript.js.map +1 -1
  32. package/build/index.d.ts +7 -7
  33. package/build/index.js +7 -7
  34. package/build/lexers/character-lexer.d.ts +1 -1
  35. package/build/lexers/stateful-lexer.d.ts +1 -1
  36. package/build/lexers/token-buffer.d.ts +3 -3
  37. package/build/lexers/token-buffer.js +2 -2
  38. package/build/lexers/token-buffer.js.map +1 -1
  39. package/build/parser/algorithms/cyk.d.ts +2 -2
  40. package/build/parser/algorithms/earley.d.ts +15 -12
  41. package/build/parser/algorithms/earley.js +39 -14
  42. package/build/parser/algorithms/earley.js.map +1 -1
  43. package/build/parser/algorithms/lrk/algorithm.d.ts +2 -2
  44. package/build/parser/algorithms/lrk/algorithm.js +31 -21
  45. package/build/parser/algorithms/lrk/algorithm.js.map +1 -1
  46. package/build/parser/algorithms/lrk/canonical-collection.d.ts +10 -10
  47. package/build/parser/algorithms/lrk/canonical-collection.js +73 -49
  48. package/build/parser/algorithms/lrk/canonical-collection.js.map +1 -1
  49. package/build/parser/algorithms/lrk/closure.d.ts +1 -1
  50. package/build/parser/algorithms/lrk/closure.js.map +1 -1
  51. package/build/parser/algorithms/lrk/stack.d.ts +8 -18
  52. package/build/parser/algorithms/lrk/stack.js +11 -24
  53. package/build/parser/algorithms/lrk/stack.js.map +1 -1
  54. package/build/parser/algorithms/lrk/state.d.ts +1 -1
  55. package/build/parser/algorithms/lrk/typings.d.ts +16 -0
  56. package/build/parser/algorithms/lrk/typings.js +2 -0
  57. package/build/parser/algorithms/lrk/typings.js.map +1 -0
  58. package/build/parser/parse.d.ts +1 -1
  59. package/build/typings/ast.d.ts +1 -1
  60. package/build/typings/generator.d.ts +4 -4
  61. package/build/typings/index.d.ts +8 -8
  62. package/build/typings/index.js +4 -4
  63. package/build/typings/runtime.d.ts +3 -3
  64. package/build/utility/format.js +3 -3
  65. package/build/utility/general.d.ts +2 -2
  66. package/build/utility/general.js +1 -1
  67. package/build/utility/general.js.map +1 -1
  68. package/build/utility/index.d.ts +4 -4
  69. package/build/utility/index.js +4 -4
  70. package/build/utility/lint.d.ts +1 -1
  71. package/build/utility/monarch.d.ts +1 -1
  72. package/build/utility/parsing.d.ts +2 -2
  73. package/build/utility/text-format.d.ts +2 -2
  74. package/build/version.json +1 -1
  75. package/package.json +8 -9
  76. package/src/generator/artifacts/basic.ts +6 -4
  77. package/src/generator/artifacts/lexer.ts +6 -4
  78. package/src/generator/artifacts/lr.ts +10 -7
  79. package/src/generator/generator.ts +17 -11
  80. package/src/generator/grammars/index.ts +2 -2
  81. package/src/generator/grammars/v1.ts +1 -1
  82. package/src/generator/grammars/v2.ts +1 -1
  83. package/src/generator/import-resolvers/auto.ts +3 -3
  84. package/src/generator/import-resolvers/browser.ts +5 -2
  85. package/src/generator/import-resolvers/dictionary.ts +5 -2
  86. package/src/generator/import-resolvers/filesystem.ts +1 -1
  87. package/src/generator/index.ts +3 -3
  88. package/src/generator/state.ts +1 -1
  89. package/src/generator/stringify/common.ts +6 -3
  90. package/src/generator/stringify/exports/javascript.ts +1 -1
  91. package/src/generator/stringify/exports/json.ts +1 -1
  92. package/src/generator/stringify/exports/registry.ts +4 -4
  93. package/src/generator/stringify/exports/typescript.ts +1 -1
  94. package/src/generator/stringify/grammar/v2.ts +1 -1
  95. package/src/generator/stringify/javascript.ts +12 -8
  96. package/src/index.ts +7 -7
  97. package/src/lexers/character-lexer.ts +1 -1
  98. package/src/lexers/stateful-lexer.ts +1 -1
  99. package/src/lexers/token-buffer.ts +16 -3
  100. package/src/parser/algorithms/cyk.ts +4 -4
  101. package/src/parser/algorithms/earley.ts +68 -20
  102. package/src/parser/algorithms/lrk/algorithm.ts +40 -25
  103. package/src/parser/algorithms/lrk/canonical-collection.ts +84 -55
  104. package/src/parser/algorithms/lrk/stack.ts +12 -37
  105. package/src/parser/algorithms/lrk/typings.ts +13 -0
  106. package/src/parser/parse.ts +8 -8
  107. package/src/typings/ast.ts +1 -1
  108. package/src/typings/generator.ts +4 -4
  109. package/src/typings/index.ts +8 -8
  110. package/src/typings/runtime.ts +3 -3
  111. package/src/utility/format.ts +4 -4
  112. package/src/utility/general.ts +4 -3
  113. package/src/utility/index.ts +4 -4
  114. package/src/utility/lint.ts +1 -1
  115. package/src/utility/monarch.ts +1 -1
  116. package/src/utility/parsing.ts +1 -1
  117. package/src/utility/text-format.ts +2 -2
  118. package/src/version.json +1 -1
  119. package/tsconfig.tsbuildinfo +1 -1
  120. package/src/parser/algorithms/lrk/closure.ts +0 -37
  121. package/src/parser/algorithms/lrk/state.ts +0 -10
@@ -1,4 +1,4 @@
1
- export * from './monarch.js';
2
- export * from './general.js';
3
- export * from './format.js';
4
- export * from './parsing.js';
1
+ export * from './monarch.ts';
2
+ export * from './general.ts';
3
+ export * from './format.ts';
4
+ export * from './parsing.ts';
@@ -1,4 +1,4 @@
1
- import { Dictionary, RuntimeGrammarProductionRule, RuntimeGrammarRuleSymbol, RuntimeParserClass } from "../typings/index.js";
1
+ import type { Dictionary, RuntimeGrammarProductionRule, RuntimeGrammarRuleSymbol, RuntimeParserClass } from "../typings/index.ts";
2
2
 
3
3
  export function LintGrammarSymbols(grammar: RuntimeParserClass['artifacts']['grammar']): RuntimeGrammarRuleSymbol[] {
4
4
  const unused = new Set<string>();
@@ -1,4 +1,4 @@
1
- import { ASTLexerStateNonMatchRule, RuntimeLexerConfig, RuntimeLexerStateMatchRule } from "../typings/index.js";
1
+ import type { ASTLexerStateNonMatchRule, RuntimeLexerConfig, RuntimeLexerStateMatchRule } from "../typings/index.ts";
2
2
 
3
3
  export function CreateMonarchTokenizer(lexer: RuntimeLexerConfig) {
4
4
  const tokenizer: any = {}; // languages.IMonarchLanguage['tokenizer']
@@ -1,4 +1,4 @@
1
- import { RuntimeGrammarProductionRule, RuntimeGrammarRuleSymbol, RuntimeLexerToken } from "../typings/index.js";
1
+ import type { RuntimeGrammarProductionRule, RuntimeGrammarRuleSymbol, RuntimeLexerToken } from "../typings/index.ts";
2
2
 
3
3
  export class ParserUtility {
4
4
 
@@ -1,5 +1,5 @@
1
- import { TokenBuffer } from "../lexers/token-buffer.js";
2
- import { RuntimeGrammarProductionRule, RuntimeGrammarRuleSymbol, RuntimeLexerToken } from "../typings/index.js";
1
+ import { TokenBuffer } from "../lexers/token-buffer.ts";
2
+ import type { RuntimeGrammarProductionRule, RuntimeGrammarRuleSymbol, RuntimeLexerToken } from "../typings/index.ts";
3
3
 
4
4
  export class TextFormatter {
5
5
 
package/src/version.json CHANGED
@@ -1 +1 @@
1
- {"version":"2.0.7"}
1
+ {"version":"2.2.0"}
@@ -1 +1 @@
1
- {"root":["./src/index.ts","./src/generator/generator.ts","./src/generator/index.ts","./src/generator/state.ts","./src/generator/artifacts/basic.ts","./src/generator/artifacts/lexer.ts","./src/generator/artifacts/lr.ts","./src/generator/grammars/index.ts","./src/generator/grammars/v1.ts","./src/generator/grammars/v2.ts","./src/generator/import-resolvers/auto.ts","./src/generator/import-resolvers/browser.ts","./src/generator/import-resolvers/dictionary.ts","./src/generator/import-resolvers/filesystem.ts","./src/generator/stringify/common.ts","./src/generator/stringify/javascript.ts","./src/generator/stringify/exports/javascript.ts","./src/generator/stringify/exports/json.ts","./src/generator/stringify/exports/registry.ts","./src/generator/stringify/exports/typescript.ts","./src/generator/stringify/grammar/v2.ts","./src/lexers/character-lexer.ts","./src/lexers/stateful-lexer.ts","./src/lexers/token-buffer.ts","./src/parser/parse.ts","./src/parser/algorithms/cyk.ts","./src/parser/algorithms/earley.ts","./src/parser/algorithms/lrk/algorithm.ts","./src/parser/algorithms/lrk/bimap.ts","./src/parser/algorithms/lrk/canonical-collection.ts","./src/parser/algorithms/lrk/closure.ts","./src/parser/algorithms/lrk/stack.ts","./src/parser/algorithms/lrk/state.ts","./src/typings/ast.ts","./src/typings/common.ts","./src/typings/generator.ts","./src/typings/index.ts","./src/typings/runtime.ts","./src/utility/format.ts","./src/utility/general.ts","./src/utility/index.ts","./src/utility/lint.ts","./src/utility/monarch.ts","./src/utility/parsing.ts","./src/utility/text-format.ts"],"version":"5.7.2"}
1
+ {"root":["./src/index.ts","./src/generator/generator.ts","./src/generator/index.ts","./src/generator/state.ts","./src/generator/artifacts/basic.ts","./src/generator/artifacts/lexer.ts","./src/generator/artifacts/lr.ts","./src/generator/grammars/index.ts","./src/generator/grammars/v1.ts","./src/generator/grammars/v2.ts","./src/generator/import-resolvers/auto.ts","./src/generator/import-resolvers/browser.ts","./src/generator/import-resolvers/dictionary.ts","./src/generator/import-resolvers/filesystem.ts","./src/generator/stringify/common.ts","./src/generator/stringify/javascript.ts","./src/generator/stringify/exports/javascript.ts","./src/generator/stringify/exports/json.ts","./src/generator/stringify/exports/registry.ts","./src/generator/stringify/exports/typescript.ts","./src/generator/stringify/grammar/v2.ts","./src/lexers/character-lexer.ts","./src/lexers/stateful-lexer.ts","./src/lexers/token-buffer.ts","./src/parser/parse.ts","./src/parser/algorithms/cyk.ts","./src/parser/algorithms/earley.ts","./src/parser/algorithms/lrk/algorithm.ts","./src/parser/algorithms/lrk/bimap.ts","./src/parser/algorithms/lrk/canonical-collection.ts","./src/parser/algorithms/lrk/stack.ts","./src/parser/algorithms/lrk/typings.ts","./src/typings/ast.ts","./src/typings/common.ts","./src/typings/generator.ts","./src/typings/index.ts","./src/typings/runtime.ts","./src/utility/format.ts","./src/utility/general.ts","./src/utility/index.ts","./src/utility/lint.ts","./src/utility/monarch.ts","./src/utility/parsing.ts","./src/utility/text-format.ts"],"version":"5.9.3"}
@@ -1,37 +0,0 @@
1
- import { RuntimeGrammarProductionRule, RuntimeGrammarRuleSymbol, RuntimeParserClass } from "../../../typings/index.js";
2
- import { ParserUtility } from "../../../utility/parsing.js";
3
-
4
- export class ClosureBuilder {
5
- constructor(
6
- private grammar: RuntimeParserClass['artifacts']['grammar'],
7
- ) { }
8
-
9
- get(rule: string) {
10
- const closure: RuleClosure = { items: [], visited: new Set() };
11
- this.addClosure(closure, rule);
12
- return closure.items;
13
- }
14
-
15
- private addClosure(closure: RuleClosure, symbol: RuntimeGrammarRuleSymbol) {
16
- if (!ParserUtility.SymbolIsTerminal(symbol)) {
17
- const key = symbol as string;
18
- if (!(closure.visited.has(key))) {
19
- closure.visited.add(key);
20
-
21
- const rules = this.grammar.rules[key];
22
- for (const rule of rules) {
23
- closure.items.push({ rule, dot: 0 })
24
- this.addClosure(closure, rule.symbols[0]);
25
- }
26
- }
27
- }
28
- }
29
- }
30
-
31
- interface RuleClosure {
32
- items: {
33
- rule: RuntimeGrammarProductionRule,
34
- dot: number,
35
- }[]
36
- visited: Set<RuntimeGrammarRuleSymbol>;
37
- }
@@ -1,10 +0,0 @@
1
- import { RuntimeGrammarProductionRule, RuntimeGrammarRuleSymbol } from "../../../typings/index.js";
2
-
3
- export interface State {
4
- items: { rule: RuntimeGrammarProductionRule, dot: number }[];
5
- isFinal: boolean;
6
- actions: Map<RuntimeGrammarRuleSymbol, string>;
7
- goto: Map<RuntimeGrammarRuleSymbol, string>;
8
- reduce: number;
9
- rule: RuntimeGrammarProductionRule
10
- }