@rcrsr/rill 0.10.0 → 0.11.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/ast-nodes.d.ts +42 -9
- package/dist/ast-nodes.d.ts.map +1 -1
- package/dist/ast-unions.d.ts +1 -1
- package/dist/ast-unions.d.ts.map +1 -1
- package/dist/error-registry.d.ts.map +1 -1
- package/dist/error-registry.js +253 -4
- package/dist/error-registry.js.map +1 -1
- package/dist/ext/crypto/index.d.ts.map +1 -1
- package/dist/ext/crypto/index.js +23 -12
- package/dist/ext/crypto/index.js.map +1 -1
- package/dist/ext/exec/index.d.ts.map +1 -1
- package/dist/ext/exec/index.js +10 -11
- package/dist/ext/exec/index.js.map +1 -1
- package/dist/ext/fetch/index.d.ts.map +1 -1
- package/dist/ext/fetch/index.js +15 -15
- package/dist/ext/fetch/index.js.map +1 -1
- package/dist/ext/fs/index.d.ts.map +1 -1
- package/dist/ext/fs/index.js +139 -47
- package/dist/ext/fs/index.js.map +1 -1
- package/dist/ext/kv/index.d.ts.map +1 -1
- package/dist/ext/kv/index.js +130 -31
- package/dist/ext/kv/index.js.map +1 -1
- package/dist/generated/introspection-data.d.ts +1 -1
- package/dist/generated/introspection-data.d.ts.map +1 -1
- package/dist/generated/introspection-data.js +109 -8
- package/dist/generated/introspection-data.js.map +1 -1
- package/dist/generated/version-data.d.ts +1 -1
- package/dist/generated/version-data.js +2 -2
- package/dist/highlight-map.d.ts.map +1 -1
- package/dist/highlight-map.js +1 -0
- package/dist/highlight-map.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lexer/readers.d.ts.map +1 -1
- package/dist/lexer/readers.js +1 -0
- package/dist/lexer/readers.js.map +1 -1
- package/dist/parser/index.d.ts +3 -1
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +4 -1
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/parser-expr.d.ts +2 -1
- package/dist/parser/parser-expr.d.ts.map +1 -1
- package/dist/parser/parser-expr.js +14 -1
- package/dist/parser/parser-expr.js.map +1 -1
- package/dist/parser/parser-extract.d.ts.map +1 -1
- package/dist/parser/parser-extract.js +10 -9
- package/dist/parser/parser-extract.js.map +1 -1
- package/dist/parser/parser-functions.js +11 -6
- package/dist/parser/parser-functions.js.map +1 -1
- package/dist/parser/parser-literals.js +2 -2
- package/dist/parser/parser-literals.js.map +1 -1
- package/dist/parser/parser-types.d.ts +8 -2
- package/dist/parser/parser-types.d.ts.map +1 -1
- package/dist/parser/parser-types.js +72 -3
- package/dist/parser/parser-types.js.map +1 -1
- package/dist/parser/parser-use.d.ts +11 -0
- package/dist/parser/parser-use.d.ts.map +1 -0
- package/dist/parser/parser-use.js +68 -0
- package/dist/parser/parser-use.js.map +1 -0
- package/dist/parser/parser-variables.d.ts.map +1 -1
- package/dist/parser/parser-variables.js +5 -4
- package/dist/parser/parser-variables.js.map +1 -1
- package/dist/runtime/core/callable.d.ts +57 -70
- package/dist/runtime/core/callable.d.ts.map +1 -1
- package/dist/runtime/core/callable.js +33 -91
- 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 +104 -33
- package/dist/runtime/core/context.js.map +1 -1
- package/dist/runtime/core/equals.js +15 -10
- package/dist/runtime/core/equals.js.map +1 -1
- package/dist/runtime/core/eval/evaluator.d.ts.map +1 -1
- package/dist/runtime/core/eval/evaluator.js +2 -1
- package/dist/runtime/core/eval/evaluator.js.map +1 -1
- package/dist/runtime/core/eval/index.d.ts +2 -2
- package/dist/runtime/core/eval/index.d.ts.map +1 -1
- package/dist/runtime/core/eval/index.js +5 -0
- package/dist/runtime/core/eval/index.js.map +1 -1
- package/dist/runtime/core/eval/mixins/closures.d.ts +3 -5
- package/dist/runtime/core/eval/mixins/closures.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/closures.js +32 -51
- package/dist/runtime/core/eval/mixins/closures.js.map +1 -1
- package/dist/runtime/core/eval/mixins/collections.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/collections.js +4 -2
- package/dist/runtime/core/eval/mixins/collections.js.map +1 -1
- package/dist/runtime/core/eval/mixins/conversion.d.ts +9 -9
- package/dist/runtime/core/eval/mixins/conversion.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/conversion.js +40 -19
- package/dist/runtime/core/eval/mixins/conversion.js.map +1 -1
- package/dist/runtime/core/eval/mixins/core.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/core.js +6 -0
- package/dist/runtime/core/eval/mixins/core.js.map +1 -1
- package/dist/runtime/core/eval/mixins/extraction.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/extraction.js +20 -8
- package/dist/runtime/core/eval/mixins/extraction.js.map +1 -1
- package/dist/runtime/core/eval/mixins/literals.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/literals.js +32 -23
- package/dist/runtime/core/eval/mixins/literals.js.map +1 -1
- package/dist/runtime/core/eval/mixins/types.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/types.js +34 -10
- package/dist/runtime/core/eval/mixins/types.js.map +1 -1
- package/dist/runtime/core/eval/mixins/use.d.ts +25 -0
- package/dist/runtime/core/eval/mixins/use.d.ts.map +1 -0
- package/dist/runtime/core/eval/mixins/use.js +152 -0
- package/dist/runtime/core/eval/mixins/use.js.map +1 -0
- package/dist/runtime/core/eval/mixins/variables.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/variables.js +64 -32
- package/dist/runtime/core/eval/mixins/variables.js.map +1 -1
- package/dist/runtime/core/execute.d.ts.map +1 -1
- package/dist/runtime/core/execute.js +10 -0
- package/dist/runtime/core/execute.js.map +1 -1
- package/dist/runtime/core/field-descriptor.d.ts +5 -5
- package/dist/runtime/core/field-descriptor.d.ts.map +1 -1
- package/dist/runtime/core/field-descriptor.js +1 -1
- package/dist/runtime/core/field-descriptor.js.map +1 -1
- package/dist/runtime/core/introspection.d.ts +16 -0
- package/dist/runtime/core/introspection.d.ts.map +1 -1
- package/dist/runtime/core/introspection.js +102 -7
- package/dist/runtime/core/introspection.js.map +1 -1
- package/dist/runtime/core/resolvers.d.ts +39 -0
- package/dist/runtime/core/resolvers.d.ts.map +1 -0
- package/dist/runtime/core/resolvers.js +89 -0
- package/dist/runtime/core/resolvers.js.map +1 -0
- package/dist/runtime/core/types.d.ts +54 -5
- package/dist/runtime/core/types.d.ts.map +1 -1
- package/dist/runtime/core/types.js.map +1 -1
- package/dist/runtime/core/values.d.ts +20 -13
- package/dist/runtime/core/values.d.ts.map +1 -1
- package/dist/runtime/core/values.js +17 -8
- package/dist/runtime/core/values.js.map +1 -1
- package/dist/runtime/ext/builtins.d.ts +3 -4
- package/dist/runtime/ext/builtins.d.ts.map +1 -1
- package/dist/runtime/ext/builtins.js +621 -444
- package/dist/runtime/ext/builtins.js.map +1 -1
- package/dist/runtime/ext/extensions.d.ts +43 -43
- package/dist/runtime/ext/extensions.d.ts.map +1 -1
- package/dist/runtime/ext/extensions.js.map +1 -1
- package/dist/runtime/index.d.ts +8 -5
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +6 -2
- package/dist/runtime/index.js.map +1 -1
- package/dist/signature-parser.d.ts +43 -0
- package/dist/signature-parser.d.ts.map +1 -0
- package/dist/signature-parser.js +289 -0
- package/dist/signature-parser.js.map +1 -0
- package/dist/token-types.d.ts +1 -0
- package/dist/token-types.d.ts.map +1 -1
- package/dist/token-types.js +1 -0
- package/dist/token-types.js.map +1 -1
- package/dist/value-types.d.ts +7 -6
- package/dist/value-types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -297,6 +297,17 @@ Two ways to create closures:
|
|
|
297
297
|
|x = 0|(\$x + 1) => \$inc_or_one # default value
|
|
298
298
|
|x: number|(\$x + 1) => \$typed # type annotation
|
|
299
299
|
|
|
300
|
+
**Anonymous typed closures:** \`|type|{ body }\` — reserved type keyword as param, \`\$\` is type-checked piped input
|
|
301
|
+
|
|
302
|
+
"hello" -> |string|{ \$ -> .upper } # \$ is string, checked at call
|
|
303
|
+
5 -> |number|{ \$ * 2 } # 10
|
|
304
|
+
|number|{ \$ * 2 }:number => \$double # stored with return type assertion
|
|
305
|
+
5 -> \$double # 10
|
|
306
|
+
"hi" -> \$double # RILL-R001: expected number, got string
|
|
307
|
+
|
|
308
|
+
All 11 type names valid: string, number, bool, list, dict, ordered, tuple, closure, vector, any, type
|
|
309
|
+
Parameterized: |list(number)|{ \$ -> each { \$ * 2 } }
|
|
310
|
+
|
|
300
311
|
**Return type assertions** (enforced at runtime — RILL-R004 on mismatch):
|
|
301
312
|
|
|
302
313
|
|x: number| { "{\$x}" }:string => \$fn # asserts string return type
|
|
@@ -305,7 +316,9 @@ Two ways to create closures:
|
|
|
305
316
|
|x: number| { \$x * 2 }:string => \$fn # mismatch halts with RILL-R004
|
|
306
317
|
\$fn(5) # RILL-R004: expected string, got number
|
|
307
318
|
|
|
308
|
-
Valid return type targets: string, number, bool, list, dict,
|
|
319
|
+
Valid return type targets: any type name (string, number, bool, closure, list, dict, tuple,
|
|
320
|
+
ordered, vector, any, type), or a parameterized type constructor (list(string),
|
|
321
|
+
dict(a: number, b: string)).
|
|
309
322
|
Declared return type accessible via \$fn.^output annotation.
|
|
310
323
|
|
|
311
324
|
**Description shorthand** (bare string in \`^(...)\` expands to \`description: <string>\`):
|
|
@@ -383,14 +396,100 @@ Note: lists require same-type elements. For mixed paths (strings and numbers), u
|
|
|
383
396
|
dict[users: list[dict[name: "Alice"]]] => \$d
|
|
384
397
|
\$d.users[0].name # "Alice"
|
|
385
398
|
|
|
386
|
-
## Type
|
|
399
|
+
## Types and Type Expressions
|
|
400
|
+
|
|
401
|
+
**Type names:**
|
|
402
|
+
|
|
403
|
+
string number bool list dict ordered
|
|
404
|
+
tuple closure vector any type
|
|
405
|
+
|
|
406
|
+
**Type names are first-class values** — assign to variables, use in dynamic expressions:
|
|
407
|
+
|
|
408
|
+
number => \$t # store a type value
|
|
409
|
+
42 -> :\$t # dynamic assertion (same as :number)
|
|
410
|
+
42 -> :?\$t # dynamic check: true
|
|
411
|
+
42 -> :>\$t # dynamic conversion (same as :>number)
|
|
412
|
+
\$val.^type == \$t # compare against stored type
|
|
413
|
+
|
|
414
|
+
**Parameterized type constructors** (structural types):
|
|
415
|
+
|
|
416
|
+
list(string) # list of strings
|
|
417
|
+
dict(name: string, age: number) # dict with named fields
|
|
418
|
+
tuple(number, string) # positional tuple
|
|
419
|
+
ordered(x: number, y: number) # named ordered args
|
|
420
|
+
|x: number, y: string| :any # closure signature type
|
|
421
|
+
|
|
422
|
+
Closure signatures include parameter names — \`|x: number|\` and \`|y: number|\` are different types.
|
|
423
|
+
|
|
424
|
+
**Type assertion** \`:type\` — errors if value does not match:
|
|
425
|
+
|
|
426
|
+
42:number # passes
|
|
427
|
+
"x":number # RILL-R002: expected number, got string
|
|
428
|
+
\$val:list(string) # assert parameterized type
|
|
429
|
+
|
|
430
|
+
**Enforcing dict shapes** with \`dict(field: type, ...)\`:
|
|
431
|
+
|
|
432
|
+
\$data -> :dict(name: string, age: number) # assert exact fields and types
|
|
433
|
+
\$data:?dict(name: string, age: number) # check without error
|
|
434
|
+
\$data:dict(name: string) -> .name # assert then access
|
|
435
|
+
|
|
436
|
+
Use in closure params to validate input structure:
|
|
437
|
+
|
|
438
|
+
|d: dict(name: string, age: number)| {
|
|
439
|
+
"{\$d.name} is {\$d.age}"
|
|
440
|
+
} => \$format_person
|
|
441
|
+
|
|
442
|
+
**Type check** \`:?type\` — returns boolean, never errors:
|
|
443
|
+
|
|
444
|
+
42:?number # true
|
|
445
|
+
"x":?number # false
|
|
446
|
+
\$val:?list(string) # structural check
|
|
447
|
+
|
|
448
|
+
Both forms work as pipe targets:
|
|
449
|
+
|
|
450
|
+
\$val -> :number # assert in pipe
|
|
451
|
+
\$val -> :?number # check in pipe
|
|
452
|
+
|
|
453
|
+
**\`^type\` operator** — returns a type value for inspection:
|
|
454
|
+
|
|
455
|
+
42.^type # type value for number
|
|
456
|
+
42.^type.name # "number"
|
|
457
|
+
list[1, 2].^type.name # "list"
|
|
458
|
+
list[1, 2].^type.signature # "list(number)"
|
|
459
|
+
|
|
460
|
+
**Type value equality:**
|
|
461
|
+
|
|
462
|
+
\$val.^type == list(number) # true if \$val is list(number)
|
|
463
|
+
\$val.^type == \$other.^type # compare structural types
|
|
464
|
+
|
|
465
|
+
**Type conversion** \`:>type\` — explicit conversion between compatible types:
|
|
466
|
+
|
|
467
|
+
42 -> :>string # "42"
|
|
468
|
+
"3.14" -> :>number # 3.14
|
|
469
|
+
list[1, 2] -> :>tuple # tuple[1, 2]
|
|
470
|
+
tuple[1, 2] -> :>list # list[1, 2]
|
|
471
|
+
ordered[a: 1] -> :>dict # dict[a: 1]
|
|
472
|
+
dict[x: 1, y: 2] -> :>ordered(x: number, y: number) # structural
|
|
473
|
+
|
|
474
|
+
Compatibility matrix (error = halts with RILL-R036, no-op = same-type identity):
|
|
387
475
|
|
|
388
|
-
|
|
389
|
-
|
|
476
|
+
Source | :>list | :>dict | :>tuple | :>ordered(sig) | :>number | :>string | :>bool
|
|
477
|
+
---------|---------|---------|---------|----------------|----------|----------|-------
|
|
478
|
+
list | no-op | error | valid | error | error | valid¹ | error
|
|
479
|
+
dict | error | no-op | error | valid | error | valid¹ | error
|
|
480
|
+
tuple | valid | error | no-op | error | error | valid¹ | error
|
|
481
|
+
ordered | error | valid | error | no-op | error | valid¹ | error
|
|
482
|
+
string | error | error | error | error | valid² | no-op | valid³
|
|
483
|
+
number | error | error | error | error | no-op | valid¹ | valid⁵
|
|
484
|
+
bool | error | error | error | error | valid⁴ | valid¹ | no-op
|
|
390
485
|
|
|
391
|
-
|
|
486
|
+
¹ Uses formatValue semantics for formatted output
|
|
487
|
+
² Parseable strings only; halts with RILL-R038 on failure
|
|
488
|
+
³ Accepts only "true" and "false"; halts with RILL-R036 otherwise
|
|
489
|
+
⁴ true maps to 1, false maps to 0
|
|
490
|
+
⁵ 0 maps to false, 1 maps to true; all other values halt with RILL-R036
|
|
392
491
|
|
|
393
|
-
Comparison
|
|
492
|
+
## Comparison Methods
|
|
394
493
|
|
|
395
494
|
.eq(val) == .ne(val) != .lt(val) < .gt(val) > .le(val) <= .ge(val) >=
|
|
396
495
|
Example: \$age -> .ge(18) ? "adult" ! "minor"
|
|
@@ -438,6 +537,10 @@ Slice (\`slice<start:stop:step>\`):
|
|
|
438
537
|
tuple[1, 2, 3] -> \$fn(...) # positional spread: \$fn(1, 2, 3)
|
|
439
538
|
ordered[a: 10, b: 2] -> \$fn(...) # named spread: keys must match parameter order
|
|
440
539
|
tuple[...\$list, 3] -> \$fn(...) # spread in tuple then spread into call
|
|
540
|
+
tuple[1, 2, 3] => \$args
|
|
541
|
+
\$args -> \$fn(...) # spread stored tuple
|
|
542
|
+
ordered[a: 1, b: 2] => \$named
|
|
543
|
+
\$named -> \$fn(...) # spread stored ordered
|
|
441
544
|
|
|
442
545
|
## String Methods
|
|
443
546
|
|
|
@@ -448,8 +551,6 @@ Slice (\`slice<start:stop:step>\`):
|
|
|
448
551
|
| \`.trim\` | remove whitespace |
|
|
449
552
|
| \`.upper\` | uppercase |
|
|
450
553
|
| \`.lower\` | lowercase |
|
|
451
|
-
| \`.str\` | convert to string |
|
|
452
|
-
| \`.num\` | parse to number |
|
|
453
554
|
| \`.head\` | first character |
|
|
454
555
|
| \`.tail\` | last character |
|
|
455
556
|
| \`.at(i)\` | character at index |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspection-data.js","sourceRoot":"","sources":["../../src/generated/introspection-data.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,mFAAmF;AAEnF,MAAM,CAAC,MAAM,kBAAkB,GAAG
|
|
1
|
+
{"version":3,"file":"introspection-data.js","sourceRoot":"","sources":["../../src/generated/introspection-data.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,mFAAmF;AAEnF,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgqBjC,CAAC"}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* Version string from package.json
|
|
5
5
|
*/
|
|
6
|
-
export const VERSION = '0.
|
|
6
|
+
export const VERSION = '0.11.0';
|
|
7
7
|
/**
|
|
8
8
|
* Parsed version components
|
|
9
9
|
*/
|
|
10
10
|
export const VERSION_INFO = {
|
|
11
11
|
major: 0,
|
|
12
|
-
minor:
|
|
12
|
+
minor: 11,
|
|
13
13
|
patch: 0,
|
|
14
14
|
prerelease: undefined,
|
|
15
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"highlight-map.d.ts","sourceRoot":"","sources":["../src/highlight-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,SAAS,GACT,cAAc,GACd,aAAa,GACb,SAAS,GACT,MAAM,CAAC;AAMX,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,SAAS,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"highlight-map.d.ts","sourceRoot":"","sources":["../src/highlight-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,SAAS,GACT,cAAc,GACd,aAAa,GACb,SAAS,GACT,MAAM,CAAC;AAMX,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,SAAS,EAAE,iBAAiB,CAmFtE,CAAC"}
|
package/dist/highlight-map.js
CHANGED
|
@@ -1 +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,oBAAoB;IACpB,CAAC,eAAe,EAAE,SAAS,CAAC;IAC5B,CAAC,eAAe,EAAE,SAAS,CAAC;IAC5B,CAAC,gBAAgB,EAAE,SAAS,CAAC;IAC7B,CAAC,kBAAkB,EAAE,SAAS,CAAC;IAC/B,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAC9B,CAAC,cAAc,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"highlight-map.js","sourceRoot":"","sources":["../src/highlight-map.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
export { LexerError, tokenize, type TokenizeOptions } 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
|
|
8
|
+
export { type ApplicationCallable, BreakSignal, callable, type CallableFn, type CallFrame, type CaptureEvent, type ConfigFieldDescriptor, createRuntimeContext, createStepper, createTuple, createVector, type DocumentationCoverageResult, emitExtensionEvent, extResolver, type ErrorEvent, execute, type ExecutionResult, type ExecutionStepper, type ExtensionConfigSchema, type ExtensionEvent, type ExtensionFactory, type ExtensionResult, type FsExtensionContract, type FunctionMetadata, hoistExtension, type HoistedExtension, type HostCallEvent, type FunctionReturnEvent, getCallStack, generateManifest, getDocumentationCoverage, getFunctions, getLanguageReference, buildFieldDescriptor, formatStructuralType, inferElementType, inferStructuralType, inferType, invokeCallable, isApplicationCallable, moduleResolver, isTuple, isCallable, isDict, isReservedMethod, isRillIterator, isRuntimeCallable, isScriptCallable, isTypeValue, isVector, type KvExtensionContract, type NativeArray, type NativePlainObject, type NativeResult, type NativeValue, type LlmExtensionContract, type SchemaEntry, type ObservabilityCallbacks, type ParamMetadata, popCallFrame, prefixFunctions, pushCallFrame, RESERVED_DICT_METHODS, ReturnSignal, type RillCallable, type RillCallableSignature, type RillFunction, type RillFunctionSignature, type RillMethodSignature, type RillParam, type RillIterator, type RillTuple, type RillType, type RillTypeValue, type RillValue, type RillVector, type RuntimeCallable, type ResolverResult, type RuntimeCallbacks, type RuntimeContext, type RuntimeOptions, type SchemeResolver, type ScriptCallable, type StepEndEvent, type StepResult, type StepStartEvent, type VectorExtensionContract, structuralTypeEquals, structuralTypeMatches, toNative, VERSION, VERSION_INFO, type VersionInfo, } from './runtime/index.js';
|
|
9
|
+
/** @deprecated Use RillType instead. Will be removed in the next major version. */
|
|
10
|
+
export type { RillStructuralType } from './runtime/index.js';
|
|
9
11
|
export { type ErrorCategory, type ErrorDefinition, type ErrorSeverity, ERROR_REGISTRY, renderMessage, getHelpUrl, createError, } from './types.js';
|
|
10
12
|
export { VALID_TYPE_NAMES } from './constants.js';
|
|
11
13
|
export { type HighlightCategory, TOKEN_HIGHLIGHT_MAP, } from './highlight-map.js';
|
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,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9E,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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9E,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,KAAK,qBAAqB,EAC1B,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,KAAK,2BAA2B,EAChC,kBAAkB,EAClB,WAAW,EACX,KAAK,UAAU,EACf,OAAO,EACP,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,OAAO,EACP,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,oBAAoB,EACpB,qBAAqB,EACrB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAE5B,mFAAmF;AACnF,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAK7D,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAKpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKlD,OAAO,EACL,KAAK,iBAAiB,EACtB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
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, createTuple, createVector, emitExtensionEvent, execute, hoistExtension, getCallStack, getDocumentationCoverage, getFunctions, getLanguageReference, buildFieldDescriptor, formatStructuralType, inferElementType, inferStructuralType, inferType, invokeCallable, isApplicationCallable, isTuple, isCallable, isDict, isReservedMethod, isRillIterator, isRuntimeCallable, isScriptCallable, isTypeValue, isVector, popCallFrame, prefixFunctions, pushCallFrame, RESERVED_DICT_METHODS, ReturnSignal, structuralTypeEquals, structuralTypeMatches, toNative,
|
|
7
|
+
export { BreakSignal, callable, createRuntimeContext, createStepper, createTuple, createVector, emitExtensionEvent, extResolver, execute, hoistExtension, getCallStack, generateManifest, getDocumentationCoverage, getFunctions, getLanguageReference, buildFieldDescriptor, formatStructuralType, inferElementType, inferStructuralType, inferType, invokeCallable, isApplicationCallable, moduleResolver, isTuple, isCallable, isDict, isReservedMethod, isRillIterator, isRuntimeCallable, isScriptCallable, isTypeValue, isVector, popCallFrame, prefixFunctions, pushCallFrame, RESERVED_DICT_METHODS, ReturnSignal, structuralTypeEquals, structuralTypeMatches, toNative, VERSION, VERSION_INFO, } from './runtime/index.js';
|
|
8
8
|
// ============================================================
|
|
9
9
|
// ERROR TAXONOMY
|
|
10
10
|
// ============================================================
|
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,EAAwB,MAAM,kBAAkB,CAAC;AAC9E,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,EAAwB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAEL,WAAW,EACX,QAAQ,EAKR,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,YAAY,EAEZ,kBAAkB,EAClB,WAAW,EAEX,OAAO,EASP,cAAc,EAId,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,OAAO,EACP,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,QAAQ,EAUR,YAAY,EACZ,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,YAAY,EAwBZ,oBAAoB,EACpB,qBAAqB,EACrB,QAAQ,EACR,OAAO,EACP,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAK5B,+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,YAAY;AACZ,+DAA+D;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,+DAA+D;AAC/D,sBAAsB;AACtB,+DAA+D;AAC/D,OAAO,EAEL,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,YAAY,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,SAAS,EAAE,MAAM,aAAa,CAAC;AAUpD,OAAO,EAIL,KAAK,UAAU,EAEhB,MAAM,YAAY,CAAC;AAMpB,uDAAuD;AACvD,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;
|
|
1
|
+
{"version":3,"file":"readers.d.ts","sourceRoot":"","sources":["../../src/lexer/readers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAUpD,OAAO,EAIL,KAAK,UAAU,EAEhB,MAAM,YAAY,CAAC;AAMpB,uDAAuD;AACvD,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAmBF,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,aAAa,GAAG,IAAI,CAatB;AAyBD,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,CAmCvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAiBrD"}
|
package/dist/lexer/readers.js
CHANGED
|
@@ -18,6 +18,7 @@ const COMPOUND_KEYWORD_MAP = {
|
|
|
18
18
|
ordered: { bracket: '[', tokenType: TOKEN_TYPES.ORDERED_LBRACKET },
|
|
19
19
|
destruct: { bracket: '<', tokenType: TOKEN_TYPES.DESTRUCT_LANGLE },
|
|
20
20
|
slice: { bracket: '<', tokenType: TOKEN_TYPES.SLICE_LANGLE },
|
|
21
|
+
use: { bracket: '<', tokenType: TOKEN_TYPES.USE_LANGLE },
|
|
21
22
|
};
|
|
22
23
|
/** Returns true when the identifier is one of the six collection keywords. */
|
|
23
24
|
export function isCollectionKeyword(identifier) {
|
|
@@ -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;AAapB;;;GAGG;AACH,MAAM,oBAAoB,GAGtB;IACF,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,aAAa,EAAE;IAC5D,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,aAAa,EAAE;IAC5D,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,cAAc,EAAE;IAC9D,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,gBAAgB,EAAE;IAClE,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,eAAe,EAAE;IAClE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,YAAY,EAAE;
|
|
1
|
+
{"version":3,"file":"readers.js","sourceRoot":"","sources":["../../src/lexer/readers.ts"],"names":[],"mappings":"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"}
|
package/dist/parser/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ import './parser-functions.js';
|
|
|
12
12
|
import './parser-collect.js';
|
|
13
13
|
import './parser-extract.js';
|
|
14
14
|
import './parser-shape.js';
|
|
15
|
+
import './parser-use.js';
|
|
15
16
|
/**
|
|
16
17
|
* Parse rill source code into an AST.
|
|
17
18
|
*
|
|
@@ -45,6 +46,7 @@ export declare function parse(source: string): ScriptNode;
|
|
|
45
46
|
* ```
|
|
46
47
|
*/
|
|
47
48
|
export declare function parseWithRecovery(source: string): ParseResult;
|
|
48
|
-
export { createParserState, type ParserState } from './state.js';
|
|
49
|
+
export { createParserState, type ParserState, advance, check, current, expect, skipNewlines, isAtEnd, } from './state.js';
|
|
50
|
+
export { parseTypeRef } from './parser-types.js';
|
|
49
51
|
export { Parser } from './parser.js';
|
|
50
52
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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;AAC7B,OAAO,mBAAmB,CAAC;
|
|
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;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;AAMzB;;;;;;;;;;;;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,EACL,iBAAiB,EACjB,KAAK,WAAW,EAChB,OAAO,EACP,KAAK,EACL,OAAO,EACP,MAAM,EACN,YAAY,EACZ,OAAO,GACR,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/parser/index.js
CHANGED
|
@@ -16,6 +16,7 @@ import './parser-functions.js';
|
|
|
16
16
|
import './parser-collect.js';
|
|
17
17
|
import './parser-extract.js';
|
|
18
18
|
import './parser-shape.js';
|
|
19
|
+
import './parser-use.js';
|
|
19
20
|
// ============================================================
|
|
20
21
|
// MAIN ENTRY POINT
|
|
21
22
|
// ============================================================
|
|
@@ -101,7 +102,9 @@ export function parseWithRecovery(source) {
|
|
|
101
102
|
// RE-EXPORTS
|
|
102
103
|
// ============================================================
|
|
103
104
|
// State (for advanced usage)
|
|
104
|
-
export { createParserState } from './state.js';
|
|
105
|
+
export { createParserState, advance, check, current, expect, skipNewlines, isAtEnd, } from './state.js';
|
|
106
|
+
// Type parsing (for advanced usage)
|
|
107
|
+
export { parseTypeRef } from './parser-types.js';
|
|
105
108
|
// Parser class (for advanced usage)
|
|
106
109
|
export { Parser } from './parser.js';
|
|
107
110
|
//# sourceMappingURL=index.js.map
|
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;AAC7B,OAAO,mBAAmB,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;AAC7B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,iBAAiB,CAAC;AAEzB,+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,EACL,iBAAiB,EAEjB,OAAO,EACP,KAAK,EACL,OAAO,EACP,MAAM,EACN,YAAY,EACZ,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,oCAAoC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,oCAAoC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Parser Extension: Expression Parsing
|
|
3
3
|
* Expressions, precedence chain, pipe chains, and pipe targets
|
|
4
4
|
*/
|
|
5
|
-
import type { ArithHead, BlockNode, CaptureNode, ClosureSigLiteralNode, ConditionalNode, ConvertNode, DoWhileLoopNode, ExpressionNode, WhileLoopNode, GroupedExprNode, InvokeNode, PipeChainNode, PipeTargetNode, PostfixExprNode, PrimaryNode, SourceLocation, SourceSpan, UnaryExprNode } from '../types.js';
|
|
5
|
+
import type { ArithHead, BlockNode, CaptureNode, ClosureSigLiteralNode, ConditionalNode, ConvertNode, DoWhileLoopNode, ExpressionNode, WhileLoopNode, GroupedExprNode, InvokeNode, PipeChainNode, PipeTargetNode, PostfixExprNode, PrimaryNode, SourceLocation, SourceSpan, UnaryExprNode, UseExprNode } from '../types.js';
|
|
6
6
|
/** Constructs valid as both primary expressions and pipe targets */
|
|
7
7
|
type CommonConstruct = ConditionalNode | WhileLoopNode | DoWhileLoopNode | BlockNode | GroupedExprNode;
|
|
8
8
|
declare module './parser.js' {
|
|
@@ -33,6 +33,7 @@ declare module './parser.js' {
|
|
|
33
33
|
wrapLoopInPostfixExpr(loop: WhileLoopNode | DoWhileLoopNode, span: SourceSpan): PostfixExprNode;
|
|
34
34
|
parseClosureSigLiteral(): ClosureSigLiteralNode;
|
|
35
35
|
parseConvert(): ConvertNode;
|
|
36
|
+
parseUseExpr(): UseExprNode;
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-expr.d.ts","sourceRoot":"","sources":["../../src/parser/parser-expr.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAGV,SAAS,EAET,SAAS,EAET,WAAW,EAEX,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,eAAe,EACf,cAAc,EACd,aAAa,EACb,eAAe,EACf,UAAU,EAEV,aAAa,EACb,cAAc,EACd,eAAe,EACf,WAAW,EAGX,cAAc,EACd,UAAU,EAIV,aAAa,
|
|
1
|
+
{"version":3,"file":"parser-expr.d.ts","sourceRoot":"","sources":["../../src/parser/parser-expr.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAGV,SAAS,EAET,SAAS,EAET,WAAW,EAEX,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,eAAe,EACf,cAAc,EACd,aAAa,EACb,eAAe,EACf,UAAU,EAEV,aAAa,EACb,cAAc,EACd,eAAe,EACf,WAAW,EAGX,cAAc,EACd,UAAU,EAIV,aAAa,EACb,WAAW,EAEZ,MAAM,aAAa,CAAC;AA4BrB,oEAAoE;AACpE,KAAK,eAAe,GAChB,eAAe,GACf,aAAa,GACb,eAAe,GACf,SAAS,GACT,eAAe,CAAC;AAGpB,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,MAAM;QACd,eAAe,IAAI,cAAc,CAAC;QAClC,cAAc,IAAI,aAAa,CAAC;QAChC,gBAAgB,IAAI,eAAe,CAAC;QACpC,oBAAoB,IAAI,eAAe,CAAC;QACxC,YAAY,IAAI,WAAW,CAAC;QAC5B,eAAe,IAAI,cAAc,CAAC;QAClC,YAAY,IAAI,WAAW,CAAC;QAC5B,YAAY,IAAI,eAAe,CAAC;QAChC,oBAAoB,IAAI,eAAe,GAAG,IAAI,CAAC;QAC/C,cAAc,IAAI,SAAS,CAAC;QAC5B,eAAe,IAAI,SAAS,CAAC;QAC7B,eAAe,IAAI,SAAS,CAAC;QAC7B,aAAa,IAAI,SAAS,CAAC;QAC3B,mBAAmB,IAAI,SAAS,CAAC;QACjC,UAAU,IAAI,aAAa,GAAG,eAAe,CAAC;QAC9C,WAAW,IAAI,UAAU,CAAC;QAC1B,eAAe,CAAC,IAAI,EAAE;YACpB,KAAK,EAAE,cAAc,CAAC;YACtB,GAAG,EAAE,cAAc,CAAC;SACrB,GAAG,eAAe,CAAC;QACpB,cAAc,IAAI,OAAO,CAAC;QAC1B,mBAAmB,CACjB,SAAS,EAAE,MAAM,GAChB,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;QACzC,4BAA4B,CAC1B,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,UAAU,GACf,eAAe,CAAC;QACnB,qBAAqB,CACnB,IAAI,EAAE,aAAa,GAAG,eAAe,EACrC,IAAI,EAAE,UAAU,GACf,eAAe,CAAC;QACnB,sBAAsB,IAAI,qBAAqB,CAAC;QAChD,YAAY,IAAI,WAAW,CAAC;QAC5B,YAAY,IAAI,WAAW,CAAC;KAC7B;CACF"}
|
|
@@ -214,6 +214,11 @@ Parser.prototype.parsePipeChain = function () {
|
|
|
214
214
|
terminator = { type: 'Return', span: token.span };
|
|
215
215
|
break;
|
|
216
216
|
}
|
|
217
|
+
// Guard against removed -> export syntax
|
|
218
|
+
if (check(this.state, TOKEN_TYPES.IDENTIFIER) &&
|
|
219
|
+
current(this.state).value === 'export') {
|
|
220
|
+
throw new ParseError('RILL-P012', 'Syntax removed: -> export syntax removed; use last-expression result instead', current(this.state).span.start);
|
|
221
|
+
}
|
|
217
222
|
// -> always pipes/invokes, never captures
|
|
218
223
|
// Use => for captures: "hello" => $var
|
|
219
224
|
// parsePipeTarget handles all cases including bare $var (closure invoke)
|
|
@@ -496,7 +501,7 @@ Parser.prototype.parsePrimary = function () {
|
|
|
496
501
|
// e.g. `list [` or `ordered [` — the lexer only emits compound tokens (LIST_LBRACKET etc.)
|
|
497
502
|
// when there is NO whitespace. If whitespace separates them, we get IDENTIFIER + LBRACKET/LT.
|
|
498
503
|
const COMPOUND_KEYWORDS_WITH_BRACKET = ['list', 'dict', 'tuple', 'ordered'];
|
|
499
|
-
const COMPOUND_KEYWORDS_WITH_ANGLE = ['destruct', 'slice'];
|
|
504
|
+
const COMPOUND_KEYWORDS_WITH_ANGLE = ['destruct', 'slice', 'use'];
|
|
500
505
|
if (check(this.state, TOKEN_TYPES.IDENTIFIER)) {
|
|
501
506
|
const identValue = current(this.state).value;
|
|
502
507
|
const nextTokType = peek(this.state, 1).type;
|
|
@@ -602,6 +607,10 @@ Parser.prototype.parsePrimary = function () {
|
|
|
602
607
|
if (check(this.state, TOKEN_TYPES.LBRACKET)) {
|
|
603
608
|
return this.parseTupleOrDict();
|
|
604
609
|
}
|
|
610
|
+
// Use expression: use<identifier>
|
|
611
|
+
if (check(this.state, TOKEN_TYPES.USE_LANGLE)) {
|
|
612
|
+
return this.parseUseExpr();
|
|
613
|
+
}
|
|
605
614
|
// Common constructs
|
|
606
615
|
const common = this.parseCommonConstruct();
|
|
607
616
|
if (common)
|
|
@@ -642,6 +651,10 @@ Parser.prototype.parsePipeTarget = function () {
|
|
|
642
651
|
if (check(this.state, TOKEN_TYPES.SLICE_LANGLE)) {
|
|
643
652
|
return this.parseSlice();
|
|
644
653
|
}
|
|
654
|
+
// Use expression: use<identifier>
|
|
655
|
+
if (check(this.state, TOKEN_TYPES.USE_LANGLE)) {
|
|
656
|
+
return this.parseUseExpr();
|
|
657
|
+
}
|
|
645
658
|
// Collection operators
|
|
646
659
|
if (check(this.state, TOKEN_TYPES.EACH)) {
|
|
647
660
|
return this.parseEachExpr();
|