@scinorandex/sparse 0.0.2 → 0.0.4

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 (64) hide show
  1. package/README.md +2 -2
  2. package/dist/cli.js +2 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/generator.d.ts +4 -1
  5. package/dist/generator.js +47 -32
  6. package/dist/generator.js.map +1 -1
  7. package/dist/index.d.ts +3 -2
  8. package/dist/index.js +5 -5
  9. package/dist/index.js.map +1 -1
  10. package/dist/meta/common.d.ts +57 -0
  11. package/dist/meta/common.js +62 -0
  12. package/dist/meta/common.js.map +1 -0
  13. package/dist/meta/handwritten.d.ts +12 -0
  14. package/dist/{grammarParser.js → meta/handwritten.js} +24 -24
  15. package/dist/meta/handwritten.js.map +1 -0
  16. package/dist/meta/selfhosted.d.ts +23 -0
  17. package/dist/meta/selfhosted.js +206 -0
  18. package/dist/meta/selfhosted.js.map +1 -0
  19. package/dist/meta/states.d.ts +1580 -0
  20. package/dist/meta/states.js +1493 -0
  21. package/dist/meta/states.js.map +1 -0
  22. package/dist/parser.d.ts +16 -5
  23. package/dist/parser.js +25 -7
  24. package/dist/parser.js.map +1 -1
  25. package/dist/{tableParser.d.ts → table/handwritten.d.ts} +1 -1
  26. package/dist/{tableParser.js → table/handwritten.js} +2 -2
  27. package/dist/table/handwritten.js.map +1 -0
  28. package/dist/table/selfhosted.d.ts +2 -0
  29. package/dist/table/selfhosted.js +65 -0
  30. package/dist/table/selfhosted.js.map +1 -0
  31. package/dist/table/states.d.ts +592 -0
  32. package/dist/table/states.js +593 -0
  33. package/dist/table/states.js.map +1 -0
  34. package/dist/utils/Result.d.ts +1 -1
  35. package/dist/utils/errorWindowBuilder.d.ts +1 -1
  36. package/example/LoLang/example.ts +14 -7
  37. package/example/complicated/grammar.txt +37 -0
  38. package/example/math/example.ts +1 -1
  39. package/example/selfhosted/01-meta-grammar.txt +10 -0
  40. package/example/selfhosted/02-table-grammar.txt +6 -0
  41. package/example/selfhosted/codegen-meta.ts +1489 -0
  42. package/example/selfhosted/codegen-table.ts +589 -0
  43. package/example/selfhosted/example.ts +39 -0
  44. package/example/sql/grammar.txt +50 -0
  45. package/example/sql/table.txt +238 -0
  46. package/package.json +3 -3
  47. package/src/cli.ts +1 -1
  48. package/src/generator.ts +52 -34
  49. package/src/index.ts +3 -2
  50. package/src/meta/common.ts +74 -0
  51. package/src/{grammarParser.ts → meta/handwritten.ts} +17 -21
  52. package/src/meta/selfhosted.ts +272 -0
  53. package/src/meta/states.ts +1489 -0
  54. package/src/parser.ts +53 -19
  55. package/src/{tableParser.ts → table/handwritten.ts} +5 -5
  56. package/src/table/selfhosted.ts +67 -0
  57. package/src/table/states.ts +589 -0
  58. package/src/utils/Result.ts +1 -1
  59. package/src/utils/errorWindowBuilder.ts +1 -1
  60. package/tsconfig.build.json +30 -0
  61. package/tsconfig.json +6 -6
  62. package/dist/grammarParser.d.ts +0 -27
  63. package/dist/grammarParser.js.map +0 -1
  64. package/dist/tableParser.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"states.js","sourceRoot":"","sources":["../../src/meta/states.ts"],"names":[],"mappings":"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"}
package/dist/parser.d.ts CHANGED
@@ -1,17 +1,28 @@
1
1
  import { Slex, Token } from "@scinorandex/slex";
2
- import { Production } from "./grammarParser";
3
2
  import { Stack } from "./utils/Stack";
4
3
  import { Result } from "./utils/Result";
4
+ import { Production } from "./meta/common";
5
5
  export type TableAction = {
6
6
  type: "shift" | "reduce" | "goto";
7
7
  value: number;
8
8
  };
