@rcrsr/rill 0.2.3 → 0.4.1
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 +64 -28
- package/dist/check/rules/anti-patterns.d.ts.map +1 -1
- package/dist/check/rules/anti-patterns.js +1 -6
- package/dist/check/rules/anti-patterns.js.map +1 -1
- package/dist/check/rules/closures.d.ts.map +1 -1
- package/dist/check/rules/closures.js +2 -5
- package/dist/check/rules/closures.js.map +1 -1
- package/dist/check/rules/conditionals.d.ts.map +1 -1
- package/dist/check/rules/conditionals.js +36 -8
- package/dist/check/rules/conditionals.js.map +1 -1
- package/dist/check/rules/naming.d.ts.map +1 -1
- package/dist/check/rules/naming.js +9 -2
- package/dist/check/rules/naming.js.map +1 -1
- package/dist/check/rules/strings.d.ts.map +1 -1
- package/dist/check/rules/strings.js +1 -2
- package/dist/check/rules/strings.js.map +1 -1
- package/dist/check/rules/types.d.ts.map +1 -1
- package/dist/check/rules/types.js +4 -3
- package/dist/check/rules/types.js.map +1 -1
- package/dist/check/types.d.ts +2 -0
- package/dist/check/types.d.ts.map +1 -1
- package/dist/check/validator.d.ts.map +1 -1
- package/dist/check/validator.js +8 -0
- package/dist/check/validator.js.map +1 -1
- package/dist/check/visitor.d.ts.map +1 -1
- package/dist/check/visitor.js +13 -1
- package/dist/check/visitor.js.map +1 -1
- package/dist/cli-check.js +1 -0
- package/dist/cli-check.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lexer/operators.d.ts.map +1 -1
- package/dist/lexer/operators.js +2 -0
- package/dist/lexer/operators.js.map +1 -1
- package/dist/parser/helpers.d.ts +2 -1
- package/dist/parser/helpers.d.ts.map +1 -1
- package/dist/parser/helpers.js +78 -10
- package/dist/parser/helpers.js.map +1 -1
- package/dist/parser/parser-control.d.ts +3 -1
- package/dist/parser/parser-control.d.ts.map +1 -1
- package/dist/parser/parser-control.js +93 -0
- package/dist/parser/parser-control.js.map +1 -1
- package/dist/parser/parser-expr.d.ts.map +1 -1
- package/dist/parser/parser-expr.js +79 -2
- package/dist/parser/parser-expr.js.map +1 -1
- package/dist/parser/parser-functions.js +20 -3
- package/dist/parser/parser-functions.js.map +1 -1
- package/dist/parser/parser-literals.d.ts.map +1 -1
- package/dist/parser/parser-literals.js +55 -3
- package/dist/parser/parser-literals.js.map +1 -1
- package/dist/parser/parser-script.d.ts +2 -2
- package/dist/parser/parser-script.d.ts.map +1 -1
- package/dist/parser/parser-script.js +43 -3
- package/dist/parser/parser-script.js.map +1 -1
- package/dist/parser/parser-variables.js +5 -0
- package/dist/parser/parser-variables.js.map +1 -1
- package/dist/runtime/core/callable.d.ts +22 -4
- package/dist/runtime/core/callable.d.ts.map +1 -1
- package/dist/runtime/core/callable.js +45 -3
- package/dist/runtime/core/callable.js.map +1 -1
- package/dist/runtime/core/context.d.ts.map +1 -1
- package/dist/runtime/core/context.js +1 -0
- package/dist/runtime/core/context.js.map +1 -1
- package/dist/runtime/core/equals.js +28 -1
- package/dist/runtime/core/equals.js.map +1 -1
- package/dist/runtime/core/eval/base.d.ts.map +1 -1
- package/dist/runtime/core/eval/base.js +4 -1
- package/dist/runtime/core/eval/base.js.map +1 -1
- package/dist/runtime/core/eval/mixins/closures.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/closures.js +71 -0
- package/dist/runtime/core/eval/mixins/closures.js.map +1 -1
- package/dist/runtime/core/eval/mixins/control-flow.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/control-flow.js +83 -0
- package/dist/runtime/core/eval/mixins/control-flow.js.map +1 -1
- package/dist/runtime/core/eval/mixins/core.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/core.js +308 -7
- package/dist/runtime/core/eval/mixins/core.js.map +1 -1
- package/dist/runtime/core/eval/mixins/literals.d.ts +2 -0
- package/dist/runtime/core/eval/mixins/literals.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/literals.js +389 -5
- package/dist/runtime/core/eval/mixins/literals.js.map +1 -1
- package/dist/runtime/core/eval/mixins/variables.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/variables.js +42 -2
- package/dist/runtime/core/eval/mixins/variables.js.map +1 -1
- package/dist/runtime/core/execute.js +6 -6
- package/dist/runtime/core/execute.js.map +1 -1
- package/dist/runtime/ext/builtins.d.ts.map +1 -1
- package/dist/runtime/ext/builtins.js +66 -0
- package/dist/runtime/ext/builtins.js.map +1 -1
- package/dist/types.d.ts +47 -14
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -1
- package/docs/00_INDEX.md +2 -1
- package/docs/02_types.md +39 -2
- package/docs/04_operators.md +57 -0
- package/docs/05_control-flow.md +261 -2
- package/docs/06_closures.md +438 -4
- package/docs/09_strings.md +1 -1
- package/docs/11_reference.md +257 -11
- package/docs/12_examples.md +58 -55
- package/docs/14_host-integration.md +2 -0
- package/docs/15_grammar.ebnf +56 -5
- package/docs/18_design-principles.md +247 -0
- package/docs/99_llm-reference.txt +206 -10
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-expr.js","sourceRoot":"","sources":["../../src/parser/parser-expr.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser-expr.js","sourceRoot":"","sources":["../../src/parser/parser-expr.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Function calls, method calls, closure calls, and type operations
|
|
4
4
|
*/
|
|
5
5
|
import { Parser } from './parser.js';
|
|
6
|
-
import { TOKEN_TYPES } from '../types.js';
|
|
6
|
+
import { ParseError, TOKEN_TYPES } from '../types.js';
|
|
7
7
|
import { check, advance, expect, current, makeSpan, peek } from './state.js';
|
|
8
8
|
import { VALID_TYPE_NAMES, parseTypeName } from './helpers.js';
|
|
9
9
|
// ============================================================
|
|
@@ -26,11 +26,28 @@ Parser.prototype.parseArgumentList = function () {
|
|
|
26
26
|
Parser.prototype.parseHostCall = function () {
|
|
27
27
|
const start = current(this.state).span.start;
|
|
28
28
|
// Collect namespaced name: ident or ident::ident::...
|
|
29
|
+
// Accept keywords as identifiers (e.g., error(...) for custom functions)
|
|
29
30
|
let name = advance(this.state).value;
|
|
30
31
|
while (check(this.state, TOKEN_TYPES.DOUBLE_COLON)) {
|
|
31
32
|
advance(this.state); // consume ::
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
// After ::, accept identifier or keyword
|
|
34
|
+
const token = current(this.state);
|
|
35
|
+
const isValidIdent = token.type === TOKEN_TYPES.IDENTIFIER ||
|
|
36
|
+
token.type === TOKEN_TYPES.TRUE ||
|
|
37
|
+
token.type === TOKEN_TYPES.FALSE ||
|
|
38
|
+
token.type === TOKEN_TYPES.BREAK ||
|
|
39
|
+
token.type === TOKEN_TYPES.RETURN ||
|
|
40
|
+
token.type === TOKEN_TYPES.ASSERT ||
|
|
41
|
+
token.type === TOKEN_TYPES.ERROR ||
|
|
42
|
+
token.type === TOKEN_TYPES.EACH ||
|
|
43
|
+
token.type === TOKEN_TYPES.MAP ||
|
|
44
|
+
token.type === TOKEN_TYPES.FOLD ||
|
|
45
|
+
token.type === TOKEN_TYPES.FILTER;
|
|
46
|
+
if (!isValidIdent) {
|
|
47
|
+
throw new ParseError('Expected identifier or keyword after ::', token.span.start);
|
|
48
|
+
}
|
|
49
|
+
name += '::' + token.value;
|
|
50
|
+
advance(this.state); // consume the identifier or keyword
|
|
34
51
|
}
|
|
35
52
|
expect(this.state, TOKEN_TYPES.LPAREN, 'Expected (');
|
|
36
53
|
const args = this.parseArgumentList();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-functions.js","sourceRoot":"","sources":["../../src/parser/parser-functions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAYrC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"parser-functions.js","sourceRoot":"","sources":["../../src/parser/parser-functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-literals.d.ts","sourceRoot":"","sources":["../../src/parser/parser-literals.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"parser-literals.d.ts","sourceRoot":"","sources":["../../src/parser/parser-literals.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAEV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,QAAQ,EAER,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,SAAS,EACV,MAAM,aAAa,CAAC;AAmBrB,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,MAAM;QACd,YAAY,IAAI,WAAW,CAAC;QAC5B,WAAW,IAAI,iBAAiB,CAAC;QACjC,gBAAgB,CACd,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,cAAc,EAC5B,gBAAgB,EAAE,OAAO,GACxB,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC;QAClC,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,cAAc,GAC3B,iBAAiB,CAAC;QACrB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAClC,gBAAgB,IAAI,SAAS,GAAG,QAAQ,CAAC;QACzC,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;QAC7C,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,QAAQ,CAAC;QAC3C,cAAc,IAAI,aAAa,CAAC;QAChC,YAAY,IAAI,WAAW,CAAC;QAC5B,SAAS,IAAI,QAAQ,CAAC;QACtB,iBAAiB,IAAI,gBAAgB,CAAC;KACvC;CACF"}
|
|
@@ -6,7 +6,7 @@ import { Parser } from './parser.js';
|
|
|
6
6
|
import { ParseError, TOKEN_TYPES } from '../types.js';
|
|
7
7
|
import { tokenize } from '../lexer/index.js';
|
|
8
8
|
import { check, advance, expect, current, skipNewlines, makeSpan, } from './state.js';
|
|
9
|
-
import { isDictStart, FUNC_PARAM_TYPES, parseTypeName } from './helpers.js';
|
|
9
|
+
import { isDictStart, FUNC_PARAM_TYPES, parseTypeName, isNegativeNumber, } from './helpers.js';
|
|
10
10
|
// ============================================================
|
|
11
11
|
// LITERAL PARSING
|
|
12
12
|
// ============================================================
|
|
@@ -191,6 +191,7 @@ Parser.prototype.parseTupleOrDict = function () {
|
|
|
191
191
|
return {
|
|
192
192
|
type: 'Tuple',
|
|
193
193
|
elements: [],
|
|
194
|
+
defaultValue: null,
|
|
194
195
|
span: makeSpan(start, current(this.state).span.end),
|
|
195
196
|
};
|
|
196
197
|
}
|
|
@@ -201,6 +202,7 @@ Parser.prototype.parseTupleOrDict = function () {
|
|
|
201
202
|
return {
|
|
202
203
|
type: 'Dict',
|
|
203
204
|
entries: [],
|
|
205
|
+
defaultValue: null,
|
|
204
206
|
span: makeSpan(start, current(this.state).span.end),
|
|
205
207
|
};
|
|
206
208
|
}
|
|
@@ -225,6 +227,7 @@ Parser.prototype.parseTuple = function (start) {
|
|
|
225
227
|
return {
|
|
226
228
|
type: 'Tuple',
|
|
227
229
|
elements,
|
|
230
|
+
defaultValue: null,
|
|
228
231
|
span: makeSpan(start, current(this.state).span.end),
|
|
229
232
|
};
|
|
230
233
|
};
|
|
@@ -244,17 +247,57 @@ Parser.prototype.parseDict = function (start) {
|
|
|
244
247
|
return {
|
|
245
248
|
type: 'Dict',
|
|
246
249
|
entries,
|
|
250
|
+
defaultValue: null,
|
|
247
251
|
span: makeSpan(start, current(this.state).span.end),
|
|
248
252
|
};
|
|
249
253
|
};
|
|
250
254
|
Parser.prototype.parseDictEntry = function () {
|
|
251
255
|
const start = current(this.state).span.start;
|
|
252
|
-
|
|
256
|
+
// Parse key: identifier, number, boolean, or list literal (multi-key)
|
|
257
|
+
let key;
|
|
258
|
+
if (check(this.state, TOKEN_TYPES.LBRACKET)) {
|
|
259
|
+
// Parse list literal as key (tuple for multi-key)
|
|
260
|
+
const literal = this.parseTupleOrDict();
|
|
261
|
+
if (literal.type !== 'Tuple') {
|
|
262
|
+
throw new ParseError('Dict entry key must be identifier or list, not dict', literal.span.start);
|
|
263
|
+
}
|
|
264
|
+
key = literal;
|
|
265
|
+
}
|
|
266
|
+
else if (isNegativeNumber(this.state)) {
|
|
267
|
+
// Parse negative number as key: -NUMBER
|
|
268
|
+
advance(this.state); // consume MINUS
|
|
269
|
+
const numToken = advance(this.state); // consume NUMBER
|
|
270
|
+
key = -Number(numToken.value);
|
|
271
|
+
}
|
|
272
|
+
else if (check(this.state, TOKEN_TYPES.NUMBER)) {
|
|
273
|
+
// Parse number as key
|
|
274
|
+
const keyToken = advance(this.state);
|
|
275
|
+
key = Number(keyToken.value);
|
|
276
|
+
}
|
|
277
|
+
else if (check(this.state, TOKEN_TYPES.TRUE)) {
|
|
278
|
+
// Parse boolean true as key
|
|
279
|
+
advance(this.state);
|
|
280
|
+
key = true;
|
|
281
|
+
}
|
|
282
|
+
else if (check(this.state, TOKEN_TYPES.FALSE)) {
|
|
283
|
+
// Parse boolean false as key
|
|
284
|
+
advance(this.state);
|
|
285
|
+
key = false;
|
|
286
|
+
}
|
|
287
|
+
else if (check(this.state, TOKEN_TYPES.IDENTIFIER)) {
|
|
288
|
+
// Parse identifier as string key
|
|
289
|
+
const keyToken = advance(this.state);
|
|
290
|
+
key = keyToken.value;
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
// Invalid token at key position
|
|
294
|
+
throw new ParseError('Dict key must be identifier, number, or boolean', current(this.state).span.start);
|
|
295
|
+
}
|
|
253
296
|
expect(this.state, TOKEN_TYPES.COLON, 'Expected :');
|
|
254
297
|
const value = this.parseExpression();
|
|
255
298
|
return {
|
|
256
299
|
type: 'DictEntry',
|
|
257
|
-
key
|
|
300
|
+
key,
|
|
258
301
|
value,
|
|
259
302
|
span: makeSpan(start, current(this.state).span.end),
|
|
260
303
|
};
|
|
@@ -310,10 +353,18 @@ Parser.prototype.parseClosureParam = function () {
|
|
|
310
353
|
const nameToken = expect(this.state, TOKEN_TYPES.IDENTIFIER, 'Expected parameter name');
|
|
311
354
|
let typeName = null;
|
|
312
355
|
let defaultValue = null;
|
|
356
|
+
let annotations = undefined;
|
|
313
357
|
if (check(this.state, TOKEN_TYPES.COLON)) {
|
|
314
358
|
advance(this.state);
|
|
315
359
|
typeName = parseTypeName(this.state, FUNC_PARAM_TYPES);
|
|
316
360
|
}
|
|
361
|
+
// Parse parameter annotations (after type, before default)
|
|
362
|
+
if (check(this.state, TOKEN_TYPES.CARET)) {
|
|
363
|
+
advance(this.state); // consume ^
|
|
364
|
+
expect(this.state, TOKEN_TYPES.LPAREN, 'Expected ( after ^');
|
|
365
|
+
annotations = this.parseAnnotationArgs();
|
|
366
|
+
expect(this.state, TOKEN_TYPES.RPAREN, 'Expected )');
|
|
367
|
+
}
|
|
317
368
|
if (check(this.state, TOKEN_TYPES.ASSIGN)) {
|
|
318
369
|
advance(this.state);
|
|
319
370
|
defaultValue = this.parseLiteral();
|
|
@@ -323,6 +374,7 @@ Parser.prototype.parseClosureParam = function () {
|
|
|
323
374
|
name: nameToken.value,
|
|
324
375
|
typeName,
|
|
325
376
|
defaultValue,
|
|
377
|
+
annotations,
|
|
326
378
|
span: makeSpan(start, current(this.state).span.end),
|
|
327
379
|
};
|
|
328
380
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-literals.js","sourceRoot":"","sources":["../../src/parser/parser-literals.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAcrC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EACL,KAAK,EACL,OAAO,EACP,MAAM,EACN,OAAO,EACP,YAAY,EACZ,QAAQ,GACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA2B5E,+DAA+D;AAC/D,kBAAkB;AAClB,+DAA+D;AAE/D,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG;IAC9B,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAChE,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,GAAG,0CAA0C,CAAC;IACpD,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,GAAG,EAAE,CAAC;QAC1C,IAAI,GAAG,iCAAiC,CAAC;IAC3C,CAAC;IACD,MAAM,IAAI,UAAU,CAClB,0BAA0B,KAAK,CAAC,KAAK,GAAG,IAAI,EAAE,EAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,+DAA+D;AAC/D,iBAAiB;AACjB,+DAA+D;AAE/D,MAAM,CAAC,SAAS,CAAC,WAAW,GAAG;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;IAExB,yEAAyE;IACzE,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAErE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAE7E,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,KAAK;QACL,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAElC,GAAW,EACX,YAA4B,EAC5B,gBAAyB;IAEzB,MAAM,KAAK,GAAmC,EAAE,CAAC;IACjD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACnB,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACvB,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YAED,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC;gBACrB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;gBAChE,IAAI,OAAO;oBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACzC,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACzC,CAAC,IAAI,CAAC,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;oBAAE,KAAK,EAAE,CAAC;qBACvB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;oBAAE,KAAK,EAAE,CAAC;gBACjC,CAAC,EAAE,CAAC;YACN,CAAC;YAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,MAAM,IAAI,UAAU,CAAC,mCAAmC,EAAE,YAAY,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,UAAU,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAC;YACnE,CAAC;YAED,mEAAmE;YACnE,gEAAgE;YAChE,mEAAmE;YACnE,0FAA0F;YAC1F,EAAE;YACF,iEAAiE;YACjE,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YAC1D,MAAM,cAAc,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAEtD,IAAI,UAAkB,CAAC;YACvB,IAAI,YAAoB,CAAC;YACzB,IAAI,YAAoB,CAAC;YAEzB,6EAA6E;YAC7E,sFAAsF;YACtF,MAAM,uBAAuB,GAAG,gBAAgB,IAAI,QAAQ,KAAK,CAAC,CAAC;YAEnE,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,mDAAmD;gBACnD,UAAU,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;gBACvE,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,cAAc,CAAC;gBACpD,YAAY;oBACV,YAAY,CAAC,MAAM,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;YACjE,CAAC;iBAAM,IAAI,uBAAuB,EAAE,CAAC;gBACnC,4FAA4F;gBAC5F,UAAU,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;gBACnC,YAAY,GAAG,CAAC,GAAG,SAAS,CAAC;gBAC7B,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC;gBAC/B,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;gBACnD,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;YACrD,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE;gBAC5D,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,YAAY;aACrB,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1B,YAAY,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAChD,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;aAAM,CAAC;YACN,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAED,IAAI,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7D,IAAI,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,cAAc,GAAG,UAAwB,CAAS;IACjE,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,sBAAsB,GAAG,UAExC,MAAc,EACd,YAA4B;IAE5B,wEAAwE;IACxE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,CACxE,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,WAAW,CAAC,GAAG,EAAE,CAAC;QACnE,MAAM,IAAI,UAAU,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;IAE/C,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,WAAW,CAAC,GAAG,EAAE,CAAC;QAC1E,MAAM,IAAI,UAAU,CAClB,sCAAsC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAC1F,YAAY,CACb,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,UAAU;QACV,IAAI,EAAE,UAAU,CAAC,IAAI;KACtB,CAAC;AACJ,CAAC,CAAC;AAEF,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAE/D,MAAM,CAAC,SAAS,CAAC,gBAAgB,GAAG;IAGlC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEzB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SACpD,CAAC;IACJ,CAAC;IAED,IACE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,WAAW,CAAC,QAAQ,EACpE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SACpD,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,UAE5B,KAAqB;IAErB,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACtC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEzB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC;YAAE,MAAM;QACnD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACtC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,QAAQ;QACR,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KACpD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,UAE3B,KAAqB;IAErB,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACpC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEzB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC;YAAE,MAAM;QACnD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACpC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO;QACP,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KACpD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,cAAc,GAAG;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC5E,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAErC,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,QAAQ,CAAC,KAAK;QACnB,KAAK;QACL,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KACpD,CAAC;AACJ,CAAC,CAAC;AAEF,+DAA+D;AAC/D,kBAAkB;AAClB,+DAA+D;AAE/D,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAE7C,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,EAAE;YACV,IAAI;YACJ,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;SACrC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAE9B,OAAO;QACL,IAAI,EAAE,SAAS;QACf,MAAM;QACN,IAAI;QACJ,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG;IAC3B,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,IACE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EACrC,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,iBAAiB,GAAG;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,CACtB,IAAI,CAAC,KAAK,EACV,WAAW,CAAC,UAAU,EACtB,yBAAyB,CAC1B,CAAC;IAEF,IAAI,QAAQ,GAAwC,IAAI,CAAC;IACzD,IAAI,YAAY,GAAuB,IAAI,CAAC;IAE5C,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,SAAS,CAAC,KAAK;QACrB,QAAQ;QACR,YAAY;QACZ,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KACpD,CAAC;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"parser-literals.js","sourceRoot":"","sources":["../../src/parser/parser-literals.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Parser Extension: Script Parsing
|
|
3
3
|
* Script, frontmatter, statements, and annotations
|
|
4
4
|
*/
|
|
5
|
-
import type { AnnotatedStatementNode, AnnotationArg,
|
|
5
|
+
import type { AnnotatedStatementNode, AnnotationArg, RecoveryErrorNode, FrontmatterNode, ScriptNode, StatementNode } from '../types.js';
|
|
6
6
|
declare module './parser.js' {
|
|
7
7
|
interface Parser {
|
|
8
8
|
parseScript(): ScriptNode;
|
|
@@ -15,7 +15,7 @@ declare module './parser.js' {
|
|
|
15
15
|
line: number;
|
|
16
16
|
column: number;
|
|
17
17
|
offset: number;
|
|
18
|
-
}, message: string):
|
|
18
|
+
}, message: string): RecoveryErrorNode;
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=parser-script.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-script.d.ts","sourceRoot":"","sources":["../../src/parser/parser-script.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"parser-script.d.ts","sourceRoot":"","sources":["../../src/parser/parser-script.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,eAAe,EAEf,UAAU,EAEV,aAAa,EACd,MAAM,aAAa,CAAC;AAcrB,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,MAAM;QACd,WAAW,IAAI,UAAU,CAAC;QAC1B,gBAAgB,IAAI,eAAe,CAAC;QACpC,cAAc,IAAI,aAAa,GAAG,sBAAsB,CAAC;QACzD,uBAAuB,IAAI,sBAAsB,CAAC;QAClD,mBAAmB,IAAI,aAAa,EAAE,CAAC;QACvC,kBAAkB,IAAI,aAAa,CAAC;QACpC,sBAAsB,CACpB,aAAa,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAC/D,OAAO,EAAE,MAAM,GACd,iBAAiB,CAAC;KACtB;CACF"}
|
|
@@ -25,7 +25,7 @@ Parser.prototype.parseScript = function () {
|
|
|
25
25
|
if (isAtEnd(this.state))
|
|
26
26
|
break;
|
|
27
27
|
if (this.state.recoveryMode) {
|
|
28
|
-
// Recovery mode: catch errors and create
|
|
28
|
+
// Recovery mode: catch errors and create RecoveryErrorNode
|
|
29
29
|
const stmtStart = current(this.state).span.start;
|
|
30
30
|
try {
|
|
31
31
|
statements.push(this.parseStatement());
|
|
@@ -37,7 +37,7 @@ Parser.prototype.parseScript = function () {
|
|
|
37
37
|
? err
|
|
38
38
|
: new ParseError(err.message.replace(/ at line \d+, column \d+$/, ''), err.location);
|
|
39
39
|
this.state.errors.push(parseError);
|
|
40
|
-
// Create
|
|
40
|
+
// Create RecoveryErrorNode and skip to next statement boundary
|
|
41
41
|
const errorNode = this.recoverToNextStatement(stmtStart, parseError.message);
|
|
42
42
|
statements.push(errorNode);
|
|
43
43
|
}
|
|
@@ -70,7 +70,7 @@ Parser.prototype.recoverToNextStatement = function (startLocation, message) {
|
|
|
70
70
|
// Extract the skipped text from source
|
|
71
71
|
const text = this.state.source.slice(startOffset, endOffset);
|
|
72
72
|
return {
|
|
73
|
-
type: '
|
|
73
|
+
type: 'RecoveryError',
|
|
74
74
|
message,
|
|
75
75
|
text,
|
|
76
76
|
span: makeSpan(startLocation, current(this.state).span.start),
|
|
@@ -108,6 +108,46 @@ Parser.prototype.parseStatement = function () {
|
|
|
108
108
|
if (check(this.state, TOKEN_TYPES.CARET)) {
|
|
109
109
|
return this.parseAnnotatedStatement();
|
|
110
110
|
}
|
|
111
|
+
// Check for assert statement: assert expression [string-literal]
|
|
112
|
+
if (check(this.state, TOKEN_TYPES.ASSERT)) {
|
|
113
|
+
const assertNode = this.parseAssert();
|
|
114
|
+
return {
|
|
115
|
+
type: 'Statement',
|
|
116
|
+
expression: {
|
|
117
|
+
type: 'PipeChain',
|
|
118
|
+
head: {
|
|
119
|
+
type: 'PostfixExpr',
|
|
120
|
+
primary: assertNode,
|
|
121
|
+
methods: [],
|
|
122
|
+
span: assertNode.span,
|
|
123
|
+
},
|
|
124
|
+
pipes: [],
|
|
125
|
+
terminator: null,
|
|
126
|
+
span: assertNode.span,
|
|
127
|
+
},
|
|
128
|
+
span: assertNode.span,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
// Check for error statement: error string-literal
|
|
132
|
+
if (check(this.state, TOKEN_TYPES.ERROR)) {
|
|
133
|
+
const errorNode = this.parseError(true); // Require message for statement form
|
|
134
|
+
return {
|
|
135
|
+
type: 'Statement',
|
|
136
|
+
expression: {
|
|
137
|
+
type: 'PipeChain',
|
|
138
|
+
head: {
|
|
139
|
+
type: 'PostfixExpr',
|
|
140
|
+
primary: errorNode,
|
|
141
|
+
methods: [],
|
|
142
|
+
span: errorNode.span,
|
|
143
|
+
},
|
|
144
|
+
pipes: [],
|
|
145
|
+
terminator: null,
|
|
146
|
+
span: errorNode.span,
|
|
147
|
+
},
|
|
148
|
+
span: errorNode.span,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
111
151
|
const expression = this.parseExpression();
|
|
112
152
|
return {
|
|
113
153
|
type: 'Statement',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-script.js","sourceRoot":"","sources":["../../src/parser/parser-script.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAWrC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EACL,KAAK,EACL,OAAO,EACP,MAAM,EACN,OAAO,EACP,OAAO,EACP,YAAY,EACZ,QAAQ,GACT,MAAM,YAAY,CAAC;AAkBpB,+DAA+D;AAC/D,iBAAiB;AACjB,+DAA+D;AAE/D,MAAM,CAAC,SAAS,CAAC,WAAW,GAAG;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7C,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEzB,uBAAuB;IACvB,IAAI,WAAW,GAA2B,IAAI,CAAC;IAC/C,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrD,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC;IACD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEzB,aAAa;IACb,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"parser-script.js","sourceRoot":"","sources":["../../src/parser/parser-script.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,6 +90,11 @@ Parser.prototype.parseFieldAccessElement = function () {
|
|
|
90
90
|
const nameToken = expect(this.state, TOKEN_TYPES.IDENTIFIER, 'Expected variable name after .$');
|
|
91
91
|
return { kind: 'variable', variableName: nameToken.value };
|
|
92
92
|
}
|
|
93
|
+
if (check(this.state, TOKEN_TYPES.CARET)) {
|
|
94
|
+
advance(this.state);
|
|
95
|
+
const keyToken = expect(this.state, TOKEN_TYPES.IDENTIFIER, 'Expected annotation key after .^');
|
|
96
|
+
return { kind: 'annotation', key: keyToken.value };
|
|
97
|
+
}
|
|
93
98
|
if (check(this.state, TOKEN_TYPES.LPAREN)) {
|
|
94
99
|
return this.parseComputedOrAlternatives();
|
|
95
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-variables.js","sourceRoot":"","sources":["../../src/parser/parser-variables.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser-variables.js","sourceRoot":"","sources":["../../src/parser/parser-variables.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,11 +36,18 @@ interface RuntimeContextLike {
|
|
|
36
36
|
* Used for both host-provided functions and runtime callables.
|
|
37
37
|
*/
|
|
38
38
|
export type CallableFn = (args: RillValue[], ctx: RuntimeContextLike, location?: SourceLocation) => RillValue | Promise<RillValue>;
|
|
39
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Parameter definition for script closures.
|
|
41
|
+
*
|
|
42
|
+
* Annotations are captured at closure creation time and stored as evaluated values.
|
|
43
|
+
* Empty object ({}) when no annotations present.
|
|
44
|
+
*/
|
|
40
45
|
export interface CallableParam {
|
|
41
46
|
readonly name: string;
|
|
42
47
|
readonly typeName: 'string' | 'number' | 'bool' | 'list' | 'dict' | null;
|
|
43
48
|
readonly defaultValue: RillValue | null;
|
|
49
|
+
/** Evaluated parameter-level annotations (e.g., ^(cache: true)) */
|
|
50
|
+
readonly annotations: Record<string, RillValue>;
|
|
44
51
|
}
|
|
45
52
|
/**
|
|
46
53
|
* Parameter metadata for host-provided functions.
|
|
@@ -79,13 +86,22 @@ interface CallableBase {
|
|
|
79
86
|
/** Reference to containing dict (set when stored in a dict) */
|
|
80
87
|
boundDict?: Record<string, RillValue>;
|
|
81
88
|
}
|
|
82
|
-
/**
|
|
89
|
+
/**
|
|
90
|
+
* Script callable - parsed from Rill source code.
|
|
91
|
+
*
|
|
92
|
+
* Carries closure-level and parameter-level annotations captured at creation time.
|
|
93
|
+
* Both annotation fields default to empty objects ({}) when no annotations present.
|
|
94
|
+
*/
|
|
83
95
|
export interface ScriptCallable extends CallableBase {
|
|
84
96
|
readonly kind: 'script';
|
|
85
97
|
readonly params: CallableParam[];
|
|
86
98
|
readonly body: BodyNode;
|
|
87
99
|
/** Reference to the scope where this closure was defined (late binding) */
|
|
88
100
|
readonly definingScope: RuntimeContextLike;
|
|
101
|
+
/** Evaluated closure-level annotations (e.g., ^(timeout: 30)) */
|
|
102
|
+
readonly annotations: Record<string, RillValue>;
|
|
103
|
+
/** Evaluated parameter annotations keyed by parameter name */
|
|
104
|
+
readonly paramAnnotations: Record<string, Record<string, RillValue>>;
|
|
89
105
|
}
|
|
90
106
|
/** Runtime callable - Rill's built-in functions (type, log, json, identity) */
|
|
91
107
|
export interface RuntimeCallable extends CallableBase {
|
|
@@ -121,12 +137,14 @@ export declare function isDict(value: RillValue): value is Record<string, RillVa
|
|
|
121
137
|
export declare function formatCallable(callable: RillCallable): string;
|
|
122
138
|
/**
|
|
123
139
|
* Deep equality for script callables.
|
|
124
|
-
* Compares params, body AST structure,
|
|
140
|
+
* Compares params, body AST structure, defining scope, and annotations.
|
|
125
141
|
*
|
|
126
142
|
* Two closures are equal if:
|
|
127
|
-
* 1. Same parameter names, types,
|
|
143
|
+
* 1. Same parameter names, types, default values, and annotations
|
|
128
144
|
* 2. Structurally identical body AST (ignoring source locations)
|
|
129
145
|
* 3. Same defining scope (reference equality)
|
|
146
|
+
* 4. Same closure-level annotations
|
|
147
|
+
* 5. Same parameter-level annotations
|
|
130
148
|
*/
|
|
131
149
|
export declare function callableEquals(a: ScriptCallable, b: ScriptCallable, valueEquals?: (a: RillValue, b: RillValue) => boolean): boolean;
|
|
132
150
|
/**
|