@scinorandex/sparse 0.0.7 → 0.0.8

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.
package/README.md CHANGED
@@ -128,5 +128,4 @@ async function main() {
128
128
 
129
129
  ## Roadmap
130
130
 
131
- 1. Support grouping and other modifiers in the CFG. Currently, you have to unroll your grammar and remove kleene-star, kleene-plus, and other modifiers.
132
- 2. Potentially add LALR(1) support. Currently, the parser only supports outputting LR(1) tables. Tables can be significantly smaller if it made LALR(1) tables instead.
131
+ 1. Potentially add LALR(1) support. Currently, the parser only supports outputting LR(1) tables. Tables can be significantly smaller if it made LALR(1) tables instead.
@@ -45,15 +45,17 @@ export declare enum GrammarTokenType {
45
45
  R_PAREN = 6,
46
46
  PIPE = 7,
47
47
  QUESTION_MARK = 8,
48
- COLON = 9,
49
- SEMICOLON = 10,
50
- NUMBER = 11,
51
- EQUALS = 12,
52
- COMMA = 13,
53
- EOF = 14,
54
- SINGLE_LINE_COMMENT = 15,
55
- MULTI_LINE_COMMENT = 16,
56
- PRODUCTION_NAME = 17,
57
- TOKEN_NAME = 18
48
+ STAR = 9,
49
+ PLUS = 10,
50
+ COLON = 11,
51
+ SEMICOLON = 12,
52
+ NUMBER = 13,
53
+ EQUALS = 14,
54
+ COMMA = 15,
55
+ EOF = 16,
56
+ SINGLE_LINE_COMMENT = 17,
57
+ MULTI_LINE_COMMENT = 18,
58
+ PRODUCTION_NAME = 19,
59
+ TOKEN_NAME = 20
58
60
  }
59
61
  export type GrammarToken = Token<GrammarTokenType, GrammarTokenMetadata>;
@@ -50,15 +50,17 @@ var GrammarTokenType;
50
50
  GrammarTokenType[GrammarTokenType["R_PAREN"] = 6] = "R_PAREN";
51
51
  GrammarTokenType[GrammarTokenType["PIPE"] = 7] = "PIPE";
52
52
  GrammarTokenType[GrammarTokenType["QUESTION_MARK"] = 8] = "QUESTION_MARK";
53
- GrammarTokenType[GrammarTokenType["COLON"] = 9] = "COLON";
54
- GrammarTokenType[GrammarTokenType["SEMICOLON"] = 10] = "SEMICOLON";
55
- GrammarTokenType[GrammarTokenType["NUMBER"] = 11] = "NUMBER";
56
- GrammarTokenType[GrammarTokenType["EQUALS"] = 12] = "EQUALS";
57
- GrammarTokenType[GrammarTokenType["COMMA"] = 13] = "COMMA";
58
- GrammarTokenType[GrammarTokenType["EOF"] = 14] = "EOF";
59
- GrammarTokenType[GrammarTokenType["SINGLE_LINE_COMMENT"] = 15] = "SINGLE_LINE_COMMENT";
60
- GrammarTokenType[GrammarTokenType["MULTI_LINE_COMMENT"] = 16] = "MULTI_LINE_COMMENT";
61
- GrammarTokenType[GrammarTokenType["PRODUCTION_NAME"] = 17] = "PRODUCTION_NAME";
62
- GrammarTokenType[GrammarTokenType["TOKEN_NAME"] = 18] = "TOKEN_NAME";
53
+ GrammarTokenType[GrammarTokenType["STAR"] = 9] = "STAR";
54
+ GrammarTokenType[GrammarTokenType["PLUS"] = 10] = "PLUS";
55
+ GrammarTokenType[GrammarTokenType["COLON"] = 11] = "COLON";
56
+ GrammarTokenType[GrammarTokenType["SEMICOLON"] = 12] = "SEMICOLON";
57
+ GrammarTokenType[GrammarTokenType["NUMBER"] = 13] = "NUMBER";
58
+ GrammarTokenType[GrammarTokenType["EQUALS"] = 14] = "EQUALS";
59
+ GrammarTokenType[GrammarTokenType["COMMA"] = 15] = "COMMA";
60
+ GrammarTokenType[GrammarTokenType["EOF"] = 16] = "EOF";
61
+ GrammarTokenType[GrammarTokenType["SINGLE_LINE_COMMENT"] = 17] = "SINGLE_LINE_COMMENT";
62
+ GrammarTokenType[GrammarTokenType["MULTI_LINE_COMMENT"] = 18] = "MULTI_LINE_COMMENT";
63
+ GrammarTokenType[GrammarTokenType["PRODUCTION_NAME"] = 19] = "PRODUCTION_NAME";
64
+ GrammarTokenType[GrammarTokenType["TOKEN_NAME"] = 20] = "TOKEN_NAME";
63
65
  })(GrammarTokenType || (exports.GrammarTokenType = GrammarTokenType = {}));