9
9
  export declare class TableState {
10
10
  readonly actions: Map<string, TableAction>;
11
- constructor();
11
+ constructor(actions?: Map<string, TableAction>);
12
12
  getTerminalAction(terminal: string): TableAction | undefined;
13
13
  getVariableAction(variable: string): TableAction | undefined;
14
+ toJSObject(): {
15
+ [k: string]: TableAction;
16
+ };
17
+ static fromJSObject(json: ReturnType<TableState["toJSObject"]>): TableState;
14
18
  }
19
+ type ReducerType<TokenType, Metadata, Node> = (newInput: {
20
+ bag: any;
21
+ name: string | null;
22
+ }, oldInput: {
23
+ input: LR1StackSymbol<TokenType, Metadata, Node>[];
24
+ index: number;
25
+ }) => Node;
15
26
  export type LR1StackSymbol<TokenType, Metadata, Node> = {
16
27
  type: "token";
17
28
  token: Token<TokenType, Metadata>;
@@ -39,7 +50,7 @@ export declare class Sparse<TokenType, Metadata, Node> {
39
50
  toStringifiedTokenType: (tokenType: TokenType) => string;
40
51
  }): Sparse<TokenType, Metadata, Node>;
41
52
  generate(lexer: ReturnType<Slex<TokenType, Metadata>["generate"]>, options: {
42
- reducer: (input: LR1StackSymbol<TokenType, Metadata, Node>[], productionIndex: number) => Node;
53
+ reducer: ReducerType<TokenType, Metadata, Node>;
43
54
  recover?: ParserRecoveryFunction<TokenType, Metadata, Node>;
44
55
  }): LR1Parser<TokenType, Metadata, Node>;
45
56
  }
@@ -81,7 +92,7 @@ declare class LR1Parser<TokenType, Metadata, Node> {
81
92
  states: TableState[];
82
93
  toStringifiedTokenType: (tokenType: TokenType) => string;
83
94
  };
84
- readonly reducer: (input: LR1StackSymbol<TokenType, Metadata, Node>[], productionIndex: number) => Node;
95
+ readonly reducer: ReducerType<TokenType, Metadata, Node>;
85
96
  readonly recover: ParserRecoveryFunction<TokenType, Metadata, Node> | null;
86
97
  readonly lexer: ReturnType<Slex<TokenType, Metadata>["generate"]>;
87
98
  statesStack: Stack<number>;
@@ -91,7 +102,7 @@ declare class LR1Parser<TokenType, Metadata, Node> {
91
102
  productions: Production[];
92
103
  states: TableState[];
93
104
  toStringifiedTokenType: (tokenType: TokenType) => string;
94
- }, reducer: (input: LR1StackSymbol<TokenType, Metadata, Node>[], productionIndex: number) => Node, recover: ParserRecoveryFunction<TokenType, Metadata, Node> | null, lexer: ReturnType<Slex<TokenType, Metadata>["generate"]>);
105
+ }, reducer: ReducerType<TokenType, Metadata, Node>, recover: ParserRecoveryFunction<TokenType, Metadata, Node> | null, lexer: ReturnType<Slex<TokenType, Metadata>["generate"]>);
95
106
  parse(): ParserResult<TokenType, Metadata, Node>;
96
107
  }
