jit-parser 1.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 (80) hide show
  1. package/README.md +632 -0
  2. package/lib/codegen/CodegenAstFactory.d.ts +14 -0
  3. package/lib/codegen/CodegenAstFactory.js +119 -0
  4. package/lib/codegen/CodegenAstFactory.js.map +1 -0
  5. package/lib/codegen/CodegenGrammar.d.ts +21 -0
  6. package/lib/codegen/CodegenGrammar.js +145 -0
  7. package/lib/codegen/CodegenGrammar.js.map +1 -0
  8. package/lib/codegen/CodegenList.d.ts +15 -0
  9. package/lib/codegen/CodegenList.js +63 -0
  10. package/lib/codegen/CodegenList.js.map +1 -0
  11. package/lib/codegen/CodegenProduction.d.ts +15 -0
  12. package/lib/codegen/CodegenProduction.js +72 -0
  13. package/lib/codegen/CodegenProduction.js.map +1 -0
  14. package/lib/codegen/CodegenTerminal.d.ts +14 -0
  15. package/lib/codegen/CodegenTerminal.js +133 -0
  16. package/lib/codegen/CodegenTerminal.js.map +1 -0
  17. package/lib/codegen/CodegenUnion.d.ts +15 -0
  18. package/lib/codegen/CodegenUnion.js +71 -0
  19. package/lib/codegen/CodegenUnion.js.map +1 -0
  20. package/lib/codegen/Pattern.d.ts +8 -0
  21. package/lib/codegen/Pattern.js +41 -0
  22. package/lib/codegen/Pattern.js.map +1 -0
  23. package/lib/context.d.ts +13 -0
  24. package/lib/context.js +20 -0
  25. package/lib/context.js.map +1 -0
  26. package/lib/generator.d.ts +20 -0
  27. package/lib/generator.js +100 -0
  28. package/lib/generator.js.map +1 -0
  29. package/lib/grammars/calculator.d.ts +2 -0
  30. package/lib/grammars/calculator.js +76 -0
  31. package/lib/grammars/calculator.js.map +1 -0
  32. package/lib/grammars/esql.d.ts +2 -0
  33. package/lib/grammars/esql.js +221 -0
  34. package/lib/grammars/esql.js.map +1 -0
  35. package/lib/grammars/javascript.d.ts +2 -0
  36. package/lib/grammars/javascript.js +251 -0
  37. package/lib/grammars/javascript.js.map +1 -0
  38. package/lib/grammars/json-expression.d.ts +2 -0
  39. package/lib/grammars/json-expression.js +101 -0
  40. package/lib/grammars/json-expression.js.map +1 -0
  41. package/lib/grammars/json.d.ts +2 -0
  42. package/lib/grammars/json.js +79 -0
  43. package/lib/grammars/json.js.map +1 -0
  44. package/lib/index.d.ts +0 -0
  45. package/lib/index.js +2 -0
  46. package/lib/index.js.map +1 -0
  47. package/lib/matches.d.ts +15 -0
  48. package/lib/matches.js +21 -0
  49. package/lib/matches.js.map +1 -0
  50. package/lib/print.d.ts +11 -0
  51. package/lib/print.js +97 -0
  52. package/lib/print.js.map +1 -0
  53. package/lib/testing/cli.d.ts +1 -0
  54. package/lib/testing/cli.js +84 -0
  55. package/lib/testing/cli.js.map +1 -0
  56. package/lib/testing/driver.d.ts +21 -0
  57. package/lib/testing/driver.js +73 -0
  58. package/lib/testing/driver.js.map +1 -0
  59. package/lib/testing/index.d.ts +5 -0
  60. package/lib/testing/index.js +9 -0
  61. package/lib/testing/index.js.map +1 -0
  62. package/lib/testing/jest.d.ts +4 -0
  63. package/lib/testing/jest.js +31 -0
  64. package/lib/testing/jest.js.map +1 -0
  65. package/lib/testing/report.d.ts +3 -0
  66. package/lib/testing/report.js +64 -0
  67. package/lib/testing/report.js.map +1 -0
  68. package/lib/testing/runner.d.ts +29 -0
  69. package/lib/testing/runner.js +93 -0
  70. package/lib/testing/runner.js.map +1 -0
  71. package/lib/testing/types.d.ts +34 -0
  72. package/lib/testing/types.js +3 -0
  73. package/lib/testing/types.js.map +1 -0
  74. package/lib/types.d.ts +70 -0
  75. package/lib/types.js +3 -0
  76. package/lib/types.js.map +1 -0
  77. package/lib/util.d.ts +10 -0
  78. package/lib/util.js +39 -0
  79. package/lib/util.js.map +1 -0
  80. package/package.json +103 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esql.js","sourceRoot":"","sources":["../../src/grammars/esql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Grammar } from '../types';
