@kernlang/core 3.4.0 → 3.4.2-canary.3.1.6b4cbb13
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/codegen/body-ts.d.ts +68 -0
- package/dist/codegen/body-ts.js +233 -0
- package/dist/codegen/body-ts.js.map +1 -0
- package/dist/codegen/functions.js +19 -2
- package/dist/codegen/functions.js.map +1 -1
- package/dist/codegen/kern-stdlib.d.ts +63 -0
- package/dist/codegen/kern-stdlib.js +160 -0
- package/dist/codegen/kern-stdlib.js.map +1 -0
- package/dist/codegen/stdlib-preamble.d.ts +19 -0
- package/dist/codegen/stdlib-preamble.js +62 -4
- package/dist/codegen/stdlib-preamble.js.map +1 -1
- package/dist/codegen/type-system.js +15 -1
- package/dist/codegen/type-system.js.map +1 -1
- package/dist/codegen-core.js +7 -0
- package/dist/codegen-core.js.map +1 -1
- package/dist/codegen-expression.d.ts +8 -0
- package/dist/codegen-expression.js +111 -5
- package/dist/codegen-expression.js.map +1 -1
- package/dist/decompiler.js +219 -0
- package/dist/decompiler.js.map +1 -1
- package/dist/index.d.ts +14 -1
- package/dist/index.js +16 -1
- package/dist/index.js.map +1 -1
- package/dist/native-eligibility.d.ts +69 -0
- package/dist/native-eligibility.js +155 -0
- package/dist/native-eligibility.js.map +1 -0
- package/dist/node-props.d.ts +4 -0
- package/dist/node-props.js.map +1 -1
- package/dist/parser-core.d.ts +7 -1
- package/dist/parser-core.js +5 -2
- package/dist/parser-core.js.map +1 -1
- package/dist/parser-diagnostics.js +6 -2
- package/dist/parser-diagnostics.js.map +1 -1
- package/dist/parser-expression.d.ts +8 -3
- package/dist/parser-expression.js +293 -5
- package/dist/parser-expression.js.map +1 -1
- package/dist/parser-keywords.js +16 -0
- package/dist/parser-keywords.js.map +1 -1
- package/dist/parser-validate-native-eligible.d.ts +21 -0
- package/dist/parser-validate-native-eligible.js +46 -0
- package/dist/parser-validate-native-eligible.js.map +1 -0
- package/dist/parser-validate-propagation.d.ts +105 -0
- package/dist/parser-validate-propagation.js +684 -0
- package/dist/parser-validate-propagation.js.map +1 -0
- package/dist/parser.d.ts +10 -3
- package/dist/parser.js +11 -5
- package/dist/parser.js.map +1 -1
- package/dist/schema.js +199 -13
- package/dist/schema.js.map +1 -1
- package/dist/semantic-validator.js +9 -5
- package/dist/semantic-validator.js.map +1 -1
- package/dist/spec.d.ts +2 -2
- package/dist/spec.js +13 -1
- package/dist/spec.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/value-ir.d.ts +27 -0
- package/dist/value-ir.js +6 -1
- package/dist/value-ir.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/** Native KERN handler body eligibility classifier — slice 5a foundation.
|
|
2
|
+
*
|
|
3
|
+
* Given a raw `<<<...>>>` handler body, determines whether it could compile
|
|
4
|
+
* under `lang="kern"` opt-in WITHOUT manual rewrite. Used by:
|
|
5
|
+
*
|
|
6
|
+
* 1. The compiler diagnostic layer (parser-validate-propagation siblings)
|
|
7
|
+
* to surface `info`-level hints suggesting opt-in.
|
|
8
|
+
* 2. The future `kern migrate native-handlers` CLI (slice 5b) to bulk-convert.
|
|
9
|
+
* 3. Empirical scans of real-world repos (e.g. Agon-AI) to measure the
|
|
10
|
+
* practical adoption ceiling for native bodies.
|
|
11
|
+
*
|
|
12
|
+
* The classifier is INTENTIONALLY HEURISTIC — full eligibility requires the
|
|
13
|
+
* type-aware AST walk that slice 5b's rewriter performs. False positives here
|
|
14
|
+
* surface as compile errors when the user opts in; false negatives just
|
|
15
|
+
* deflate the suggestion rate. We err toward false negatives so the
|
|
16
|
+
* diagnostic stays trustworthy ("if I see this hint, opting in WILL work").
|
|
17
|
+
*
|
|
18
|
+
* Slice 4d update: removed `try` / `catch` / `throw` / `finally`, `new`
|
|
19
|
+
* keyword, and `??` walrus from the disqualifier list — those landed in
|
|
20
|
+
* slice 4c+4d ship. Object spread is allowed; argument spread (`f(...x)`)
|
|
21
|
+
* is still gated since slice 4d only lowered the object-literal form.
|
|
22
|
+
*/
|
|
23
|
+
/** Patterns that disqualify a raw JS-like body from compiling under
|
|
24
|
+
* `lang="kern"` without manual rewrite. Order doesn't affect correctness
|
|
25
|
+
* but the first match wins and is reported as the `reason`. */
|
|
26
|
+
const NEG_PATTERNS = [
|
|
27
|
+
/=>/,
|
|
28
|
+
/\bfunction\b/,
|
|
29
|
+
/\bclass\s+\w/,
|
|
30
|
+
/\byield\b/,
|
|
31
|
+
/\bfor\s*\(/,
|
|
32
|
+
/\bwhile\s*\(/,
|
|
33
|
+
/\bdo\s*\{/,
|
|
34
|
+
/\bswitch\s*\(/,
|
|
35
|
+
/\btypeof\b/,
|
|
36
|
+
/\binstanceof\b/,
|
|
37
|
+
/^\s*import\b/m,
|
|
38
|
+
/\brequire\(/,
|
|
39
|
+
// Destructuring declarations — slice 4d only supports `let name=X value=EXPR`
|
|
40
|
+
// single-binding form. `const { a, b } = obj` and `let [x, y] = arr` would
|
|
41
|
+
// need the slice 5b rewriter to expand into multiple let-bindings.
|
|
42
|
+
/\b(?:const|let|var)\s*[{[]/,
|
|
43
|
+
// Mutation / re-assignment — slice 4d's `let` lowers to `const`, and the
|
|
44
|
+
// expression parser explicitly rejects `=` in expressions. Caught: `x++`,
|
|
45
|
+
// `++x`, `x += 1`, `x -= 1`, `x *= 2`, `x /= 2`, `x %= 2`, `obj.x = 1`,
|
|
46
|
+
// `arr[i] = v`, `delete obj.x`. Bare ident reassignment (`x = 1`) needs
|
|
47
|
+
// line-leading detection to avoid colliding with `const x = 1` declarations.
|
|
48
|
+
/\+\+|--/,
|
|
49
|
+
/[+\-*/%]=/,
|
|
50
|
+
/^\s*\w+(?:\.\w+|\[[^\]]+\])+\s*=[^=]/m,
|
|
51
|
+
/^\s*\w+\s*=[^=>]/m,
|
|
52
|
+
/\bdelete\s/,
|
|
53
|
+
// Indexing (`xs[0]`, `arr[i]`, `arr[0][1]`) — slice 4d's expression parser
|
|
54
|
+
// rejects lbracket in `parseCall`. Pattern matches an ident-char or `]`
|
|
55
|
+
// immediately followed by `[`, no whitespace. Standalone array literals
|
|
56
|
+
// (`[1, 2, 3]`) and `return [...]` (keyword + space + `[`) are not
|
|
57
|
+
// matched because they don't have an ident-char directly adjacent to `[`.
|
|
58
|
+
/[\w\]]\[/,
|
|
59
|
+
// Other operators / keywords that slice 4d does not lower
|
|
60
|
+
/\bvoid\s/,
|
|
61
|
+
/\bdebugger\b/,
|
|
62
|
+
/\bwith\s*\(/,
|
|
63
|
+
/\beval\s*\(/,
|
|
64
|
+
/\bthis\.\w+\s*=/,
|
|
65
|
+
/\bconsole\.\w/,
|
|
66
|
+
/\bprocess\.\w/,
|
|
67
|
+
/\bBuffer\b/,
|
|
68
|
+
/\bglobalThis\b/,
|
|
69
|
+
/\bres\.\w/,
|
|
70
|
+
/\breq\.\w/,
|
|
71
|
+
/\bnext\(/,
|
|
72
|
+
/\bJSON\.\w/,
|
|
73
|
+
/\(\s*\.{3}/,
|
|
74
|
+
/\/\w+\/[gimsy]*/,
|
|
75
|
+
];
|
|
76
|
+
/** Classify a single raw body. */
|
|
77
|
+
export function classifyHandlerBody(rawBody) {
|
|
78
|
+
const trimmed = rawBody.trim();
|
|
79
|
+
if (trimmed === '')
|
|
80
|
+
return { eligible: true, reason: 'empty' };
|
|
81
|
+
for (const pat of NEG_PATTERNS) {
|
|
82
|
+
if (pat.test(rawBody))
|
|
83
|
+
return { eligible: false, reason: pat.source };
|
|
84
|
+
}
|
|
85
|
+
return { eligible: true, reason: 'no-disqualifier' };
|
|
86
|
+
}
|
|
87
|
+
/** Walk a `.kern` source file's text and pull out every `<<< … >>>` body,
|
|
88
|
+
* preserving line positions. Mirrors the behaviour of `parser-core.ts`
|
|
89
|
+
* `parseLines`: handles three shapes the parser accepts —
|
|
90
|
+
*
|
|
91
|
+
* 1. Inline single-line: `handler <<< return 1; >>>`
|
|
92
|
+
* 2. Open + close on diff: line ends with `<<<`, body lines, `>>>` line
|
|
93
|
+
* 3. Tail-content close: open line, body lines, `body; >>>` (close on
|
|
94
|
+
* same line as last body content)
|
|
95
|
+
*
|
|
96
|
+
* Older versions of this extractor only matched shape 2, which made
|
|
97
|
+
* inline handlers invisible to scanners — `parseLines` was happy to
|
|
98
|
+
* parse them, but the future codemod (slice 5b) would never see them. */
|
|
99
|
+
export function extractRawBodies(content) {
|
|
100
|
+
const bodies = [];
|
|
101
|
+
const lines = content.split('\n');
|
|
102
|
+
let inBody = false;
|
|
103
|
+
let buf = [];
|
|
104
|
+
let startLine = 0;
|
|
105
|
+
for (let i = 0; i < lines.length; i++) {
|
|
106
|
+
const line = lines[i];
|
|
107
|
+
if (!inBody) {
|
|
108
|
+
const openIdx = line.indexOf('<<<');
|
|
109
|
+
if (openIdx === -1)
|
|
110
|
+
continue;
|
|
111
|
+
const afterOpen = line.slice(openIdx + 3);
|
|
112
|
+
const closeIdx = afterOpen.indexOf('>>>');
|
|
113
|
+
if (closeIdx !== -1) {
|
|
114
|
+
// Shape 1: inline single-line `handler <<< body >>>`.
|
|
115
|
+
bodies.push({ text: afterOpen.slice(0, closeIdx).trim(), startLine: i + 1, endLine: i + 1 });
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
// Shape 2/3: multi-line block. parser-core.ts `parseLines` discards
|
|
119
|
+
// content after `<<<` on the open line in this shape, only collecting
|
|
120
|
+
// subsequent lines until `>>>`. Mirror that behaviour exactly so the
|
|
121
|
+
// extractor and the parser agree on what counts as body content.
|
|
122
|
+
inBody = true;
|
|
123
|
+
buf = [];
|
|
124
|
+
startLine = i + 1;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
const closeIdx = line.indexOf('>>>');
|
|
128
|
+
if (closeIdx === -1) {
|
|
129
|
+
buf.push(line);
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
const before = line.slice(0, closeIdx).trim();
|
|
133
|
+
if (before.length > 0)
|
|
134
|
+
buf.push(before);
|
|
135
|
+
bodies.push({ text: buf.join('\n'), startLine, endLine: i + 1 });
|
|
136
|
+
inBody = false;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return bodies;
|
|
140
|
+
}
|
|
141
|
+
/** Convenience: classify every raw body in a file's content and aggregate
|
|
142
|
+
* the totals. Pure function — no FS access; callers (scanners, the CLI)
|
|
143
|
+
* pass the file text. */
|
|
144
|
+
export function scanFileForEligibility(content) {
|
|
145
|
+
const raw = extractRawBodies(content);
|
|
146
|
+
let eligibleBodies = 0;
|
|
147
|
+
const bodies = raw.map((body) => {
|
|
148
|
+
const result = classifyHandlerBody(body.text);
|
|
149
|
+
if (result.eligible)
|
|
150
|
+
eligibleBodies++;
|
|
151
|
+
return { ...body, ...result };
|
|
152
|
+
});
|
|
153
|
+
return { totalBodies: raw.length, eligibleBodies, bodies };
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=native-eligibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-eligibility.js","sourceRoot":"","sources":["../src/native-eligibility.ts"],"names":[],"mappings":"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"}
|
package/dist/node-props.d.ts
CHANGED
|
@@ -429,6 +429,10 @@ export interface ExpectProps extends BaseProps {
|
|
|
429
429
|
expr?: string;
|
|
430
430
|
fn?: string;
|
|
431
431
|
derive?: string;
|
|
432
|
+
import?: string;
|
|
433
|
+
source?: string;
|
|
434
|
+
unmapped?: string;
|
|
435
|
+
allowWarnings?: string | boolean;
|
|
432
436
|
args?: string | ExprObject;
|
|
433
437
|
with?: string | ExprObject;
|
|
434
438
|
within?: string;
|
package/dist/node-props.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-props.js","sourceRoot":"","sources":["../src/node-props.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"node-props.js","sourceRoot":"","sources":["../src/node-props.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAq0BH,2EAA2E;AAE3E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,OAAO,CAA+B,IAAY;IAChE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAoB,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAC;AACvD,CAAC"}
|
package/dist/parser-core.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/** @internal Core parser pipeline — line parsing, tree building, and orchestration. */
|
|
2
2
|
import { type KernRuntime } from './runtime.js';
|
|
3
3
|
import type { ParseResult } from './types.js';
|
|
4
|
+
/** Slice 7 v2 — pure-data callers (browser playground, tests) can omit the
|
|
5
|
+
* `resolveImport` callback. CLI supplies it to enable cross-module
|
|
6
|
+
* recognition for `?`/`!` propagation against fns imported via `use`. */
|
|
7
|
+
export interface ParseOptions {
|
|
8
|
+
resolveImport?: import('./parser-validate-propagation.js').ImportResolver;
|
|
9
|
+
}
|
|
4
10
|
/** @internal Single internal entry that wires parseLines → buildTree → computeEndSpans. */
|
|
5
|
-
export declare function parseInternal(source: string, asDocument: boolean, runtime?: KernRuntime): ParseResult;
|
|
11
|
+
export declare function parseInternal(source: string, asDocument: boolean, runtime?: KernRuntime, options?: ParseOptions): ParseResult;
|
package/dist/parser-core.js
CHANGED
|
@@ -6,6 +6,8 @@ import { TokenStream } from './parser-token-stream.js';
|
|
|
6
6
|
import { tokenizeLineInternal } from './parser-tokenizer.js';
|
|
7
7
|
import { validateEffects } from './parser-validate-effects.js';
|
|
8
8
|
import { validateExpressions } from './parser-validate-expressions.js';
|
|
9
|
+
import { validateNativeEligible } from './parser-validate-native-eligible.js';
|
|
10
|
+
import { validateAndRewritePropagation } from './parser-validate-propagation.js';
|
|
9
11
|
import { validateUnionKind } from './parser-validate-union-kind.js';
|
|
10
12
|
import { defaultRuntime } from './runtime.js';
|
|
11
13
|
import { isKnownNodeType } from './spec.js';
|
|
@@ -514,9 +516,8 @@ function computeEndSpans(node) {
|
|
|
514
516
|
node.loc.endCol = node.loc.endCol ?? node.loc.col;
|
|
515
517
|
}
|
|
516
518
|
}
|
|
517
|
-
// ── Core parse driver ────────────────────────────────────────────────────
|
|
518
519
|
/** @internal Single internal entry that wires parseLines → buildTree → computeEndSpans. */
|
|
519
|
-
export function parseInternal(source, asDocument, runtime) {
|
|
520
|
+
export function parseInternal(source, asDocument, runtime, options) {
|
|
520
521
|
const rt = runtime ?? defaultRuntime;
|
|
521
522
|
const state = createParseState();
|
|
522
523
|
const parsed = parseLines(state, source, rt);
|
|
@@ -541,6 +542,8 @@ export function parseInternal(source, asDocument, runtime) {
|
|
|
541
542
|
validateExpressions(state, root);
|
|
542
543
|
validateEffects(state, root);
|
|
543
544
|
validateUnionKind(state, root);
|
|
545
|
+
validateAndRewritePropagation(state, root, options?.resolveImport);
|
|
546
|
+
validateNativeEligible(state, root);
|
|
544
547
|
commitParseState(state, rt);
|
|
545
548
|
// Count __error nodes for partial compilation support
|
|
546
549
|
const errorCount = countErrorNodes(root);
|
package/dist/parser-core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-core.js","sourceRoot":"","sources":["../src/parser-core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parser-core.js","sourceRoot":"","sources":["../src/parser-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,12 @@ const DIAGNOSTIC_SUGGESTIONS = {
|
|
|
14
14
|
INVALID_BIGINT: 'Remove the `n` suffix or drop the fractional part — BigInt literals must be whole integers.',
|
|
15
15
|
INVALID_EXPRESSION: 'The value could not be parsed as a KERN expression. Wrap it in `{{ ... }}` if it uses syntax not yet natively supported.',
|
|
16
16
|
INVALID_EFFECTS: 'See docs/language/effects-pure-spec.md for the full forbidden list and incompatible-prop rules.',
|
|
17
|
-
INVALID_UNION_KIND: 'Use `kind=result`, `kind=option`, or omit `kind` for a regular discriminated union.
|
|
18
|
-
KIND_SHAPE_VIOLATION: 'A `kind=result` union must declare exactly two variants named `ok` and `err`; `kind=option` must declare exactly two variants named `some` and `none`.
|
|
17
|
+
INVALID_UNION_KIND: 'Use `kind=result`, `kind=option`, or omit `kind` for a regular discriminated union.',
|
|
18
|
+
KIND_SHAPE_VIOLATION: 'A `kind=result` union must declare exactly two variants named `ok` and `err`; `kind=option` must declare exactly two variants named `some` and `none`.',
|
|
19
|
+
INVALID_PROPAGATION: 'Postfix `?` requires a call to a Result/Option-returning function and a containing fn whose return type is Result<T, E> or Option<T>. Use explicit `match` or a helper to bridge mixed types.',
|
|
20
|
+
NESTED_PROPAGATION: 'Chained `??` is not supported — bind the intermediate value to a `let`/`const` and propagate each step explicitly.',
|
|
21
|
+
UNSAFE_UNWRAP_IN_RESULT_FN: 'A function returning Result/Option is using `!` (panic) instead of `?` (propagate). Switch to `?` to keep the rich error shape.',
|
|
22
|
+
NATIVE_KERN_ELIGIBLE: 'Add `lang="kern"` to this handler and convert the body to KERN structured statements (let/return/if/each/try/throw) for native cross-target validation.',
|
|
19
23
|
};
|
|
20
24
|
export function createParseState() {
|
|
21
25
|
return { diagnostics: [] };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-diagnostics.js","sourceRoot":"","sources":["../src/parser-diagnostics.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAoB,MAAM,cAAc,CAAC;AAYhE,MAAM,sBAAsB,GAAmC;IAC7D,aAAa,EAAE,oFAAoF;IACnG,cAAc,EAAE,gFAAgF;IAChG,eAAe,EAAE,gFAAgF;IACjG,gBAAgB,EAAE,2EAA2E;IAC7F,cAAc,EAAE,sEAAsE;IACtF,cAAc,EAAE,6EAA6E;IAC7F,iBAAiB,EAAE,sFAAsF;IACzG,WAAW,EAAE,kGAAkG;IAC/G,cAAc,EAAE,kFAAkF;IAClG,YAAY,EAAE,+FAA+F;IAC7G,cAAc,EAAE,6FAA6F;IAC7G,kBAAkB,EAChB,0HAA0H;IAC5H,eAAe,EAAE,iGAAiG;IAClH,kBAAkB,EAChB,
|
|
1
|
+
{"version":3,"file":"parser-diagnostics.js","sourceRoot":"","sources":["../src/parser-diagnostics.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAoB,MAAM,cAAc,CAAC;AAYhE,MAAM,sBAAsB,GAAmC;IAC7D,aAAa,EAAE,oFAAoF;IACnG,cAAc,EAAE,gFAAgF;IAChG,eAAe,EAAE,gFAAgF;IACjG,gBAAgB,EAAE,2EAA2E;IAC7F,cAAc,EAAE,sEAAsE;IACtF,cAAc,EAAE,6EAA6E;IAC7F,iBAAiB,EAAE,sFAAsF;IACzG,WAAW,EAAE,kGAAkG;IAC/G,cAAc,EAAE,kFAAkF;IAClG,YAAY,EAAE,+FAA+F;IAC7G,cAAc,EAAE,6FAA6F;IAC7G,kBAAkB,EAChB,0HAA0H;IAC5H,eAAe,EAAE,iGAAiG;IAClH,kBAAkB,EAAE,qFAAqF;IACzG,oBAAoB,EAClB,wJAAwJ;IAC1J,mBAAmB,EACjB,+LAA+L;IACjM,kBAAkB,EAChB,oHAAoH;IACtH,0BAA0B,EACxB,iIAAiI;IACnI,oBAAoB,EAClB,yJAAyJ;CAC5J,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAiB,EAAE,UAAuB,cAAc;IACvF,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAiB,EACjB,IAAoB,EACpB,QAAqC,EACrC,OAAe,EACf,IAAY,EACZ,GAAW,EACX,UAAiC,EAAE;IAEnC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;QACrB,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,IAAI;QACJ,GAAG;QACH,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC;QAChD,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,sBAAsB,CAAC,IAAI,CAAC;KAC/D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
/** Expression-mode tokenizer + recursive-descent parser producing ValueIR.
|
|
2
|
-
* Supports: identifiers, literals (number/string/true/false/null/undefined),
|
|
2
|
+
* Supports: identifiers, literals (number/string/true/false/null/undefined/none),
|
|
3
3
|
* member access (. and ?.), call (() and ?.()), spread (...), logical ?? || &&,
|
|
4
|
-
* parenthesized grouping, template literals with ${...} interpolation
|
|
4
|
+
* parenthesized grouping, template literals with ${...} interpolation,
|
|
5
|
+
* `await` prefix, propagation `?` postfix on call/await-call.
|
|
6
|
+
*
|
|
7
|
+
* `none` is a KERN-side alias for `null` — both produce nullLit. Per native-handler
|
|
8
|
+
* spec, `none` is the canonical empty-value form in `lang=kern` bodies; `null` is
|
|
9
|
+
* retained for legacy/round-trip compatibility.
|
|
5
10
|
*
|
|
6
11
|
* Intentionally NOT yet supported: arithmetic, comparisons, ternary, indexing,
|
|
7
12
|
* bitwise, assignment. Those land in a later slice. */
|
|
8
13
|
import type { ValueIR } from './value-ir.js';
|
|
9
|
-
export type ExprTokenKind = 'ident' | 'num' | 'str' | 'tmplStart' | 'dot' | 'optDot' | 'nullish' | 'or' | 'and' | 'lparen' | 'rparen' | 'comma' | 'spread' | 'kwNull' | 'kwUndef' | 'kwTrue' | 'kwFalse' | 'eof';
|
|
14
|
+
export type ExprTokenKind = 'ident' | 'num' | 'str' | 'tmplStart' | 'dot' | 'optDot' | 'nullish' | 'or' | 'and' | 'lparen' | 'rparen' | 'lbrace' | 'rbrace' | 'lbracket' | 'rbracket' | 'colon' | 'comma' | 'spread' | 'qmark' | 'eq' | 'neq' | 'strictEq' | 'strictNeq' | 'bang' | 'lt' | 'lte' | 'gt' | 'gte' | 'plus' | 'minus' | 'star' | 'slash' | 'percent' | 'kwNull' | 'kwUndef' | 'kwTrue' | 'kwFalse' | 'kwAwait' | 'kwNew' | 'eof';
|
|
10
15
|
export interface ExprToken {
|
|
11
16
|
kind: ExprTokenKind;
|
|
12
17
|
value: string;
|