64
66
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/meta/common.ts"],"names":[],"mappings":";;;AAAA,4CAAwD;AAUxD,MAAM,oBAAoB,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAgB,EAAE,EAAE;IAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,KAA8C,EACC,EAAE;IACjD,OAAO,IAAI,YAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,mBAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAgB,EAAE,EAAE;IACrD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACrE,OAAO;QACL,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC;QAC9B,UAAU;QACV,IAAI;QACJ,uBAAuB;QACvB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI;YACJ,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC;YAClC,UAAU;YACV,IAAI;SACL,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,kBAAkB,sBAc7B;AAEK,MAAM,iBAAiB,GAAG,CAAC,UAAiD,EAAc,EAAE;IACjG,OAAO;QACL,GAAG,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC;QACxC,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;QAC3D,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI;YACJ,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;YACjC,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,IAAI;SACL,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B;AAGF,IAAY,gBAqBX;AArBD,WAAY,gBAAgB;IAC1B,mEAAU,CAAA;IACV,6DAAO,CAAA;IACP,6DAAO,CAAA;IACP,iEAAS,CAAA;IACT,iEAAS,CAAA;IACT,6DAAO,CAAA;IACP,6DAAO,CAAA;IACP,uDAAI,CAAA;IACJ,yEAAa,CAAA;IACb,yDAAK,CAAA;IACL,kEAAS,CAAA;IACT,4DAAM,CAAA;IACN,4DAAM,CAAA;IACN,0DAAK,CAAA;IACL,sDAAG,CAAA;IACH,sFAAmB,CAAA;IACnB,oFAAkB,CAAA;IAElB,8EAAe,CAAA;IACf,oEAAU,CAAA;AACZ,CAAC,EArBW,gBAAgB,gCAAhB,gBAAgB,QAqB3B"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/meta/common.ts"],"names":[],"mappings":";;;AAAA,4CAAwD;AAUxD,MAAM,oBAAoB,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAgB,EAAE,EAAE;IAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,KAA8C,EACC,EAAE;IACjD,OAAO,IAAI,YAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,mBAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAgB,EAAE,EAAE;IACrD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,uBAAuB,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACrE,OAAO;QACL,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC;QAC9B,UAAU;QACV,IAAI;QACJ,uBAAuB;QACvB,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI;YACJ,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC;YAClC,UAAU;YACV,IAAI;SACL,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,kBAAkB,sBAc7B;AAEK,MAAM,iBAAiB,GAAG,CAAC,UAAiD,EAAc,EAAE;IACjG,OAAO;QACL,GAAG,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC;QACxC,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;QAC3D,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI;YACJ,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC;YACjC,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,IAAI;SACL,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,iBAAiB,qBAa5B;AAGF,IAAY,gBAuBX;AAvBD,WAAY,gBAAgB;IAC1B,mEAAU,CAAA;IACV,6DAAO,CAAA;IACP,6DAAO,CAAA;IACP,iEAAS,CAAA;IACT,iEAAS,CAAA;IACT,6DAAO,CAAA;IACP,6DAAO,CAAA;IACP,uDAAI,CAAA;IACJ,yEAAa,CAAA;IACb,uDAAI,CAAA;IACJ,wDAAI,CAAA;IACJ,0DAAK,CAAA;IACL,kEAAS,CAAA;IACT,4DAAM,CAAA;IACN,4DAAM,CAAA;IACN,0DAAK,CAAA;IACL,sDAAG,CAAA;IACH,sFAAmB,CAAA;IACnB,oFAAkB,CAAA;IAElB,8EAAe,CAAA;IACf,oEAAU,CAAA;AACZ,CAAC,EAvBW,gBAAgB,gCAAhB,gBAAgB,QAuB3B"}
@@ -29,6 +29,8 @@ exports.grammarLexerGenerator.addRule("pipe", "$|", common_1.GrammarTokenType.PI
29
29
  exports.grammarLexerGenerator.addRule("equals", "$=", common_1.GrammarTokenType.EQUALS);
30
30
  exports.grammarLexerGenerator.addRule("comma", "$,", common_1.GrammarTokenType.COMMA);
31
31
  exports.grammarLexerGenerator.addRule("question_mark", "$?", common_1.GrammarTokenType.QUESTION_MARK);
32
+ exports.grammarLexerGenerator.addRule("star", "$*", common_1.GrammarTokenType.STAR);
33
+ exports.grammarLexerGenerator.addRule("plus", "$+", common_1.GrammarTokenType.PLUS);
32
34
  exports.grammarLexerGenerator.addRule("number", "(${digit})+", common_1.GrammarTokenType.NUMBER);
33
35
  exports.grammarLexerGenerator.addRule("single_line_comment", "$/$/(($\n)!)*", common_1.GrammarTokenType.SINGLE_LINE_COMMENT);
34
36
  exports.grammarLexerGenerator.addRule("multi_line_comment", "$/$*(($*)!|($*($/)!))*$*$/", common_1.GrammarTokenType.MULTI_LINE_COMMENT);
@@ -56,13 +58,17 @@ class ListNode extends BaseNode {
56
58
  }
57
59
  exports.ListNode = ListNode;
58
60
  class ProductionNode extends BaseNode {
59
- constructor(lhs, rhs, originalProductionIndex, name) {
61
+ constructor(lhs, rhs, originalProductionIndex, identifier, name) {
60
62
  super();
61
63
  this.lhs = lhs;
62
64
  this.rhs = rhs;
63
65
  this.originalProductionIndex = originalProductionIndex;
66
+ this.identifier = identifier;
64
67
  this.name = name;
65
68
  }
69
+ fork(rhs) {
70
+ return new ProductionNode(this.lhs, rhs, this.originalProductionIndex, this.identifier, this.name);
71
+ }
66
72
  toStruct() {
67
73
  var _a;
68
74
  if (this.originalProductionIndex === -1)
@@ -72,7 +78,7 @@ class ProductionNode extends BaseNode {
72
78
  throw new Error("Need to unroll before serializing");
73
79
  return {
74
80
  lhs: this.lhs,
75
- identifier: `<${this.lhs.lexeme}>`,
81
+ identifier: `<${this.identifier}>`,
76
82
  name: (_a = this.name) !== null && _a !== void 0 ? _a : null,
77
83
  originalProductionIndex: this.originalProductionIndex,
78
84
  rhs: this.rhs.getItemsReversed().map((node) => node.toStruct()),
@@ -82,29 +88,54 @@ class ProductionNode extends BaseNode {
82
88
  this.originalProductionIndex = index;
83
89
  }
84
90
  }
85
- function expandProduction(production) {
91
+ class ExpanderContext {
92
+ constructor(currentProductionIndex) {
93
+ this.currentProductionIndex = currentProductionIndex;
94
+ this.current = 0;
95
+ }
96
+ getNextProductionIndex() {
97
+ return this.currentProductionIndex++;
98
+ }
99
+ getAutogeneratedId() {
100
+ return `autogen-${this.current++}`;
101
+ }
102
+ }
103
+ function expandProduction(production, ctx) {
86
104
  const rhs = production.rhs.getItemsReversed();
87
105
  for (let i = 0; i < rhs.length; i++) {
88
106
  const item = rhs[i];
89
107
  const beforeItems = rhs.slice(0, i);
90
108
  const afterItems = rhs.slice(i + 1);
91
109
  if (item instanceof GroupedTokenNode) {
92
- const withoutCurrentItem = new ProductionNode(production.lhs, new ListNode([...beforeItems, ...afterItems].toReversed()), production.originalProductionIndex, production.name);
93
- const withCurrentItem = new ProductionNode(production.lhs, new ListNode([...beforeItems, ...item.inside.getItemsReversed(), ...afterItems].toReversed()), production.originalProductionIndex, production.name);
94
- const newProductions = [withoutCurrentItem, withCurrentItem];
95
- return newProductions.flatMap((prod) => expandProduction(prod));
110
+ if (item.modifier === common_1.GrammarTokenType.QUESTION_MARK) {
111
+ const withoutCurrentItem = production.fork(new ListNode([...beforeItems, ...afterItems].toReversed()));
112
+ const withCurrentItem = production.fork(new ListNode([...beforeItems, ...item.inside.getItemsReversed(), ...afterItems].toReversed()));
113
+ const newProductions = [withoutCurrentItem, withCurrentItem];
114
+ return newProductions.flatMap((prod) => expandProduction(prod, ctx));
115
+ }
116
+ else if (item.modifier === common_1.GrammarTokenType.STAR || item.modifier === common_1.GrammarTokenType.PLUS) {
117
+ const inside = item.inside.getItemsReversed();
118
+ const newProductionIdentifier = ctx.getAutogeneratedId();
119
+ const raw = new StubTokenNode("variable", new ListNode([production.lhs]), "rest", newProductionIdentifier);
120
+ const pump = new GroupedTokenNode(new ListNode([raw]), common_1.GrammarTokenType.QUESTION_MARK);
121
+ const stub = new ProductionNode(production.lhs, new ListNode([...inside, pump].toReversed()), ctx.getNextProductionIndex(), newProductionIdentifier, "autogenerated-kleene");
122
+ const currentReplacement = production.fork(new ListNode([...beforeItems, item.modifier === common_1.GrammarTokenType.STAR ? pump : raw, ...afterItems].toReversed()));
123
+ return [currentReplacement, stub].flatMap((prod) => expandProduction(prod, ctx));
124
+ }
125
+ else
126
+ throw new Error(`Unknown modifier ${common_1.GrammarTokenType[item.modifier]}`);
96
127
  }
97
128
  else if (item instanceof TokenNode) {
98
129
  if (item.variables.getItems().length > 1) {
99
130
  const variables = item.variables.getItemsReversed();
100
131
  const newProductions = variables.map((variable) => {
101
- return new ProductionNode(production.lhs, new ListNode([
132
+ return production.fork(new ListNode([
102
133
  ...beforeItems,
103
134
  new TokenNode(item.type, new ListNode([variable]), item.name),
104
135
  ...afterItems,
105
- ].toReversed()), production.originalProductionIndex, production.name);
136
+ ].toReversed()));
106
137
  });
107
- return newProductions.flatMap((prod) => expandProduction(prod));
138
+ return newProductions.flatMap((prod) => expandProduction(prod, ctx));
108
139
  }
109
140
  }
110
141
  else {
@@ -120,21 +151,40 @@ class TokenNode extends BaseNode {
120
151
  this.variables = variables;
121
152
  this.name = name;
122
153
  }
154
+ getIdentifier() {
155
+ const items = this.variables.getItems();
156
+ if (items.length > 1)
157
+ throw new Error("Not yet unrolled");
158
+ return items[0].lexeme;
159
+ }
123
160
  toStruct() {
124
161
  var _a;
125
162
  const items = this.variables.getItems();
126
163
  if (items.length > 1)
127
164
  throw new Error("Not yet unrolled");
128
- const lexeme = items[0].lexeme;
165
+ const lexeme = this.getIdentifier();
129
166
  const identifier = this.type === "variable" ? `<${lexeme}>` : `[${lexeme}]`;
130
167
  const name = (_a = this.name) !== null && _a !== void 0 ? _a : null;
131
168
  return { type: this.type, token: items[0], identifier, name };
132
169
  }
133
170
  }
171
+ class StubTokenNode extends TokenNode {
172
+ constructor(type, variables, name, identifier) {
173
+ super(type, variables, name);
174
+ this.type = type;
175
+ this.variables = variables;
176
+ this.name = name;
177
+ this.identifier = identifier;
178
+ }
179
+ getIdentifier() {
180
+ return this.identifier;
181
+ }
182
+ }
134
183
  class GroupedTokenNode extends BaseNode {
135
- constructor(inside) {
184
+ constructor(inside, modifier) {
136
185
  super();
137
186
  this.inside = inside;
187
+ this.modifier = modifier;
138
188
  }
139
189
  }
140
190
  class ProgramNode extends BaseNode {
@@ -144,9 +194,10 @@ class ProgramNode extends BaseNode {
144
194
  }
145
195
  unrollProductions() {
146
196
  const productions = this.productions.getItemsReversed();
197
+ const expanderContext = new ExpanderContext(this.productions.getItems().length);
147
198
  for (let i = 0; i < productions.length; i++)
148
199
  productions[i].setOriginalProductionIndex(i);
149
- return productions.flatMap((node) => expandProduction(node));
200
+ return productions.flatMap((node) => expandProduction(node, expanderContext));
150
201
  }
151
202
  getProductions() {
152
203
  return this.unrollProductions().map((node) => node.toStruct());
@@ -168,7 +219,7 @@ const reducers = {
168
219
  else
169
220
  return bag.rest.add(bag.production);
170
221
  },
171
- production: (bag) => { var _a; return new ProductionNode(bag.production_name, bag.tokens, -1, (_a = bag.uuid) === null || _a === void 0 ? void 0 : _a.lexeme); },
222
+ production: (bag) => { var _a; return new ProductionNode(bag.production_name, bag.tokens, -1, bag.production_name.lexeme, (_a = bag.uuid) === null || _a === void 0 ? void 0 : _a.lexeme); },
172
223
  tokens: (bag) => {
173
224
  if (bag.rest == null)
174
225
  return new ListNode([bag.token]);
@@ -176,7 +227,7 @@ const reducers = {
176
227
  return bag.rest.add(bag.token);
177
228
  },
178
229
  token: (bag) => bag.token,
179
- grouped_token: (bag) => new GroupedTokenNode(bag.tokens),
230
+ grouped_token: (bag) => new GroupedTokenNode(bag.tokens, bag.modifier.type),
180
231
  variable: (bag) => { var _a; return new TokenNode("variable", bag.inside, (_a = bag.token_name) === null || _a === void 0 ? void 0 : _a.lexeme); },
181
232
  terminal: (bag) => { var _a; return new TokenNode("terminal", bag.inside, (_a = bag.token_name) === null || _a === void 0 ? void 0 : _a.lexeme); },
182
233
  inside: (bag) => {
@@ -1 +1 @@
1
- {"version":3,"file":"selfhosted.js","sourceRoot":"","sources":["../../src/meta/selfhosted.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selfhosted.js","sourceRoot":"","sources":["../../src/meta/selfhosted.ts"],"names":[],"mappings":"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"}