@rcrsr/rill 0.4.5 → 0.6.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.
- package/dist/generated/introspection-data.d.ts +2 -0
- package/dist/generated/introspection-data.d.ts.map +1 -0
- package/dist/generated/introspection-data.js +539 -0
- package/dist/generated/introspection-data.js.map +1 -0
- package/dist/generated/version-data.d.ts +18 -0
- package/dist/generated/version-data.d.ts.map +1 -0
- package/dist/generated/version-data.js +16 -0
- package/dist/generated/version-data.js.map +1 -0
- package/dist/highlight-map.d.ts +4 -0
- package/dist/highlight-map.d.ts.map +1 -0
- package/dist/highlight-map.js +71 -0
- package/dist/highlight-map.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/lexer/errors.d.ts +3 -2
- package/dist/lexer/errors.d.ts.map +1 -1
- package/dist/lexer/errors.js +25 -4
- package/dist/lexer/errors.js.map +1 -1
- package/dist/lexer/operators.d.ts.map +1 -1
- package/dist/lexer/operators.js +2 -1
- package/dist/lexer/operators.js.map +1 -1
- package/dist/lexer/readers.d.ts.map +1 -1
- package/dist/lexer/readers.js +4 -4
- package/dist/lexer/readers.js.map +1 -1
- package/dist/lexer/tokenizer.d.ts.map +1 -1
- package/dist/lexer/tokenizer.js +1 -15
- package/dist/lexer/tokenizer.js.map +1 -1
- package/dist/parser/helpers.d.ts +8 -0
- package/dist/parser/helpers.d.ts.map +1 -1
- package/dist/parser/helpers.js +7 -5
- package/dist/parser/helpers.js.map +1 -1
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +1 -1
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/parser-collect.js +1 -1
- package/dist/parser/parser-collect.js.map +1 -1
- package/dist/parser/parser-control.js +6 -4
- 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 +52 -10
- package/dist/parser/parser-expr.js.map +1 -1
- package/dist/parser/parser-extract.js +7 -3
- package/dist/parser/parser-extract.js.map +1 -1
- package/dist/parser/parser-functions.d.ts.map +1 -1
- package/dist/parser/parser-functions.js +8 -18
- package/dist/parser/parser-functions.js.map +1 -1
- package/dist/parser/parser-literals.js +15 -15
- package/dist/parser/parser-literals.js.map +1 -1
- package/dist/parser/parser-script.js +5 -3
- package/dist/parser/parser-script.js.map +1 -1
- package/dist/parser/parser-variables.js +10 -6
- package/dist/parser/parser-variables.js.map +1 -1
- package/dist/parser/state.d.ts +1 -1
- package/dist/parser/state.d.ts.map +1 -1
- package/dist/parser/state.js +2 -2
- package/dist/parser/state.js.map +1 -1
- package/dist/runtime/core/callable.d.ts +28 -0
- package/dist/runtime/core/callable.d.ts.map +1 -1
- package/dist/runtime/core/callable.js +30 -7
- package/dist/runtime/core/callable.js.map +1 -1
- package/dist/runtime/core/context.d.ts +21 -0
- package/dist/runtime/core/context.d.ts.map +1 -1
- package/dist/runtime/core/context.js +90 -10
- package/dist/runtime/core/context.js.map +1 -1
- package/dist/runtime/core/equals.d.ts.map +1 -1
- package/dist/runtime/core/equals.js +2 -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 +3 -3
- package/dist/runtime/core/eval/base.js.map +1 -1
- package/dist/runtime/core/eval/index.d.ts.map +1 -1
- package/dist/runtime/core/eval/index.js +2 -0
- package/dist/runtime/core/eval/index.js.map +1 -1
- package/dist/runtime/core/eval/mixins/annotations.js +3 -3
- package/dist/runtime/core/eval/mixins/annotations.js.map +1 -1
- package/dist/runtime/core/eval/mixins/closures.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/closures.js +75 -40
- package/dist/runtime/core/eval/mixins/closures.js.map +1 -1
- package/dist/runtime/core/eval/mixins/collections.js +15 -15
- package/dist/runtime/core/eval/mixins/collections.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 +12 -12
- 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 +39 -17
- package/dist/runtime/core/eval/mixins/core.js.map +1 -1
- package/dist/runtime/core/eval/mixins/expressions.d.ts +2 -0
- package/dist/runtime/core/eval/mixins/expressions.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/expressions.js +81 -28
- package/dist/runtime/core/eval/mixins/expressions.js.map +1 -1
- package/dist/runtime/core/eval/mixins/extraction.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/extraction.js +15 -15
- package/dist/runtime/core/eval/mixins/extraction.js.map +1 -1
- package/dist/runtime/core/eval/mixins/literals.d.ts +4 -1
- package/dist/runtime/core/eval/mixins/literals.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/literals.js +45 -25
- package/dist/runtime/core/eval/mixins/literals.js.map +1 -1
- package/dist/runtime/core/eval/mixins/types.js +4 -4
- package/dist/runtime/core/eval/mixins/types.js.map +1 -1
- package/dist/runtime/core/eval/mixins/variables.js +34 -34
- package/dist/runtime/core/eval/mixins/variables.js.map +1 -1
- package/dist/runtime/core/execute.js +3 -3
- package/dist/runtime/core/execute.js.map +1 -1
- package/dist/runtime/core/introspection.d.ts +88 -0
- package/dist/runtime/core/introspection.d.ts.map +1 -0
- package/dist/runtime/core/introspection.js +166 -0
- package/dist/runtime/core/introspection.js.map +1 -0
- package/dist/runtime/core/types.d.ts +11 -0
- package/dist/runtime/core/types.d.ts.map +1 -1
- package/dist/runtime/core/types.js.map +1 -1
- package/dist/runtime/ext/builtins.js +22 -22
- package/dist/runtime/ext/builtins.js.map +1 -1
- package/dist/runtime/ext/extensions.d.ts +1 -1
- package/dist/runtime/ext/extensions.d.ts.map +1 -1
- package/dist/runtime/ext/extensions.js +4 -5
- package/dist/runtime/ext/extensions.js.map +1 -1
- package/dist/runtime/index.d.ts +8 -2
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +4 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/types.d.ts +141 -32
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +806 -40
- package/dist/types.js.map +1 -1
- package/package.json +7 -64
- package/README.md +0 -223
- package/dist/check/config.d.ts +0 -20
- package/dist/check/config.d.ts.map +0 -1
- package/dist/check/config.js +0 -151
- package/dist/check/config.js.map +0 -1
- package/dist/check/fixer.d.ts +0 -39
- package/dist/check/fixer.d.ts.map +0 -1
- package/dist/check/fixer.js +0 -119
- package/dist/check/fixer.js.map +0 -1
- package/dist/check/index.d.ts +0 -10
- package/dist/check/index.d.ts.map +0 -1
- package/dist/check/index.js +0 -21
- package/dist/check/index.js.map +0 -1
- package/dist/check/rules/anti-patterns.d.ts +0 -65
- package/dist/check/rules/anti-patterns.d.ts.map +0 -1
- package/dist/check/rules/anti-patterns.js +0 -481
- package/dist/check/rules/anti-patterns.js.map +0 -1
- package/dist/check/rules/closures.d.ts +0 -66
- package/dist/check/rules/closures.d.ts.map +0 -1
- package/dist/check/rules/closures.js +0 -370
- package/dist/check/rules/closures.js.map +0 -1
- package/dist/check/rules/collections.d.ts +0 -90
- package/dist/check/rules/collections.d.ts.map +0 -1
- package/dist/check/rules/collections.js +0 -373
- package/dist/check/rules/collections.js.map +0 -1
- package/dist/check/rules/conditionals.d.ts +0 -41
- package/dist/check/rules/conditionals.d.ts.map +0 -1
- package/dist/check/rules/conditionals.js +0 -134
- package/dist/check/rules/conditionals.js.map +0 -1
- package/dist/check/rules/flow.d.ts +0 -46
- package/dist/check/rules/flow.d.ts.map +0 -1
- package/dist/check/rules/flow.js +0 -206
- package/dist/check/rules/flow.js.map +0 -1
- package/dist/check/rules/formatting.d.ts +0 -133
- package/dist/check/rules/formatting.d.ts.map +0 -1
- package/dist/check/rules/formatting.js +0 -648
- package/dist/check/rules/formatting.js.map +0 -1
- package/dist/check/rules/helpers.d.ts +0 -26
- package/dist/check/rules/helpers.d.ts.map +0 -1
- package/dist/check/rules/helpers.js +0 -66
- package/dist/check/rules/helpers.js.map +0 -1
- package/dist/check/rules/index.d.ts +0 -21
- package/dist/check/rules/index.d.ts.map +0 -1
- package/dist/check/rules/index.js +0 -78
- package/dist/check/rules/index.js.map +0 -1
- package/dist/check/rules/loops.d.ts +0 -77
- package/dist/check/rules/loops.d.ts.map +0 -1
- package/dist/check/rules/loops.js +0 -310
- package/dist/check/rules/loops.js.map +0 -1
- package/dist/check/rules/naming.d.ts +0 -21
- package/dist/check/rules/naming.d.ts.map +0 -1
- package/dist/check/rules/naming.js +0 -174
- package/dist/check/rules/naming.js.map +0 -1
- package/dist/check/rules/strings.d.ts +0 -28
- package/dist/check/rules/strings.d.ts.map +0 -1
- package/dist/check/rules/strings.js +0 -79
- package/dist/check/rules/strings.js.map +0 -1
- package/dist/check/rules/types.d.ts +0 -41
- package/dist/check/rules/types.d.ts.map +0 -1
- package/dist/check/rules/types.js +0 -167
- package/dist/check/rules/types.js.map +0 -1
- package/dist/check/types.d.ts +0 -112
- package/dist/check/types.d.ts.map +0 -1
- package/dist/check/types.js +0 -6
- package/dist/check/types.js.map +0 -1
- package/dist/check/validator.d.ts +0 -18
- package/dist/check/validator.d.ts.map +0 -1
- package/dist/check/validator.js +0 -110
- package/dist/check/validator.js.map +0 -1
- package/dist/check/visitor.d.ts +0 -33
- package/dist/check/visitor.d.ts.map +0 -1
- package/dist/check/visitor.js +0 -258
- package/dist/check/visitor.js.map +0 -1
- package/dist/cli-check.d.ts +0 -43
- package/dist/cli-check.d.ts.map +0 -1
- package/dist/cli-check.js +0 -369
- package/dist/cli-check.js.map +0 -1
- package/dist/cli-eval.d.ts +0 -15
- package/dist/cli-eval.d.ts.map +0 -1
- package/dist/cli-eval.js +0 -117
- package/dist/cli-eval.js.map +0 -1
- package/dist/cli-exec.d.ts +0 -49
- package/dist/cli-exec.d.ts.map +0 -1
- package/dist/cli-exec.js +0 -184
- package/dist/cli-exec.js.map +0 -1
- package/dist/cli-module-loader.d.ts +0 -19
- package/dist/cli-module-loader.d.ts.map +0 -1
- package/dist/cli-module-loader.js +0 -83
- package/dist/cli-module-loader.js.map +0 -1
- package/dist/cli-shared.d.ts +0 -42
- package/dist/cli-shared.d.ts.map +0 -1
- package/dist/cli-shared.js +0 -112
- package/dist/cli-shared.js.map +0 -1
- package/dist/cli.d.ts +0 -13
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -62
- package/dist/cli.js.map +0 -1
- package/docs/00_INDEX.md +0 -67
- package/docs/01_guide.md +0 -390
- package/docs/02_types.md +0 -482
- package/docs/03_variables.md +0 -324
- package/docs/04_operators.md +0 -608
- package/docs/05_control-flow.md +0 -630
- package/docs/06_closures.md +0 -787
- package/docs/07_collections.md +0 -688
- package/docs/08_iterators.md +0 -330
- package/docs/09_strings.md +0 -205
- package/docs/10_parsing.md +0 -366
- package/docs/11_reference.md +0 -599
- package/docs/12_examples.md +0 -748
- package/docs/13_modules.md +0 -519
- package/docs/14_host-integration.md +0 -833
- package/docs/15_grammar.ebnf +0 -755
- package/docs/16_conventions.md +0 -695
- package/docs/17_cli-tools.md +0 -184
- package/docs/18_design-principles.md +0 -247
- package/docs/19_cookbook.md +0 -628
- package/docs/99_llm-reference.txt +0 -601
- package/docs/assets/logo.png +0 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// TOKEN HIGHLIGHT MAP
|
|
3
|
+
// ============================================================
|
|
4
|
+
export const TOKEN_HIGHLIGHT_MAP = new Map([
|
|
5
|
+
// Literals
|
|
6
|
+
['STRING', 'string'],
|
|
7
|
+
['NUMBER', 'number'],
|
|
8
|
+
['TRUE', 'bool'],
|
|
9
|
+
['FALSE', 'bool'],
|
|
10
|
+
// Comments
|
|
11
|
+
['COMMENT', 'comment'],
|
|
12
|
+
// Keywords
|
|
13
|
+
['EACH', 'keyword'],
|
|
14
|
+
['MAP', 'keyword'],
|
|
15
|
+
['FOLD', 'keyword'],
|
|
16
|
+
['FILTER', 'keyword'],
|
|
17
|
+
['BREAK', 'keyword'],
|
|
18
|
+
['RETURN', 'keyword'],
|
|
19
|
+
['PASS', 'keyword'],
|
|
20
|
+
['ASSERT', 'keyword'],
|
|
21
|
+
['ERROR', 'keyword'],
|
|
22
|
+
// Variables
|
|
23
|
+
['DOLLAR', 'variableName'],
|
|
24
|
+
['PIPE_VAR', 'variableName'],
|
|
25
|
+
['IDENTIFIER', 'variableName'],
|
|
26
|
+
['UNDERSCORE', 'variableName'],
|
|
27
|
+
// Operators
|
|
28
|
+
['ARROW', 'operator'],
|
|
29
|
+
['CAPTURE_ARROW', 'operator'],
|
|
30
|
+
['ASSIGN', 'operator'],
|
|
31
|
+
['PLUS', 'operator'],
|
|
32
|
+
['MINUS', 'operator'],
|
|
33
|
+
['STAR', 'operator'],
|
|
34
|
+
['SLASH', 'operator'],
|
|
35
|
+
['PERCENT', 'operator'],
|
|
36
|
+
['PIPE_BAR', 'operator'],
|
|
37
|
+
['EQ', 'operator'],
|
|
38
|
+
['NE', 'operator'],
|
|
39
|
+
['LT', 'operator'],
|
|
40
|
+
['GT', 'operator'],
|
|
41
|
+
['LE', 'operator'],
|
|
42
|
+
['GE', 'operator'],
|
|
43
|
+
['AND', 'operator'],
|
|
44
|
+
['OR', 'operator'],
|
|
45
|
+
['BANG', 'operator'],
|
|
46
|
+
['NULLISH_COALESCE', 'operator'],
|
|
47
|
+
['DOT_QUESTION', 'operator'],
|
|
48
|
+
['STAR_LT', 'operator'],
|
|
49
|
+
['SLASH_LT', 'operator'],
|
|
50
|
+
['ELLIPSIS', 'operator'],
|
|
51
|
+
['AT', 'operator'],
|
|
52
|
+
['CARET', 'operator'],
|
|
53
|
+
['AMPERSAND', 'operator'],
|
|
54
|
+
// Punctuation
|
|
55
|
+
['DOT', 'punctuation'],
|
|
56
|
+
['DOUBLE_COLON', 'punctuation'],
|
|
57
|
+
['COMMA', 'punctuation'],
|
|
58
|
+
['QUESTION', 'punctuation'],
|
|
59
|
+
['COLON', 'punctuation'],
|
|
60
|
+
// Brackets
|
|
61
|
+
['LPAREN', 'bracket'],
|
|
62
|
+
['RPAREN', 'bracket'],
|
|
63
|
+
['LBRACE', 'bracket'],
|
|
64
|
+
['RBRACE', 'bracket'],
|
|
65
|
+
['LBRACKET', 'bracket'],
|
|
66
|
+
['RBRACKET', 'bracket'],
|
|
67
|
+
// Meta
|
|
68
|
+
['FRONTMATTER_DELIM', 'meta'],
|
|
69
|
+
// Intentionally unmapped: NEWLINE, EOF
|
|
70
|
+
]);
|
|
71
|
+
//# sourceMappingURL=highlight-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"highlight-map.js","sourceRoot":"","sources":["../src/highlight-map.ts"],"names":[],"mappings":"AAkBA,+DAA+D;AAC/D,sBAAsB;AACtB,+DAA+D;AAE/D,MAAM,CAAC,MAAM,mBAAmB,GAC9B,IAAI,GAAG,CAA+B;IACpC,WAAW;IACX,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,OAAO,EAAE,MAAM,CAAC;IAEjB,WAAW;IACX,CAAC,SAAS,EAAE,SAAS,CAAC;IAEtB,WAAW;IACX,CAAC,MAAM,EAAE,SAAS,CAAC;IACnB,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,MAAM,EAAE,SAAS,CAAC;IACnB,CAAC,QAAQ,EAAE,SAAS,CAAC;IACrB,CAAC,OAAO,EAAE,SAAS,CAAC;IACpB,CAAC,QAAQ,EAAE,SAAS,CAAC;IACrB,CAAC,MAAM,EAAE,SAAS,CAAC;IACnB,CAAC,QAAQ,EAAE,SAAS,CAAC;IACrB,CAAC,OAAO,EAAE,SAAS,CAAC;IAEpB,YAAY;IACZ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC1B,CAAC,UAAU,EAAE,cAAc,CAAC;IAC5B,CAAC,YAAY,EAAE,cAAc,CAAC;IAC9B,CAAC,YAAY,EAAE,cAAc,CAAC;IAE9B,YAAY;IACZ,CAAC,OAAO,EAAE,UAAU,CAAC;IACrB,CAAC,eAAe,EAAE,UAAU,CAAC;IAC7B,CAAC,QAAQ,EAAE,UAAU,CAAC;IACtB,CAAC,MAAM,EAAE,UAAU,CAAC;IACpB,CAAC,OAAO,EAAE,UAAU,CAAC;IACrB,CAAC,MAAM,EAAE,UAAU,CAAC;IACpB,CAAC,OAAO,EAAE,UAAU,CAAC;IACrB,CAAC,SAAS,EAAE,UAAU,CAAC;IACvB,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,KAAK,EAAE,UAAU,CAAC;IACnB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,MAAM,EAAE,UAAU,CAAC;IACpB,CAAC,kBAAkB,EAAE,UAAU,CAAC;IAChC,CAAC,cAAc,EAAE,UAAU,CAAC;IAC5B,CAAC,SAAS,EAAE,UAAU,CAAC;IACvB,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,OAAO,EAAE,UAAU,CAAC;IACrB,CAAC,WAAW,EAAE,UAAU,CAAC;IAEzB,cAAc;IACd,CAAC,KAAK,EAAE,aAAa,CAAC;IACtB,CAAC,cAAc,EAAE,aAAa,CAAC;IAC/B,CAAC,OAAO,EAAE,aAAa,CAAC;IACxB,CAAC,UAAU,EAAE,aAAa,CAAC;IAC3B,CAAC,OAAO,EAAE,aAAa,CAAC;IAExB,WAAW;IACX,CAAC,QAAQ,EAAE,SAAS,CAAC;IACrB,CAAC,QAAQ,EAAE,SAAS,CAAC;IACrB,CAAC,QAAQ,EAAE,SAAS,CAAC;IACrB,CAAC,QAAQ,EAAE,SAAS,CAAC;IACrB,CAAC,UAAU,EAAE,SAAS,CAAC;IACvB,CAAC,UAAU,EAAE,SAAS,CAAC;IAEvB,OAAO;IACP,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAE7B,uCAAuC;CACxC,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
export { LexerError, tokenize } from './lexer/index.js';
|
|
6
6
|
export { parse, parseWithRecovery } from './parser/index.js';
|
|
7
7
|
export type { ParseResult, RecoveryErrorNode, ErrorNode } from './types.js';
|
|
8
|
-
export { type ApplicationCallable, BreakSignal, callable, type CallableFn, type CaptureEvent, createRuntimeContext, createStepper, emitExtensionEvent, type ErrorEvent, execute, type ExecutionResult, type ExecutionStepper, type ExtensionEvent, type ExtensionFactory, type ExtensionResult, type HostCallEvent, type HostFunctionDefinition, type HostFunctionParam, type FunctionReturnEvent, isApplicationCallable, isTuple, isCallable, isDict, isReservedMethod, isRuntimeCallable, isScriptCallable, type ObservabilityCallbacks, prefixFunctions, RESERVED_DICT_METHODS, ReturnSignal, type RillTuple, type RillCallable, type RillValue, type RuntimeCallable, type RuntimeCallbacks, type RuntimeContext, type RuntimeOptions, type ScriptCallable, type StepEndEvent, type StepResult, type StepStartEvent, validateHostFunctionArgs, } from './runtime/index.js';
|
|
8
|
+
export { type ApplicationCallable, BreakSignal, callable, type CallableFn, type CallFrame, type CaptureEvent, createRuntimeContext, createStepper, type DocumentationCoverageResult, emitExtensionEvent, type ErrorEvent, execute, type ExecutionResult, type ExecutionStepper, type ExtensionEvent, type ExtensionFactory, type ExtensionResult, type FunctionMetadata, type HostCallEvent, type HostFunctionDefinition, type HostFunctionParam, type FunctionReturnEvent, getCallStack, getDocumentationCoverage, getFunctions, getLanguageReference, isApplicationCallable, isTuple, isCallable, isDict, isReservedMethod, isRuntimeCallable, isScriptCallable, type ObservabilityCallbacks, type ParamMetadata, popCallFrame, prefixFunctions, pushCallFrame, RESERVED_DICT_METHODS, ReturnSignal, type RillTuple, type RillCallable, type RillFunctionReturnType, type RillValue, type RuntimeCallable, type RuntimeCallbacks, type RuntimeContext, type RuntimeOptions, type ScriptCallable, type StepEndEvent, type StepResult, type StepStartEvent, validateHostFunctionArgs, validateReturnType, VERSION, VERSION_INFO, type VersionInfo, } from './runtime/index.js';
|
|
9
|
+
export { type ErrorCategory, type ErrorDefinition, type ErrorSeverity, ERROR_REGISTRY, renderMessage, getHelpUrl, createError, } from './types.js';
|
|
10
|
+
export { type HighlightCategory, TOKEN_HIGHLIGHT_MAP, } from './highlight-map.js';
|
|
9
11
|
export * from './types.js';
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EACL,KAAK,mBAAmB,EACxB,WAAW,EACX,QAAQ,EACR,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,KAAK,UAAU,EACf,OAAO,EACP,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,qBAAqB,EACrB,OAAO,EACP,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EACL,KAAK,mBAAmB,EACxB,WAAW,EACX,QAAQ,EACR,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,oBAAoB,EACpB,aAAa,EACb,KAAK,2BAA2B,EAChC,kBAAkB,EAClB,KAAK,UAAU,EACf,OAAO,EACP,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,KAAK,iBAAiB,EACtB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,14 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export { LexerError, tokenize } from './lexer/index.js';
|
|
6
6
|
export { parse, parseWithRecovery } from './parser/index.js';
|
|
7
|
-
export { BreakSignal, callable, createRuntimeContext, createStepper, emitExtensionEvent, execute, isApplicationCallable, isTuple, isCallable, isDict, isReservedMethod, isRuntimeCallable, isScriptCallable, prefixFunctions, RESERVED_DICT_METHODS, ReturnSignal, validateHostFunctionArgs, } from './runtime/index.js';
|
|
7
|
+
export { BreakSignal, callable, createRuntimeContext, createStepper, emitExtensionEvent, execute, getCallStack, getDocumentationCoverage, getFunctions, getLanguageReference, isApplicationCallable, isTuple, isCallable, isDict, isReservedMethod, isRuntimeCallable, isScriptCallable, popCallFrame, prefixFunctions, pushCallFrame, RESERVED_DICT_METHODS, ReturnSignal, validateHostFunctionArgs, validateReturnType, VERSION, VERSION_INFO, } from './runtime/index.js';
|
|
8
|
+
// ============================================================
|
|
9
|
+
// ERROR TAXONOMY
|
|
10
|
+
// ============================================================
|
|
11
|
+
export { ERROR_REGISTRY, renderMessage, getHelpUrl, createError, } from './types.js';
|
|
12
|
+
// ============================================================
|
|
13
|
+
// SYNTAX HIGHLIGHTING
|
|
14
|
+
// ============================================================
|
|
15
|
+
export { TOKEN_HIGHLIGHT_MAP, } from './highlight-map.js';
|
|
8
16
|
export * from './types.js';
|
|
9
17
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAEL,WAAW,EACX,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAEL,WAAW,EACX,QAAQ,EAIR,oBAAoB,EACpB,aAAa,EAEb,kBAAkB,EAElB,OAAO,EAWP,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAGhB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,YAAY,EAaZ,wBAAwB,EACxB,kBAAkB,EAClB,OAAO,EACP,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAE5B,+DAA+D;AAC/D,iBAAiB;AACjB,+DAA+D;AAC/D,OAAO,EAIL,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,+DAA+D;AAC/D,sBAAsB;AACtB,+DAA+D;AAC/D,OAAO,EAEL,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,YAAY,CAAC"}
|
package/dist/lexer/errors.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Lexer Errors
|
|
3
3
|
*/
|
|
4
|
+
import { RillError } from '../types.js';
|
|
4
5
|
import type { SourceLocation } from '../types.js';
|
|
5
|
-
export declare class LexerError extends
|
|
6
|
+
export declare class LexerError extends RillError {
|
|
6
7
|
readonly location: SourceLocation;
|
|
7
|
-
constructor(message: string, location: SourceLocation);
|
|
8
|
+
constructor(errorId: string, message: string, location: SourceLocation, context?: Record<string, unknown>);
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lexer/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lexer/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAA8B,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,qBAAa,UAAW,SAAQ,SAAS;IAEvC,SAAkB,QAAQ,EAAE,cAAc,CAAC;gBAGzC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CA4BpC"}
|
package/dist/lexer/errors.js
CHANGED
|
@@ -1,12 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Lexer Errors
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
import { RillError, ERROR_REGISTRY, getHelpUrl } from '../types.js';
|
|
5
|
+
import { VERSION } from '../generated/version-data.js';
|
|
6
|
+
export class LexerError extends RillError {
|
|
7
|
+
// Override to make location required (lexer errors always have location)
|
|
5
8
|
location;
|
|
6
|
-
constructor(message, location) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
constructor(errorId, message, location, context) {
|
|
10
|
+
// Look up error definition from registry
|
|
11
|
+
const definition = ERROR_REGISTRY.get(errorId);
|
|
12
|
+
// EC-5: Unknown errorId throws TypeError
|
|
13
|
+
if (!definition) {
|
|
14
|
+
throw new TypeError(`Unknown error ID: ${errorId}`);
|
|
15
|
+
}
|
|
16
|
+
// EC-6: Wrong category throws TypeError
|
|
17
|
+
if (definition.category !== 'lexer') {
|
|
18
|
+
throw new TypeError(`Expected lexer error ID, got: ${errorId}`);
|
|
19
|
+
}
|
|
20
|
+
// Call RillError constructor with structured data
|
|
21
|
+
const helpUrl = getHelpUrl(errorId, VERSION);
|
|
22
|
+
super({
|
|
23
|
+
errorId,
|
|
24
|
+
helpUrl: helpUrl || undefined,
|
|
25
|
+
message,
|
|
26
|
+
location,
|
|
27
|
+
context,
|
|
28
|
+
});
|
|
9
29
|
this.name = 'LexerError';
|
|
30
|
+
this.location = location;
|
|
10
31
|
}
|
|
11
32
|
}
|
|
12
33
|
//# sourceMappingURL=errors.js.map
|
package/dist/lexer/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lexer/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lexer/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAEvD,MAAM,OAAO,UAAW,SAAQ,SAAS;IACvC,yEAAyE;IACvD,QAAQ,CAAiB;IAE3C,YACE,OAAe,EACf,OAAe,EACf,QAAwB,EACxB,OAAiC;QAEjC,yCAAyC;QACzC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE/C,yCAAyC;QACzC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,SAAS,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,wCAAwC;QACxC,IAAI,UAAU,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACpC,MAAM,IAAI,SAAS,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,kDAAkD;QAClD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7C,KAAK,CAAC;YACJ,OAAO;YACP,OAAO,EAAE,OAAO,IAAI,SAAS;YAC7B,OAAO;YACP,QAAQ;YACR,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../src/lexer/operators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,0CAA0C;AAC1C,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAcxD,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAwB3D,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../src/lexer/operators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,0CAA0C;AAC1C,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAcxD,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAwB3D,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAY9C,CAAC"}
|
package/dist/lexer/operators.js
CHANGED
|
@@ -5,7 +5,7 @@ import { TOKEN_TYPES } from '../types.js';
|
|
|
5
5
|
/** Two-character operator lookup table */
|
|
6
6
|
export const TWO_CHAR_OPERATORS = {
|
|
7
7
|
'->': TOKEN_TYPES.ARROW,
|
|
8
|
-
'
|
|
8
|
+
'=>': TOKEN_TYPES.CAPTURE_ARROW,
|
|
9
9
|
'*<': TOKEN_TYPES.STAR_LT,
|
|
10
10
|
'/<': TOKEN_TYPES.SLASH_LT,
|
|
11
11
|
'&&': TOKEN_TYPES.AND,
|
|
@@ -50,6 +50,7 @@ export const KEYWORDS = {
|
|
|
50
50
|
false: TOKEN_TYPES.FALSE,
|
|
51
51
|
break: TOKEN_TYPES.BREAK,
|
|
52
52
|
return: TOKEN_TYPES.RETURN,
|
|
53
|
+
pass: TOKEN_TYPES.PASS,
|
|
53
54
|
assert: TOKEN_TYPES.ASSERT,
|
|
54
55
|
error: TOKEN_TYPES.ERROR,
|
|
55
56
|
each: TOKEN_TYPES.EACH,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../../src/lexer/operators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,0CAA0C;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAA8B;IAC3D,IAAI,EAAE,WAAW,CAAC,KAAK;IACvB,IAAI,EAAE,WAAW,CAAC,aAAa;IAC/B,IAAI,EAAE,WAAW,CAAC,OAAO;IACzB,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,IAAI,EAAE,WAAW,CAAC,GAAG;IACrB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,gBAAgB;IAClC,IAAI,EAAE,WAAW,CAAC,YAAY;IAC9B,IAAI,EAAE,WAAW,CAAC,YAAY;CAC/B,CAAC;AAEF,6CAA6C;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAA8B;IAC9D,GAAG,EAAE,WAAW,CAAC,GAAG;IACpB,GAAG,EAAE,WAAW,CAAC,QAAQ;IACzB,GAAG,EAAE,WAAW,CAAC,EAAE;IACnB,GAAG,EAAE,WAAW,CAAC,KAAK;IACtB,GAAG,EAAE,WAAW,CAAC,KAAK;IACtB,GAAG,EAAE,WAAW,CAAC,IAAI;IACrB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,EAAE;IACnB,GAAG,EAAE,WAAW,CAAC,EAAE;IACnB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,QAAQ;IACzB,GAAG,EAAE,WAAW,CAAC,QAAQ;IACzB,GAAG,EAAE,WAAW,CAAC,QAAQ;IACzB,GAAG,EAAE,WAAW,CAAC,IAAI;IACrB,GAAG,EAAE,WAAW,CAAC,KAAK;IACtB,GAAG,EAAE,WAAW,CAAC,IAAI;IACrB,GAAG,EAAE,WAAW,CAAC,KAAK;IACtB,GAAG,EAAE,WAAW,CAAC,OAAO;IACxB,GAAG,EAAE,WAAW,CAAC,SAAS;IAC1B,GAAG,EAAE,WAAW,CAAC,KAAK;CACvB,CAAC;AAEF,2BAA2B;AAC3B,MAAM,CAAC,MAAM,QAAQ,GAA8B;IACjD,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,MAAM,EAAE,WAAW,CAAC,MAAM;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;IAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,GAAG,EAAE,WAAW,CAAC,GAAG;IACpB,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,MAAM,EAAE,WAAW,CAAC,MAAM;CAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../../src/lexer/operators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,0CAA0C;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAA8B;IAC3D,IAAI,EAAE,WAAW,CAAC,KAAK;IACvB,IAAI,EAAE,WAAW,CAAC,aAAa;IAC/B,IAAI,EAAE,WAAW,CAAC,OAAO;IACzB,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,IAAI,EAAE,WAAW,CAAC,GAAG;IACrB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,gBAAgB;IAClC,IAAI,EAAE,WAAW,CAAC,YAAY;IAC9B,IAAI,EAAE,WAAW,CAAC,YAAY;CAC/B,CAAC;AAEF,6CAA6C;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAA8B;IAC9D,GAAG,EAAE,WAAW,CAAC,GAAG;IACpB,GAAG,EAAE,WAAW,CAAC,QAAQ;IACzB,GAAG,EAAE,WAAW,CAAC,EAAE;IACnB,GAAG,EAAE,WAAW,CAAC,KAAK;IACtB,GAAG,EAAE,WAAW,CAAC,KAAK;IACtB,GAAG,EAAE,WAAW,CAAC,IAAI;IACrB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,EAAE;IACnB,GAAG,EAAE,WAAW,CAAC,EAAE;IACnB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,QAAQ;IACzB,GAAG,EAAE,WAAW,CAAC,QAAQ;IACzB,GAAG,EAAE,WAAW,CAAC,QAAQ;IACzB,GAAG,EAAE,WAAW,CAAC,IAAI;IACrB,GAAG,EAAE,WAAW,CAAC,KAAK;IACtB,GAAG,EAAE,WAAW,CAAC,IAAI;IACrB,GAAG,EAAE,WAAW,CAAC,KAAK;IACtB,GAAG,EAAE,WAAW,CAAC,OAAO;IACxB,GAAG,EAAE,WAAW,CAAC,SAAS;IAC1B,GAAG,EAAE,WAAW,CAAC,KAAK;CACvB,CAAC;AAEF,2BAA2B;AAC3B,MAAM,CAAC,MAAM,QAAQ,GAA8B;IACjD,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,MAAM,EAAE,WAAW,CAAC,MAAM;IAC1B,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,MAAM,EAAE,WAAW,CAAC,MAAM;IAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,GAAG,EAAE,WAAW,CAAC,GAAG;IACpB,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,MAAM,EAAE,WAAW,CAAC,MAAM;CAC3B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readers.d.ts","sourceRoot":"","sources":["../../src/lexer/readers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAUzC,OAAO,EAIL,KAAK,UAAU,EAEhB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"readers.d.ts","sourceRoot":"","sources":["../../src/lexer/readers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAUzC,OAAO,EAIL,KAAK,UAAU,EAEhB,MAAM,YAAY,CAAC;AAyBpB,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAoCnD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAmF9D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAgBnD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAUvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAiBrD"}
|
package/dist/lexer/readers.js
CHANGED
|
@@ -22,7 +22,7 @@ function processEscape(state) {
|
|
|
22
22
|
case '"':
|
|
23
23
|
return '"';
|
|
24
24
|
default:
|
|
25
|
-
throw new LexerError(`Invalid escape sequence: \\${escaped}`, currentLocation(state));
|
|
25
|
+
throw new LexerError('RILL-L005', `Invalid escape sequence: \\${escaped}`, currentLocation(state));
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
export function readString(state) {
|
|
@@ -54,7 +54,7 @@ export function readString(state) {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
else if (peek(state) === '\n') {
|
|
57
|
-
throw new LexerError('Unterminated string literal', start);
|
|
57
|
+
throw new LexerError('RILL-L001', 'Unterminated string literal', start);
|
|
58
58
|
}
|
|
59
59
|
else {
|
|
60
60
|
value += advance(state);
|
|
@@ -100,7 +100,7 @@ export function readTripleQuoteString(state) {
|
|
|
100
100
|
if (peek(state) === '"' &&
|
|
101
101
|
peek(state, 1) === '"' &&
|
|
102
102
|
peek(state, 2) === '"') {
|
|
103
|
-
throw new LexerError('Triple-quotes not allowed in interpolation', currentLocation(state));
|
|
103
|
+
throw new LexerError('RILL-L005', 'Triple-quotes not allowed in interpolation', currentLocation(state));
|
|
104
104
|
}
|
|
105
105
|
// Check for brace escaping inside interpolation
|
|
106
106
|
if (peek(state) === '{' && peek(state, 1) === '{') {
|
|
@@ -131,7 +131,7 @@ export function readTripleQuoteString(state) {
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
// If we reach here, EOF was reached before closing """
|
|
134
|
-
throw new LexerError('Unterminated string', start);
|
|
134
|
+
throw new LexerError('RILL-L004', 'Unterminated string', start);
|
|
135
135
|
}
|
|
136
136
|
export function readNumber(state) {
|
|
137
137
|
const start = currentLocation(state);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readers.js","sourceRoot":"","sources":["../../src/lexer/readers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,OAAO,EACP,eAAe,EACf,OAAO,EAEP,IAAI,GACL,MAAM,YAAY,CAAC;AAEpB,iEAAiE;AACjE,SAAS,aAAa,CAAC,KAAiB;IACtC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,GAAG;YACN,OAAO,IAAI,CAAC;QACd,KAAK,GAAG;YACN,OAAO,IAAI,CAAC;QACd,KAAK,GAAG;YACN,OAAO,IAAI,CAAC;QACd,KAAK,IAAI;YACP,OAAO,IAAI,CAAC;QACd,KAAK,GAAG;YACN,OAAO,GAAG,CAAC;QACb;YACE,MAAM,IAAI,UAAU,CAClB,8BAA8B,OAAO,EAAE,EACvC,eAAe,CAAC,KAAK,CAAC,CACvB,CAAC;IACN,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAiB;IAC1C,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB;IAEpC,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB;YACpC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/B,6EAA6E;YAC7E,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY;YACrC,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACzC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;oBACzB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB;oBACpC,KAAK,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC1B,KAAK,IAAI,EAAE,CAAC;oBACZ,IAAI,EAAE,KAAK,GAAG;wBAAE,UAAU,EAAE,CAAC;oBAC7B,IAAI,EAAE,KAAK,GAAG;wBAAE,UAAU,EAAE,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;YAChC,MAAM,IAAI,UAAU,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"readers.js","sourceRoot":"","sources":["../../src/lexer/readers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../src/lexer/tokenizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAkBzD,OAAO,EAKL,KAAK,UAAU,EAGhB,MAAM,YAAY,CAAC;AAgBpB,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../src/lexer/tokenizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAkBzD,OAAO,EAKL,KAAK,UAAU,EAGhB,MAAM,YAAY,CAAC;AAgBpB,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAyGlD;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,cAAc,GAC5B,KAAK,EAAE,CAWT"}
|
package/dist/lexer/tokenizer.js
CHANGED
|
@@ -89,20 +89,6 @@ export function nextToken(state) {
|
|
|
89
89
|
const twoChar = peekString(state, 2);
|
|
90
90
|
const twoCharType = TWO_CHAR_OPERATORS[twoChar];
|
|
91
91
|
if (twoCharType) {
|
|
92
|
-
// Special case: :> is only CAPTURE_ARROW when followed by $ (possibly with whitespace)
|
|
93
|
-
// This avoids conflict with slice syntax /<start:> where :> should be COLON + GT
|
|
94
|
-
if (twoChar === ':>') {
|
|
95
|
-
let lookAhead = 2;
|
|
96
|
-
while (state.pos + lookAhead < state.source.length &&
|
|
97
|
-
isWhitespace(state.source[state.pos + lookAhead] ?? '')) {
|
|
98
|
-
lookAhead++;
|
|
99
|
-
}
|
|
100
|
-
const charAfter = state.source[state.pos + lookAhead] ?? '';
|
|
101
|
-
if (charAfter !== '$') {
|
|
102
|
-
// Not a capture arrow - treat as separate : and > tokens
|
|
103
|
-
return advanceAndMakeToken(state, 1, TOKEN_TYPES.COLON, ':', start);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
92
|
return advanceAndMakeToken(state, 2, twoCharType, twoChar, start);
|
|
107
93
|
}
|
|
108
94
|
// Single-character operators (lookup table)
|
|
@@ -110,7 +96,7 @@ export function nextToken(state) {
|
|
|
110
96
|
if (singleCharType) {
|
|
111
97
|
return advanceAndMakeToken(state, 1, singleCharType, ch, start);
|
|
112
98
|
}
|
|
113
|
-
throw new LexerError(`Unexpected character: ${ch}`, start);
|
|
99
|
+
throw new LexerError('RILL-L002', `Unexpected character: ${ch}`, start);
|
|
114
100
|
}
|
|
115
101
|
export function tokenize(source, baseLocation) {
|
|
116
102
|
const state = createLexerState(source, baseLocation);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../src/lexer/tokenizer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../src/lexer/tokenizer.ts"],"names":[],"mappings":"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"}
|
package/dist/parser/helpers.d.ts
CHANGED
|
@@ -9,6 +9,14 @@ import { type ParserState } from './state.js';
|
|
|
9
9
|
export declare const VALID_TYPE_NAMES: readonly ["string", "number", "bool", "closure", "list", "dict", "tuple"];
|
|
10
10
|
/** @internal */
|
|
11
11
|
export declare const FUNC_PARAM_TYPES: readonly ["string", "number", "bool"];
|
|
12
|
+
/**
|
|
13
|
+
* Check if token can be used as an identifier in function names
|
|
14
|
+
* (identifiers or keywords)
|
|
15
|
+
* @internal Exported for parser-functions.ts reuse.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isIdentifierOrKeyword(token: {
|
|
18
|
+
type: string;
|
|
19
|
+
}): boolean;
|
|
12
20
|
/**
|
|
13
21
|
* Check for function call: identifier( or namespace::func(
|
|
14
22
|
* Supports: func(), ns::func(), ns::sub::func()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/parser/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,KAAK,WAAW,EAAgC,MAAM,YAAY,CAAC;AAM5E,gBAAgB;AAChB,eAAO,MAAM,gBAAgB,2EAQnB,CAAC;AAEX,gBAAgB;AAChB,eAAO,MAAM,gBAAgB,uCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/parser/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,KAAK,WAAW,EAAgC,MAAM,YAAY,CAAC;AAM5E,gBAAgB;AAChB,eAAO,MAAM,gBAAgB,2EAQnB,CAAC;AAEX,gBAAgB;AAChB,eAAO,MAAM,gBAAgB,uCAAwC,CAAC;AAMtE;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAetE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAyBtD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAMzD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAanE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAK9D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAKxD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAMhE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAK5D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAkEvD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAKhE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAS1D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAmB9D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE1D;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,SAAS,CAAC,EAAE,GACvB,CAAC,CAUH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,UAAU,GACf,SAAS,CAwBX;AASD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,CA6BlE"}
|
package/dist/parser/helpers.js
CHANGED
|
@@ -26,9 +26,9 @@ export const FUNC_PARAM_TYPES = ['string', 'number', 'bool'];
|
|
|
26
26
|
/**
|
|
27
27
|
* Check if token can be used as an identifier in function names
|
|
28
28
|
* (identifiers or keywords)
|
|
29
|
-
* @internal
|
|
29
|
+
* @internal Exported for parser-functions.ts reuse.
|
|
30
30
|
*/
|
|
31
|
-
function isIdentifierOrKeyword(token) {
|
|
31
|
+
export function isIdentifierOrKeyword(token) {
|
|
32
32
|
return (token.type === TOKEN_TYPES.IDENTIFIER ||
|
|
33
33
|
token.type === TOKEN_TYPES.TRUE ||
|
|
34
34
|
token.type === TOKEN_TYPES.FALSE ||
|
|
@@ -39,7 +39,8 @@ function isIdentifierOrKeyword(token) {
|
|
|
39
39
|
token.type === TOKEN_TYPES.EACH ||
|
|
40
40
|
token.type === TOKEN_TYPES.MAP ||
|
|
41
41
|
token.type === TOKEN_TYPES.FOLD ||
|
|
42
|
-
token.type === TOKEN_TYPES.FILTER
|
|
42
|
+
token.type === TOKEN_TYPES.FILTER ||
|
|
43
|
+
token.type === TOKEN_TYPES.PASS);
|
|
43
44
|
}
|
|
44
45
|
/**
|
|
45
46
|
* Check for function call: identifier( or namespace::func(
|
|
@@ -232,7 +233,7 @@ export function isClosureStart(state) {
|
|
|
232
233
|
export function parseTypeName(state, validTypes) {
|
|
233
234
|
const typeToken = expect(state, TOKEN_TYPES.IDENTIFIER, 'Expected type name');
|
|
234
235
|
if (!validTypes.includes(typeToken.value)) {
|
|
235
|
-
throw new ParseError(`Invalid type: ${typeToken.value} (expected: ${validTypes.join(', ')})`, typeToken.span.start);
|
|
236
|
+
throw new ParseError('RILL-P003', `Invalid type: ${typeToken.value} (expected: ${validTypes.join(', ')})`, typeToken.span.start);
|
|
236
237
|
}
|
|
237
238
|
return typeToken.value;
|
|
238
239
|
}
|
|
@@ -252,6 +253,7 @@ export function makeBoolLiteralBlock(value, span) {
|
|
|
252
253
|
type: 'PostfixExpr',
|
|
253
254
|
primary: { type: 'BoolLiteral', value, span },
|
|
254
255
|
methods: [],
|
|
256
|
+
defaultValue: null,
|
|
255
257
|
span,
|
|
256
258
|
},
|
|
257
259
|
pipes: [],
|
|
@@ -283,7 +285,7 @@ export function parseBareHostCall(state) {
|
|
|
283
285
|
// After ::, accept identifier or keyword
|
|
284
286
|
const token = current(state);
|
|
285
287
|
if (!isIdentifierOrKeyword(token)) {
|
|
286
|
-
throw new ParseError('Expected identifier or keyword after ::', token.span.start);
|
|
288
|
+
throw new ParseError('RILL-P001', 'Expected identifier or keyword after ::', token.span.start);
|
|
287
289
|
}
|
|
288
290
|
name += '::' + token.value;
|
|
289
291
|
state.pos++; // consume the identifier or keyword
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/parser/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAoB,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5E,+DAA+D;AAC/D,mBAAmB;AACnB,+DAA+D;AAE/D,gBAAgB;AAChB,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,MAAM;IACN,OAAO;CACC,CAAC;AAEX,gBAAgB;AAChB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAEtE,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAE/D;;;;GAIG;AACH,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/parser/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAoB,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5E,+DAA+D;AAC/D,mBAAmB;AACnB,+DAA+D;AAE/D,gBAAgB;AAChB,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,MAAM;IACN,OAAO;CACC,CAAC;AAEX,gBAAgB;AAChB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAEtE,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAE/D;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAuB;IAC3D,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,UAAU;QACrC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI;QAC/B,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK;QAChC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK;QAChC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM;QACjC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM;QACjC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK;QAChC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI;QAC/B,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,GAAG;QAC9B,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI;QAC/B,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM;QACjC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAChC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAkB;IAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,CAAC,YAAY,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2BAA2B;IAC3B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAA2C;IAC3C,8CAA8C;IAC9C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7D,MAAM,EAAE,CAAC,CAAC,UAAU;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC,CAAC,+CAA+C;QAC/D,CAAC;QACD,MAAM,EAAE,CAAC,CAAC,0BAA0B;IACtC,CAAC;IAED,8CAA8C;IAC9C,OAAO,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,OAAO,CACL,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,UAAU;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,CAC3C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAkB;IACxD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAEjE,qDAAqD;IACrD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,GAAG,EAAE,CAAC;QACpD,MAAM,EAAE,CAAC,CAAC,SAAS;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QACtE,MAAM,EAAE,CAAC,CAAC,kBAAkB;IAC9B,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,OAAO,CACL,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,CAC3C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAAkB;IAC7C,OAAO,CACL,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,UAAU,CAC/C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAkB;IACrD,OAAO,CACL,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;QAC5B,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM;YACzC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ,CAAC,CAChD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IACjD,OAAO,CACL,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,CAC3C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAkB;IAC5C,iEAAiE;IACjE,IACE,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,EACzC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uEAAuE;IACvE,IACE,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,EACzC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4DAA4D;IAC5D,IACE,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,EACzC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iFAAiF;IACjF,IACE,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,EACzC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sEAAsE;IACtE,IACE,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM;QAC1C,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,EACzC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yEAAyE;IACzE,sCAAsC;IACtC,IAAI,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,8CAA8C;QAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAEpB,OAAO,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACzC,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,IAAI,KAAK,EAAE,IAAI,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAChD,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChB,mDAAmD;oBACnD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACxC,OAAO,SAAS,EAAE,IAAI,KAAK,WAAW,CAAC,KAAK,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,GAAG,EAAE,CAAC;QACR,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAkB;IACrD,OAAO,CACL,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,UAAU;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,CAC3C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,OAAO,KAAK,CACV,KAAK,EACL,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,QAAQ,CACrB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,OAAO,CACL,cAAc,CAAC,KAAK,CAAC;QACrB,cAAc,CAAC,KAAK,CAAC;QACrB,KAAK,CACH,KAAK,EACL,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,UAAU,EACtB,WAAW,CAAC,GAAG,EACf,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,EAAE,EACd,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,KAAK,CAClB,CACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAkB;IAC/C,OAAO,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,+DAA+D;AAC/D,4BAA4B;AAC5B,+DAA+D;AAE/D;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAkB,EAClB,UAAwB;IAExB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAC9E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAU,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,UAAU,CAClB,WAAW,EACX,iBAAiB,SAAS,CAAC,KAAK,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EACvE,SAAS,CAAC,IAAI,CAAC,KAAK,CACrB,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC,KAAU,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAc,EACd,IAAgB;IAEhB,OAAO;QACL,IAAI,EAAE,OAAO;QACb,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,WAAW;gBACjB,UAAU,EAAE;oBACV,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE;wBACJ,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC7C,OAAO,EAAE,EAAE;wBACX,YAAY,EAAE,IAAI;wBAClB,IAAI;qBACL;oBACD,KAAK,EAAE,EAAE;oBACT,UAAU,EAAE,IAAI;oBAChB,IAAI;iBACL;gBACD,IAAI;aACL;SACF;QACD,IAAI;KACL,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,sCAAsC;AAEtC,+DAA+D;AAC/D,yBAAyB;AACzB,+DAA+D;AAE/D;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC;IAClD,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,KAAK,CAAC;IAE9E,6CAA6C;IAC7C,OAAO,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9C,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,aAAa;QAE1B,yCAAyC;QACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,UAAU,CAClB,WAAW,EACX,yCAAyC,EACzC,KAAK,CAAC,IAAI,CAAC,KAAK,CACjB,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3B,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,oCAAoC;IACnD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI;QACJ,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC,GAAG,EAAE;KAC5D,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAK5E,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC;AAM7B;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAIhD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAK5E,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC;AAM7B;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAIhD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAkD7D;AAOD,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAGjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/parser/index.js
CHANGED
|
@@ -69,7 +69,7 @@ export function parseWithRecovery(source) {
|
|
|
69
69
|
column: 1,
|
|
70
70
|
offset: 0,
|
|
71
71
|
};
|
|
72
|
-
const parseError = new ParseError(err.message.replace(/ at line \d+, column \d+$/, ''), location);
|
|
72
|
+
const parseError = new ParseError('RILL-P001', err.message.replace(/ at line \d+, column \d+$/, ''), location);
|
|
73
73
|
// Return minimal AST with single error
|
|
74
74
|
const emptyScript = {
|
|
75
75
|
type: 'Script',
|
package/dist/parser/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAqC,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,oEAAoE;AACpE,yEAAyE;AACzE,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC;AAE7B,+DAA+D;AAC/D,mBAAmB;AACnB,+DAA+D;AAE/D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,KAAK,CAAC,MAAc;IAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,kEAAkE;IAClE,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,0EAA0E;QAC1E,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACtD,MAAM,QAAQ,GAAG,GAEhB,CAAC;YACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI;gBACpC,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,CAAC;aACV,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,UAAU,CAC/B,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,EACpD,QAAQ,CACT,CAAC;YAEF,uCAAuC;YACvC,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE;oBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;oBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;iBACvC;aACF,CAAC;YAEF,OAAO;gBACL,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,CAAC,UAAU,CAAC;gBACpB,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC,CAAC,6BAA6B;IAC1C,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAE3B,OAAO;QACL,GAAG;QACH,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,aAAa;AACb,+DAA+D;AAE/D,6BAA6B;AAC7B,OAAO,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAC;AAEjE,oCAAoC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAqC,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,oEAAoE;AACpE,yEAAyE;AACzE,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC;AAE7B,+DAA+D;AAC/D,mBAAmB;AACnB,+DAA+D;AAE/D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,KAAK,CAAC,MAAc;IAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,kEAAkE;IAClE,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,0EAA0E;QAC1E,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACtD,MAAM,QAAQ,GAAG,GAEhB,CAAC;YACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI;gBACpC,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,CAAC;aACV,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,UAAU,CAC/B,WAAW,EACX,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC,EACpD,QAAQ,CACT,CAAC;YAEF,uCAAuC;YACvC,MAAM,WAAW,GAAe;gBAC9B,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,EAAE;gBACd,IAAI,EAAE;oBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;oBACxC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;iBACvC;aACF,CAAC;YAEF,OAAO;gBACL,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,CAAC,UAAU,CAAC;gBACpB,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC,CAAC,6BAA6B;IAC1C,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;IAE3B,OAAO;QACL,GAAG;QACH,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,aAAa;AACb,+DAA+D;AAE/D,6BAA6B;AAC7B,OAAO,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAC;AAEjE,oCAAoC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -34,7 +34,7 @@ Parser.prototype.parseIteratorBody = function () {
|
|
|
34
34
|
if (check(this.state, TOKEN_TYPES.IDENTIFIER)) {
|
|
35
35
|
return parseBareHostCall(this.state);
|
|
36
36
|
}
|
|
37
|
-
throw new ParseError(`Expected collection body (closure, block, grouped, variable, spread, method, or function), got: ${current(this.state).value}`, current(this.state).span.start);
|
|
37
|
+
throw new ParseError('RILL-P001', `Expected collection body (closure, block, grouped, variable, spread, method, or function), got: ${current(this.state).value}`, current(this.state).span.start);
|
|
38
38
|
};
|
|
39
39
|
Parser.prototype.hasAccumulatorPrefix = function () {
|
|
40
40
|
if (!check(this.state, TOKEN_TYPES.LPAREN)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-collect.js","sourceRoot":"","sources":["../../src/parser/parser-collect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQrC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAcjE,+DAA+D;AAC/D,2BAA2B;AAC3B,+DAA+D;AAE/D,MAAM,CAAC,SAAS,CAAC,iBAAiB,GAAG;IACnC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,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,MAAM,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,EACvC,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED,2DAA2D;IAC3D,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;IAED,mDAAmD;IACnD,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,IAAI,UAAU,CAClB,mGAAmG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAC9H,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAC/B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,SAAS,CAAC,oBAAoB,GAAG;IACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,KAAK,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM;YAAE,KAAK,EAAE,CAAC;aAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM;YAAE,KAAK,EAAE,CAAC;QACpD,CAAC,EAAE,CAAC;IACN,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAE9B,OAAO,CACL,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM;QACtC,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC,QAAQ;QACxC,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE;QAClC,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,CACvC,CAAC;AACJ,CAAC,CAAC;AAEF,+DAA+D;AAC/D,OAAO;AACP,+DAA+D;AAE/D,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAEtD,IAAI,WAAW,GAAgC,IAAI,CAAC;IAEpD,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAChC,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC;IAC/C,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI;QACJ,WAAW;QACX,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,MAAM;AACN,+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;IAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAEpD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI;QACJ,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,OAAO;AACP,+DAA+D;AAE/D,MAAM,CAAC,SAAS,CAAC,aAAa,GAAG;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAEtD,IAAI,WAAW,GAAgC,IAAI,CAAC;IAEpD,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAChC,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC;IAC/C,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI;QACJ,WAAW;QACX,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,SAAS;AACT,+DAA+D;AAE/D,MAAM,CAAC,SAAS,CAAC,eAAe,GAAG;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAE1D,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,IAAI;QACJ,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-collect.js","sourceRoot":"","sources":["../../src/parser/parser-collect.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,7 +63,7 @@ Parser.prototype.parseLoop = function (condition) {
|
|
|
63
63
|
}
|
|
64
64
|
// While loop: cond @ body - condition is required
|
|
65
65
|
if (!condition) {
|
|
66
|
-
throw new ParseError("Bare '@' requires trailing condition: @ body ? cond (do-while)", start);
|
|
66
|
+
throw new ParseError('RILL-P004', "Bare '@' requires trailing condition: @ body ? cond (do-while)", start);
|
|
67
67
|
}
|
|
68
68
|
return {
|
|
69
69
|
type: 'WhileLoop',
|
|
@@ -86,6 +86,7 @@ Parser.prototype.parseLoopWithInput = function (condition) {
|
|
|
86
86
|
type: 'PostfixExpr',
|
|
87
87
|
primary: condition,
|
|
88
88
|
methods: [],
|
|
89
|
+
defaultValue: null,
|
|
89
90
|
span: condition.span,
|
|
90
91
|
},
|
|
91
92
|
pipes: [],
|
|
@@ -108,7 +109,7 @@ Parser.prototype.parseBlock = function () {
|
|
|
108
109
|
skipNewlines(this.state);
|
|
109
110
|
}
|
|
110
111
|
if (statements.length === 0) {
|
|
111
|
-
throw new ParseError('Empty blocks are not allowed', start);
|
|
112
|
+
throw new ParseError('RILL-P004', 'Empty blocks are not allowed', start);
|
|
112
113
|
}
|
|
113
114
|
const rbrace = expect(this.state, TOKEN_TYPES.RBRACE, 'Expected }');
|
|
114
115
|
return {
|
|
@@ -152,6 +153,7 @@ Parser.prototype.parseAssert = function () {
|
|
|
152
153
|
type: 'PostfixExpr',
|
|
153
154
|
primary: body,
|
|
154
155
|
methods: [],
|
|
156
|
+
defaultValue: null,
|
|
155
157
|
span: body.span,
|
|
156
158
|
},
|
|
157
159
|
pipes: [],
|
|
@@ -196,11 +198,11 @@ Parser.prototype.parseError = function (requireMessage = false) {
|
|
|
196
198
|
check(this.state, TOKEN_TYPES.RPAREN);
|
|
197
199
|
if (!atBoundary) {
|
|
198
200
|
// Non-string, non-delimiter token after error - invalid token type
|
|
199
|
-
throw new ParseError('error statement requires string message', current(this.state).span.start);
|
|
201
|
+
throw new ParseError('RILL-P004', 'error statement requires string message', current(this.state).span.start);
|
|
200
202
|
}
|
|
201
203
|
else if (requireMessage) {
|
|
202
204
|
// At boundary but message required (statement form, not pipe target)
|
|
203
|
-
throw new ParseError('Unexpected end of input, expected string', start);
|
|
205
|
+
throw new ParseError('RILL-P002', 'Unexpected end of input, expected string', start);
|
|
204
206
|
}
|
|
205
207
|
// else: at statement boundary without message (valid pipe target form)
|
|
206
208
|
}
|