2
+ export declare const grammar: Grammar;
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.grammar = void 0;
4
+ let r = 0;
5
+ const ref = (label = 'R' + r++) => {
6
+ return { r: label, toString: () => label };
7
+ };
8
+ const EPSILON = '';
9
+ const Whitespace = ref();
10
+ const WhitespaceOpt = ref();
11
+ const ASI = ref();
12
+ const LineComment = ref('LineComment');
13
+ const BlockComment = ref('BlockComment');
14
+ const ShebangComment = ref('ShebangComment');
15
+ const Separator = ref();
16
+ const SeparatorOpt = ref();
17
+ const Identifier = ref('Identifier');
18
+ const Literal = ref('Literal');
19
+ const Expression = ref();
20
+ const AddExpression = ref();
21
+ const AddOperator = { t: /[\+\-]/, ast: ['$', '/raw'] };
22
+ const AddExpressionCont = ref();
23
+ const MulExpression = ref();
24
+ const MulOperator = { t: /[\*\/]/, ast: ['$', '/raw'] };
25
+ const MulExpressionCont = ref();
26
+ const Statement = ref();
27
+ const VariableStatement = ref('VariableStatement');
28
+ const VariableStatementKind = ref();
29
+ const ReservedWord = ref('ReservedWord');
30
+ const ReturnStatement = ref('ReturnStatement');
31
+ const ContinueStatement = ref('ContinueStatement');
32
+ const BreakStatement = ref('BreakStatement');
33
+ const BlockStatement = ref('BlockStatement');
34
+ const StatementList = ref('StatementList');
35
+ const AstBinaryExpression = [
36
+ '?',
37
+ ['$', '/children/1/children/0', ''],
38
+ [
39
+ 'o.del',
40
+ [
41
+ 'o.set',
42
+ ['$', ''],
43
+ 'left',
44
+ ['$', '/children/0'],
45
+ 'operator',
46
+ ['$', '/children/1/children/0', ''],
47
+ 'right',
48
+ ['$', '/children/1/children/1', null],
49
+ ],
50
+ 'children',
51
+ ],
52
+ ['$', '/children/0'],
53
+ ];
54
+ const AstBinaryExpressionCont = ['?', ['len', ['$', '/children']], ['$', '/children/0'], null];
55
+ const keywords = [
56
+ 'await',
57
+ 'break',
58
+ 'case',
59
+ 'class',
60
+ 'catch',
61
+ 'const',
62
+ 'continue',
63
+ 'debugger',
64
+ 'default',
65
+ 'delete',
66
+ 'do',
67
+ 'else',
68
+ 'enum',
69
+ 'export',
70
+ 'extends',
71
+ 'false',
72
+ 'finally',
73
+ 'for',
74
+ 'function',
75
+ 'if',
76
+ 'import',
77
+ 'in',
78
+ 'instanceof',
79
+ 'new',
80
+ 'null',
81
+ 'return',
82
+ 'super',
83
+ 'switch',
84
+ 'this',
85
+ 'throw',
86
+ 'true',
87
+ 'try',
88
+ 'typeof',
89
+ 'var',
90
+ 'void',
91
+ 'while',
92
+ 'with',
93
+ 'yield',
94
+ ];
95
+ exports.grammar = {
96
+ start: 'Program',
97
+ cst: {
98
+ Program: {
99
+ p: [StatementList, SeparatorOpt, /$/],
100
+ ast: ['o.del', ['o.set', ['$', ''], 'body', ['$', '/children/0/children', [[]]]], 'children'],
101
+ },
102
+ [Whitespace]: /\s+/,
103
+ [WhitespaceOpt]: /\s*/,
104
+ [ASI]: {
105
+ t: /;|\n|$/,
106
+ ast: null,
107
+ },
108
+ [LineComment]: /\/\/.*(\n|$)/,
109
+ [BlockComment]: /\/\*.*?\*\//,
110
+ [ShebangComment]: /#!.*(\n|$)/,
111
+ [Separator]: {
112
+ l: {
113
+ u: [Whitespace, LineComment, BlockComment],
114
+ },
115
+ ast: null,
116
+ },
117
+ [SeparatorOpt]: {
118
+ u: [Separator, EPSILON],
119
+ ast: null,
120
+ },
121
+ [BlockStatement]: {
122
+ p: ['{', StatementList, SeparatorOpt, '}'],
123
+ ast: ['o.del', ['o.set', ['$', ''], 'body', ['$', '/children/0/children', [[]]]], 'children'],
124
+ },
125
+ [StatementList]: {
126
+ l: {
127
+ p: [
128
+ SeparatorOpt,
129
+ {
130
+ u: [Statement],
131
+ ast: ['$', '/children/0'],
132
+ },
133
+ ],
134
+ ast: ['$', '/children/0'],
135
+ },
136
+ },
137
+ [Statement]: {
138
+ u: [BlockStatement, ReturnStatement, ContinueStatement, BreakStatement, VariableStatement],
139
+ ast: ['$', '/children/0'],
140
+ },
141
+ [VariableStatement]: {
142
+ p: [VariableStatementKind, Separator, Identifier, SeparatorOpt, '=', SeparatorOpt, Expression, SeparatorOpt, ASI],
143
+ ast: [
144
+ 'o.del',
145
+ [
146
+ 'o.set',
147
+ ['$', ''],
148
+ 'kind',
149
+ ['$', '/children/0'],
150
+ 'id',
151
+ ['$', '/children/1'],
152
+ 'declarations',
153
+ ['$', '/children/2'],
154
+ ],
155
+ 'children',
156
+ ],
157
+ },
158
+ [VariableStatementKind]: {
159
+ t: /var|let|const/,
160
+ ast: ['$', '/raw'],
161
+ },
162
+ [ReturnStatement]: {
163
+ p: [
164
+ 'return',
165
+ {
166
+ u: [
167
+ {
168
+ p: [Separator, Expression],
169
+ ast: ['$', '/children/0'],
170
+ },
171
+ EPSILON,
172
+ ],
173
+ ast: ['$', '/children/0', null],
174
+ },
175
+ SeparatorOpt,
176
+ ASI,
177
+ ],
178
+ children: {
179
+ 0: 'argument',
180
+ },
181
+ },
182
+ [ContinueStatement]: {
183
+ p: [
184
+ { t: 'continue', ast: null },
185
+ {
186
+ u: [
187
+ {
188
+ p: [Separator, Identifier],
189
+ ast: ['$', '/children/0'],
190
+ },
191
+ EPSILON,
192
+ ],
193
+ ast: ['$', '/children/0', null],
194
+ },
195
+ SeparatorOpt,
196
+ ASI,
197
+ ],
198
+ children: {
199
+ 0: 'label',
200
+ },
201
+ },
202
+ [BreakStatement]: {
203
+ p: ['break', Separator, { u: [Identifier, ''] }, SeparatorOpt, ASI],
204
+ },
205
+ [Expression]: {
206
+ type: 'Expression',
207
+ u: [AddExpression, Literal],
208
+ ast: ['$', '/children/0'],
209
+ },
210
+ [AddExpression]: {
211
+ type: 'AdditiveExpression',
212
+ p: [MulExpression, AddExpressionCont],
213
+ ast: AstBinaryExpression,
214
+ },
215
+ [AddExpressionCont]: {
216
+ u: [[WhitespaceOpt, AddOperator, WhitespaceOpt, AddExpression, AddExpressionCont], EPSILON],
217
+ ast: AstBinaryExpressionCont,
218
+ },
219
+ [MulExpression]: {
220
+ type: 'MultiplicativeExpression',
221
+ p: [Literal, MulExpressionCont],
222
+ ast: AstBinaryExpression,
223
+ },
224
+ [MulExpressionCont]: {
225
+ u: [[WhitespaceOpt, MulOperator, WhitespaceOpt, MulExpression, MulExpressionCont], EPSILON],
226
+ ast: AstBinaryExpressionCont,
227
+ },
228
+ [Identifier]: {
229
+ t: /[a-zA-Z_]+/,
230
+ ast: ['o.del', ['o.set', ['$', ''], 'name', ['$', '/raw']], 'raw'],
231
+ },
232
+ [Literal]: {
233
+ u: [
234
+ { r: 'NullLiteral' },
235
+ { r: 'BooleanLiteral' },
236
+ { r: 'NumericLiteral' },
237
+ ],
238
+ ast: ['o.del', ['o.set', ['$', ''], 'value', ['$', '/children/0/value']], 'children'],
239
+ },
240
+ NullLiteral: 'null',
241
+ BooleanLiteral: /true|false/,
242
+ NumericLiteral: {
243
+ t: /\d+/,
244
+ ast: ['o.set', ['$', ''], 'value', ['num', ['$', '/raw']]],
245
+ },
246
+ [ReservedWord]: {
247
+ t: keywords,
248
+ },
249
+ },
250
+ };
251
+ //# sourceMappingURL=javascript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript.js","sourceRoot":"","sources":["../../src/grammars/javascript.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Grammar } from '../types';
2
+ export declare const grammar: Grammar;
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.grammar = void 0;
4
+ const box = (path) => ['push', [[]], ['$', path, null]];
5
+ const UNBOX_LIST = [
6
+ 'reduce',
7
+ ['$', '/children'],
8
+ [[]],
9
+ 'acc',
10
+ 'b',
11
+ ['concat', ['$', 'acc'], ['$', 'b']],
12
+ ];
13
+ const NUMBER = /\-?(0|([1-9][0-9]{0,25}))(\.[0-9]{1,25})?([eE][\+\-]?[0-9]{1,25})?/;
14
+ const STRING = /"(?:[^"\\]|\\.)*"/;
15
+ const UNQUOTE = ['substr', ['$', '/raw'], 1, ['-', ['len', ['$', '/raw']], 1]];
16
+ exports.grammar = {
17
+ start: 'Root',
18
+ cst: {
19
+ WsChar: { t: [' ', '\n', '\t', '\r'], repeat: '+', sample: ' ' },
20
+ Comment: { t: /\/\/[^\n]*(\n|$)/, sample: '// comment\n' },
21
+ WsUnit: { u: [{ r: 'WsChar' }, { r: 'Comment' }] },
22
+ WOpt: { l: { r: 'WsUnit' }, ast: null, sample: ' ' },
23
+ W: { p: [{ r: 'WsUnit' }, { r: 'WOpt' }], ast: null, sample: ' ' },
24
+ Root: {
25
+ p: [{ r: 'WOpt' }, { r: 'Operand' }, { r: 'WOpt' }, { r: 'End' }],
26
+ ast: ['$', '/children/0', null],
27
+ },
28
+ End: { t: /$/, ast: null },
29
+ Expression: {
30
+ p: ['(', { r: 'WOpt' }, { r: 'Operator' }, { r: 'OperandList' }, { r: 'WOpt' }, ')'],
31
+ ast: ['concat', ['push', [[]], ['$', '/children/0', null]], ['$', '/children/1', [[]]]],
32
+ },
33
+ Operator: {
34
+ u: [{ r: 'Symbol' }, { r: 'QuotedSymbol' }],
35
+ ast: ['$', '/children/0', null],
36
+ },
37
+ Symbol: { t: /[^\s()\[\]{}",]+/, ast: ['$', '/raw'] },
38
+ QuotedSymbol: { t: STRING, ast: UNQUOTE },
39
+ OperandList: {
40
+ l: { p: [{ r: 'W' }, { r: 'Operand' }], ast: box('/children/0') },
41
+ ast: UNBOX_LIST,
42
+ },
43
+ Operand: {
44
+ u: [{ r: 'Expression' }, { r: 'ArrayOperand' }, { r: 'Value' }],
45
+ ast: ['$', '/children/0', null],
46
+ },
47
+ ArrayOperand: {
48
+ u: [{ r: 'Array' }],
49
+ ast: ['push', [[]], ['$', '/children/0', [[]]]],
50
+ },
51
+ Value: {
52
+ u: [{ r: 'Null' }, { r: 'Boolean' }, { r: 'Number' }, { r: 'String' }, { r: 'Array' }, { r: 'Object' }],
53
+ ast: ['$', '/children/0', null],
54
+ },
55
+ Null: { t: 'null', ast: [null] },
56
+ Boolean: { t: ['true', 'false'], ast: ['==', ['$', '/raw'], 'true'] },
57
+ Number: { t: NUMBER, sample: '123', ast: ['num', ['$', '/raw']] },
58
+ String: { t: STRING, sample: '"abc"', ast: UNQUOTE },
59
+ Array: {
60
+ p: ['[', { r: 'WOpt' }, { r: 'ArrayElements' }, { r: 'WOpt' }, ']'],
61
+ ast: ['$', '/children/0', [[]]],
62
+ },
63
+ ArrayElements: {
64
+ u: [{ r: 'NonEmptyArray' }, { r: 'WOpt' }],
65
+ ast: ['$', '/children/0', [[]]],
66
+ },
67
+ NonEmptyArray: {
68
+ p: [{ r: 'BoxedValue' }, { r: 'ArrayTail' }],
69
+ ast: ['concat', ['$', '/children/0', [[]]], ['$', '/children/1', [[]]]],
70
+ },
71
+ BoxedValue: {
72
+ u: [{ r: 'Value' }],
73
+ ast: box('/children/0'),
74
+ },
75
+ ArrayTail: {
76
+ l: { p: [{ r: 'WOpt' }, ',', { r: 'WOpt' }, { r: 'Value' }], ast: box('/children/0') },
77
+ ast: UNBOX_LIST,
78
+ },
79
+ Object: {
80
+ p: ['{', { r: 'WOpt' }, { r: 'ObjectMembers' }, { r: 'WOpt' }, '}'],
81
+ ast: ['fromEntries', ['$', '/children/0', [[]]]],
82
+ },
83
+ ObjectMembers: {
84
+ u: [{ r: 'NonEmptyObject' }, { r: 'WOpt' }],
85
+ ast: ['$', '/children/0', [[]]],
86
+ },
87
+ NonEmptyObject: {
88
+ p: [{ r: 'Entry' }, { r: 'ObjectTail' }],
89
+ ast: ['concat', ['push', [[]], ['$', '/children/0', [[]]]], ['$', '/children/1', [[]]]],
90
+ },
91
+ ObjectTail: {
92
+ l: { p: [{ r: 'WOpt' }, ',', { r: 'WOpt' }, { r: 'Entry' }], ast: ['$', '/children/0', [[]]] },
93
+ ast: ['$', '/children'],
94
+ },
95
+ Entry: {
96
+ p: [{ r: 'WOpt' }, { r: 'String' }, { r: 'WOpt' }, ':', { r: 'WOpt' }, { r: 'Value' }],
97
+ ast: ['push', ['push', [[]], ['$', '/children/0', null]], ['$', '/children/1', null]],
98
+ },
99
+ },
100
+ };
101
+ //# sourceMappingURL=json-expression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-expression.js","sourceRoot":"","sources":["../../src/grammars/json-expression.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Grammar } from '../types';
2
+ export declare const grammar: Grammar;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.grammar = void 0;
4
+ exports.grammar = {
5
+ start: 'Value',
6
+ cst: {
7
+ WOpt: { t: [' ', '\n', '\t', '\r'], repeat: '*', ast: null, sample: ' ' },
8
+ Value: [{ r: 'WOpt' }, { r: 'TValue' }, { r: 'WOpt' }],
9
+ TValue: {
10
+ u: [{ r: 'Null' }, { r: 'Boolean' }, { r: 'String' }, { r: 'Object' }, { r: 'Array' }, { r: 'Number' }],
11
+ },
12
+ Null: 'null',
13
+ Boolean: { t: ['true', 'false'] },
14
+ Number: {
15
+ t: /\-?(0|([1-9][0-9]{0,25}))(\.[0-9]{1,25})?([eE][\+\-]?[0-9]{1,25})?/,
16
+ sample: '123',
17
+ },
18
+ String: {
19
+ t: /"(?:[^"\\]|\\.)*"/,
20
+ sample: '"abc"',
21
+ },
22
+ Array: ['[', { r: 'Elements' }, ']'],
23
+ Elements: {
24
+ u: [
25
+ {
26
+ p: [
27
+ { r: 'Value' },
28
+ {
29
+ l: {
30
+ p: [',', { r: 'Value' }],
31
+ ast: ['$', '/children/0'],
32
+ },
33
+ ast: ['$', '/children'],
34
+ },
35
+ ],
36
+ ast: ['concat', ['push', [[]], ['$', '/children/0']], ['$', '/children/1']],
37
+ },
38
+ { r: 'WOpt' },
39
+ ],
40
+ },
41
+ Object: ['{', { r: 'Members' }, '}'],
42
+ Members: {
43
+ u: [
44
+ {
45
+ p: [
46
+ { r: 'Entry' },
47
+ {
48
+ l: {
49
+ p: [{ t: ',', ast: null }, { r: 'Entry' }],
50
+ ast: ['$', '/children/0'],
51
+ },
52
+ ast: ['$', '/children'],
53
+ },
54
+ ],
55
+ ast: ['concat', ['push', [[]], ['$', '/children/0']], ['$', '/children/1']],
56
+ },
57
+ { r: 'WOpt' },
58
+ ],
59
+ },
60
+ Entry: {
61
+ p: [{ r: 'WOpt' }, { r: 'String' }, { r: 'WOpt' }, ':', { r: 'Value' }],
62
+ children: {
63
+ 0: 'key',
64
+ 1: 'value',
65
+ },
66
+ },
67
+ },
68
+ ast: {
69
+ Value: ['$', '/children/0'],
70
+ TValue: ['$', '/children/0'],
71
+ Boolean: ['o.set', ['$', ''], 'value', ['?', ['==', ['$', '/raw'], 'true'], true, false]],
72
+ Number: ['o.set', ['$', ''], 'value', ['num', ['$', '/raw']]],
73
+ String: ['o.set', ['$', ''], 'value', ['substr', ['$', '/raw'], 1, ['-', ['len', ['$', '/raw']], 1]]],
74
+ Array: ['o.set', ['$', ''], 'children', ['$', '/children/0/children/0', [[]]]],
75
+ Object: ['o.set', ['$', ''], 'children', ['$', '/children/0', [[]]]],
76
+ Members: ['?', ['len', ['$', '/children']], ['$', '/children/0'], [[]]],
77
+ },
78
+ };
79
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/grammars/json.ts"],"names":[],"mappings":";;;AAKa,QAAA,OAAO,GAAY;IAC9B,KAAK,EAAE,OAAO;IAEd,GAAG,EAAE;QACH,IAAI,EAAE,EAAC,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAC;QACvE,KAAK,EAAE,CAAC,EAAC,CAAC,EAAE,MAAM,EAAC,EAAE,EAAC,CAAC,EAAE,QAAQ,EAAC,EAAE,EAAC,CAAC,EAAE,MAAM,EAAC,CAAC;QAChD,MAAM,EAAE;YACN,CAAC,EAAE,CAAC,EAAC,CAAC,EAAE,MAAM,EAAC,EAAE,EAAC,CAAC,EAAE,SAAS,EAAC,EAAE,EAAC,CAAC,EAAE,QAAQ,EAAC,EAAE,EAAC,CAAC,EAAE,QAAQ,EAAC,EAAE,EAAC,CAAC,EAAE,OAAO,EAAC,EAAE,EAAC,CAAC,EAAE,QAAQ,EAAC,CAAC;SAC5F;QAED,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,EAAC,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAC;QAC/B,MAAM,EAAE;YACN,CAAC,EAAE,oEAAoE;YACvE,MAAM,EAAE,KAAK;SACd;QACD,MAAM,EAAE;YACN,CAAC,EAAE,mBAAmB;YACtB,MAAM,EAAE,OAAO;SAChB;QAED,KAAK,EAAE,CAAC,GAAG,EAAE,EAAC,CAAC,EAAE,UAAU,EAAC,EAAE,GAAG,CAAC;QAClC,QAAQ,EAAE;YACR,CAAC,EAAE;gBACD;oBACE,CAAC,EAAE;wBACD,EAAC,CAAC,EAAE,OAAO,EAAC;wBACZ;4BACE,CAAC,EAAE;gCACD,CAAC,EAAE,CAAC,GAAG,EAAE,EAAC,CAAC,EAAE,OAAO,EAAC,CAAC;gCACtB,GAAG,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC;6BAC1B;4BACD,GAAG,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC;yBACxB;qBACF;oBAED,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;iBAC5E;gBACD,EAAC,CAAC,EAAE,MAAM,EAAC;aACZ;SACF;QAED,MAAM,EAAE,CAAC,GAAG,EAAE,EAAC,CAAC,EAAE,SAAS,EAAC,EAAE,GAAG,CAAC;QAClC,OAAO,EAAE;YACP,CAAC,EAAE;gBACD;oBACE,CAAC,EAAE;wBACD,EAAC,CAAC,EAAE,OAAO,EAAC;wBACZ;4BACE,CAAC,EAAE;gCACD,CAAC,EAAE,CAAC,EAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,EAAE,EAAC,CAAC,EAAE,OAAO,EAAC,CAAC;gCACtC,GAAG,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC;6BAC1B;4BACD,GAAG,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC;yBACxB;qBACF;oBACD,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;iBAC5E;gBACD,EAAC,CAAC,EAAE,MAAM,EAAC;aACZ;SACF;QACD,KAAK,EAAE;YACL,CAAC,EAAE,CAAC,EAAC,CAAC,EAAE,MAAM,EAAC,EAAE,EAAC,CAAC,EAAE,QAAQ,EAAC,EAAE,EAAC,CAAC,EAAE,MAAM,EAAC,EAAE,GAAG,EAAE,EAAC,CAAC,EAAE,OAAO,EAAC,CAAC;YAC/D,QAAQ,EAAE;gBACR,CAAC,EAAE,KAAK;gBACR,CAAC,EAAE,OAAO;aACX;SACF;KACF;IAED,GAAG,EAAE;QACH,KAAK,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC;QAC3B,MAAM,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC;QAC5B,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACzF,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrG,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACxE;CACF,CAAC"}
package/lib/index.d.ts ADDED
File without changes
package/lib/index.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { Pattern } from './codegen/Pattern';
2
+ import type { CstNode } from './types';
3
+ export declare class LeafCstMatch implements CstNode {
4
+ readonly pos: number;
5
+ readonly end: number;
6
+ readonly ptr: Pattern;
7
+ constructor(pos: number, end: number, ptr: Pattern);
8
+ }
9
+ export declare class CstMatch implements CstNode {
10
+ readonly pos: number;
11
+ readonly end: number;
12
+ readonly ptr: Pattern;
13
+ readonly children: CstNode[];
14
+ constructor(pos: number, end: number, ptr: Pattern, children: CstNode[]);
15
+ }
package/lib/matches.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CstMatch = exports.LeafCstMatch = void 0;
4
+ class LeafCstMatch {
5
+ constructor(pos, end, ptr) {
6
+ this.pos = pos;
7
+ this.end = end;
8
+ this.ptr = ptr;
9
+ }
10
+ }
11
+ exports.LeafCstMatch = LeafCstMatch;
12
+ class CstMatch {
13
+ constructor(pos, end, ptr, children) {
14
+ this.pos = pos;
15
+ this.end = end;
16
+ this.ptr = ptr;
17
+ this.children = children;
18
+ }
19
+ }
20
+ exports.CstMatch = CstMatch;
21
+ //# sourceMappingURL=matches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matches.js","sourceRoot":"","sources":["../src/matches.ts"],"names":[],"mappings":";;;AAGA,MAAa,YAAY;IACvB,YACkB,GAAW,EACX,GAAW,EACX,GAAY;QAFZ,QAAG,GAAH,GAAG,CAAQ;QACX,QAAG,GAAH,GAAG,CAAQ;QACX,QAAG,GAAH,GAAG,CAAS;IAC3B,CAAC;CACL;AAND,oCAMC;AAED,MAAa,QAAQ;IACnB,YACkB,GAAW,EACX,GAAW,EACX,GAAY,EACZ,QAAmB;QAHnB,QAAG,GAAH,GAAG,CAAQ;QACX,QAAG,GAAH,GAAG,CAAQ;QACX,QAAG,GAAH,GAAG,CAAS;QACZ,aAAQ,GAAR,QAAQ,CAAW;IAClC,CAAC;CACL;AAPD,4BAOC"}
package/lib/print.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ import type { CstNode, Grammar, GrammarNode, ParseTraceNode, RootTraceNode } from './types';
2
+ export declare class GrammarPrinter {
3
+ readonly grammar: Grammar;
4
+ static readonly print: (grammar: Grammar, tab?: string) => string;
5
+ protected readonly visited: Set<string>;
6
+ constructor(grammar: Grammar);
7
+ print(tab?: string, type?: string): string;
8
+ printNode(node: GrammarNode, type?: string, tab?: string): string;
9
+ }
10
+ export declare const printTraceNode: (trace: RootTraceNode | ParseTraceNode, tab?: string, text?: string) => string;
11
+ export declare const printCst: (cst: CstNode, tab?: string, text?: string) => string;