97
108
  export declare class LR1ParserGraveError<TokenType, Metadata> extends Error {
package/dist/parser.js CHANGED
@@ -4,8 +4,8 @@ exports.LR1ParserGraveError = exports.Sparse = exports.TableState = void 0;
4
4
  const generator_1 = require("./generator");
5
5
  const Stack_1 = require("./utils/Stack");
6
6
  class TableState {
7
- constructor() {
8
- this.actions = new Map();
7
+ constructor(actions = new Map()) {
8
+ this.actions = actions;
9
9
  }
10
10
  getTerminalAction(terminal) {
11
11
  return this.actions.get(`[${terminal}]`);
@@ -13,6 +13,12 @@ class TableState {
13
13
  getVariableAction(variable) {
14
14
  return this.actions.get(variable);
15
15
  }
16
+ toJSObject() {
17
+ return Object.fromEntries(this.actions);
18
+ }
19
+ static fromJSObject(json) {
20
+ return new TableState(new Map(Object.entries(json)));
21
+ }
16
22
  }
17
23
  exports.TableState = TableState;
18
24
  class Sparse {
@@ -94,19 +100,31 @@ class LR1Parser {
94
100
  popped.unshift(this.symbolsStack.pop());
95
101
  this.statesStack.pop();
96
102
  }
103
+ const productionIndex = production.originalProductionIndex;
97
104
  try {
98
- this.symbolsStack.push({ type: "node", node: this.reducer(popped, fixedAction.value) });
105
+ const bag = {};
106
+ for (let i = 0; i < production.rhs.length; i++) {
107
+ const rhsItem = production.rhs[i];
108
+ const poppedItem = popped[i];
109
+ if (rhsItem.name != null)
110
+ bag[rhsItem.name] = poppedItem.type === "token" ? poppedItem.token : poppedItem.node;
111
+ }
112
+ const newInput = { bag, name: production.name };
113
+ const oldInput = { input: popped, index: productionIndex };
114
+ const node = this.reducer(newInput, oldInput);
115
+ this.symbolsStack.push({ type: "node", node });
99
116
  }
100
117
  catch (err) {
101
118
  const input = JSON.stringify(popped, null, 2);
102
- throw new LR1ParserGraveError(`Error while performing reduction for production: ${fixedAction.value}. Reduction input: ${input}`, token);
119
+ console.log(err);
120
+ throw new LR1ParserGraveError(`Error while performing reduction for production: ${productionIndex}. Reduction input: ${input}`, token);
103
121
  }
104
122
  const topNode = this.statesStack.peek();
105
- const gotoAction = states[topNode].getVariableAction(production.lhs.lexeme);
123
+ const gotoAction = states[topNode].getVariableAction(production.identifier);
106
124
  if (gotoAction == undefined)
107
- throw new LR1ParserGraveError(`No GOTO action for for state: ${topNode} and production: ${production.lhs}. Actions: Reduce by production ${fixedAction.value}`, token);
125
+ throw new LR1ParserGraveError(`No GOTO action for for state: ${topNode} and production: ${production.identifier}. Actions: Reduce by production ${productionIndex}`, token);
108
126
  else if (gotoAction.type !== "goto")
109
- throw new LR1ParserGraveError(`Expected GOTO action for state: ${topNode} and production: ${production.lhs}. Actions: Reduce by production ${fixedAction.value}. Received: ${gotoAction.type}`, token);
127
+ throw new LR1ParserGraveError(`Expected GOTO action for state: ${topNode} and production: ${production.identifier}. Actions: Reduce by production ${productionIndex}. Received: ${gotoAction.type}`, token);
110
128
  this.statesStack.push(gotoAction.value);
111
129
  }
112
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Slex } from "@scinorandex/slex";
2
- import { TableState } from "./parser";
2
+ import { TableState } from "../parser";
3
3
  type TableTokenMetadata = {};
4
4
  export declare enum TableTokenType {
5
5
  PRODUCTION_NAME = 0,
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildStates = exports.tableLexerGenerator = exports.TableTokenType = void 0;
4
4
  const slex_1 = require("@scinorandex/slex");
5
- const parser_1 = require("./parser");
5
+ const parser_1 = require("../parser");
6
6
  var TableTokenType;
7
7
  (function (TableTokenType) {
8
8
  TableTokenType[TableTokenType["PRODUCTION_NAME"] = 0] = "PRODUCTION_NAME";
@@ -56,4 +56,4 @@ const buildStates = (grammar) => grammar.split("\n").map((line) => {
56
56
  return state;
57
57
  });
58
58
  exports.buildStates = buildStates;
59
- //# sourceMappingURL=tableParser.js.map
59
+ //# sourceMappingURL=handwritten.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handwritten.js","sourceRoot":"","sources":["../../src/table/handwritten.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,sCAAoD;AAGpD,IAAY,cASX;AATD,WAAY,cAAc;IACxB,yEAAe,CAAA;IACf,+DAAU,CAAA;IACV,qDAAK,CAAA;IACL,uDAAM,CAAA;IACN,mEAAY,CAAA;IACZ,qEAAa,CAAA;IACb,iEAAW,CAAA;IACX,iDAAG,CAAA;AACL,CAAC,EATW,cAAc,8BAAd,cAAc,QASzB;AAEY,QAAA,mBAAmB,GAAG,IAAI,WAAI,CAAqC;IAC9E,QAAQ,EAAE,cAAc,CAAC,GAAG;IAC5B,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAK;CAChC,CAAC,CAAC;AAEH,2BAAmB,CAAC,OAAO,CACzB,WAAW,EACX,uGAAuG,CACxG,CAAC;AACF,2BAAmB,CAAC,OAAO,CACzB,WAAW,EACX,uGAAuG,CACxG,CAAC;AACF,2BAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;AACrE,2BAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;AAC9E,2BAAmB,CAAC,OAAO,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;AACpE,2BAAmB,CAAC,OAAO,CAAC,YAAY,EAAE,8BAA8B,CAAC,CAAC;AAC1E,2BAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;AACjE,2BAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;AACnE,2BAAmB,CAAC,OAAO,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;AACtG,2BAAmB,CAAC,OAAO,CAAC,YAAY,EAAE,qBAAqB,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;AAC5F,2BAAmB,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;AACzF,2BAAmB,CAAC,OAAO,CAAC,eAAe,EAAE,cAAc,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;AAC3F,2BAAmB,CAAC,OAAO,CAAC,aAAa,EAAE,qBAAqB,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;AAEvF,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE,CAC7C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;IAC/B,MAAM,KAAK,GAAG,2BAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,IAAI,mBAAU,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,CAAC,IAAoB,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,cAAc,CAAC,IAAI,CAAC,SAAS,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChH,KAAK,CAAC,YAAY,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACnC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAEnC,MAAM,OAAO,GACX,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;YAC3C,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACjD,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,aAAa;gBAC3C,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gBAChE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC,IAAI,IAAI,cAAc,CAAC,KAAK;YAAE,KAAK,CAAC,YAAY,EAAE,CAAC;IAC/E,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC,CAAC;AA5BQ,QAAA,WAAW,eA4BnB"}
@@ -0,0 +1,2 @@
1
+ import { TableState } from "../parser";
2
+ export declare const buildStates: (grammar: string) => TableState[];
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildStates = void 0;
4
+ const selfhosted_1 = require("../meta/selfhosted");
5
+ const parser_1 = require("../parser");
6
+ const states_1 = require("./states");
7
+ class StateNode extends selfhosted_1.BaseNode {
8
+ constructor(items) {
9
+ super();
10
+ this.items = items;
11
+ }
12
+ toTableState() {
13
+ const state = new parser_1.TableState();
14
+ for (const item of this.items.getItems()) {
15
+ const key = item.type === "terminal" ? `[${item.name.lexeme}]` : `<${item.name.lexeme}>`;
16
+ state.actions.set(key, item.action);
17
+ }
18
+ return state;
19
+ }
20
+ }
21
+ class ItemNode extends selfhosted_1.BaseNode {
22
+ constructor(type, name, action) {
23
+ super();
24
+ this.type = type;
25
+ this.name = name;
26
+ this.action = action;
27
+ }
28
+ }
29
+ const reducers = {
30
+ program: (bag) => bag.states,
31
+ states: (bag) => {
32
+ if (bag.rest == null)
33
+ return new selfhosted_1.ListNode([new StateNode(bag.state)]);
34
+ else
35
+ return bag.rest.add(new StateNode(bag.state));
36
+ },
37
+ items: (bag) => {
38
+ if (bag.rest == null)
39
+ return new selfhosted_1.ListNode([bag.item]);
40
+ else
41
+ return bag.rest.add(bag.item);
42
+ },
43
+ terminal: (bag) => {
44
+ const action = {
45
+ type: bag.action.lexeme.startsWith("s") ? "shift" : "reduce",
46
+ value: parseInt(bag.action.lexeme.substring(1)),
47
+ };
48
+ return new ItemNode("terminal", bag.name, action);
49
+ },
50
+ variable: (bag) => {
51
+ const action = { type: "goto", value: parseInt(bag.state.lexeme) };
52
+ return new ItemNode("variable", bag.name, action);
53
+ },
54
+ };
55
+ const buildStates = (grammar) => {
56
+ const lexer = selfhosted_1.grammarLexerGenerator.generate(grammar, () => ({}));
57
+ const parserGenerator = (0, selfhosted_1.getSelfHostedParserGenerator)(states_1.selfhosted);
58
+ const parser = parserGenerator.generate(lexer, {
59
+ reducer: ({ bag, name }) => reducers[name !== null && name !== void 0 ? name : ""](bag),
60
+ });
61
+ const parsingResult = parser.parse().result.getItemsReversed();
62
+ return parsingResult.map((state) => state.toTableState());
63
+ };
64
+ exports.buildStates = buildStates;
65
+ //# sourceMappingURL=selfhosted.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selfhosted.js","sourceRoot":"","sources":["../../src/table/selfhosted.ts"],"names":[],"mappings":"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StB"}