@manifesto-ai/compiler 1.6.2 → 1.7.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/README.md +64 -16
- package/dist/chunk-DJY6BFGK.js +74 -0
- package/dist/chunk-DJY6BFGK.js.map +1 -0
- package/dist/chunk-QP2LGMBA.js +4522 -0
- package/dist/chunk-QP2LGMBA.js.map +1 -0
- package/dist/chunk-QXLPDCLA.js +33 -0
- package/dist/chunk-QXLPDCLA.js.map +1 -0
- package/dist/esbuild.d.ts +8 -0
- package/dist/esbuild.js +14 -0
- package/dist/esbuild.js.map +1 -0
- package/dist/index.d.ts +2710 -11
- package/dist/index.js +2189 -43
- package/dist/index.js.map +1 -1
- package/dist/node-loader.d.ts +18 -0
- package/dist/node-loader.js +47 -0
- package/dist/node-loader.js.map +1 -0
- package/dist/rollup.d.ts +8 -0
- package/dist/rollup.js +14 -0
- package/dist/rollup.js.map +1 -0
- package/dist/rspack.d.ts +7 -0
- package/dist/rspack.js +14 -0
- package/dist/rspack.js.map +1 -0
- package/dist/unplugin-6wnvFiEo.d.ts +17 -0
- package/dist/vite.d.ts +8 -17
- package/dist/vite.js +13 -33
- package/dist/vite.js.map +1 -1
- package/dist/webpack.d.ts +8 -0
- package/dist/webpack.js +14 -0
- package/dist/webpack.js.map +1 -0
- package/package.json +39 -21
- package/dist/analyzer/index.d.ts +0 -6
- package/dist/analyzer/index.d.ts.map +0 -1
- package/dist/analyzer/index.js +0 -6
- package/dist/analyzer/index.js.map +0 -1
- package/dist/analyzer/scope.d.ts +0 -77
- package/dist/analyzer/scope.d.ts.map +0 -1
- package/dist/analyzer/scope.js +0 -296
- package/dist/analyzer/scope.js.map +0 -1
- package/dist/analyzer/validator.d.ts +0 -60
- package/dist/analyzer/validator.d.ts.map +0 -1
- package/dist/analyzer/validator.js +0 -439
- package/dist/analyzer/validator.js.map +0 -1
- package/dist/api/compile-mel-patch-collector.d.ts +0 -32
- package/dist/api/compile-mel-patch-collector.d.ts.map +0 -1
- package/dist/api/compile-mel-patch-collector.js +0 -425
- package/dist/api/compile-mel-patch-collector.js.map +0 -1
- package/dist/api/compile-mel-patch-expr.d.ts +0 -9
- package/dist/api/compile-mel-patch-expr.d.ts.map +0 -1
- package/dist/api/compile-mel-patch-expr.js +0 -179
- package/dist/api/compile-mel-patch-expr.js.map +0 -1
- package/dist/api/compile-mel-patch-location.d.ts +0 -10
- package/dist/api/compile-mel-patch-location.d.ts.map +0 -1
- package/dist/api/compile-mel-patch-location.js +0 -48
- package/dist/api/compile-mel-patch-location.js.map +0 -1
- package/dist/api/compile-mel-patch.d.ts +0 -6
- package/dist/api/compile-mel-patch.d.ts.map +0 -1
- package/dist/api/compile-mel-patch.js +0 -244
- package/dist/api/compile-mel-patch.js.map +0 -1
- package/dist/api/compile-mel.d.ts +0 -126
- package/dist/api/compile-mel.d.ts.map +0 -1
- package/dist/api/compile-mel.js +0 -114
- package/dist/api/compile-mel.js.map +0 -1
- package/dist/api/index.d.ts +0 -10
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js +0 -9
- package/dist/api/index.js.map +0 -1
- package/dist/diagnostics/codes.d.ts +0 -25
- package/dist/diagnostics/codes.d.ts.map +0 -1
- package/dist/diagnostics/codes.js +0 -154
- package/dist/diagnostics/codes.js.map +0 -1
- package/dist/diagnostics/index.d.ts +0 -6
- package/dist/diagnostics/index.d.ts.map +0 -1
- package/dist/diagnostics/index.js +0 -6
- package/dist/diagnostics/index.js.map +0 -1
- package/dist/diagnostics/types.d.ts +0 -67
- package/dist/diagnostics/types.d.ts.map +0 -1
- package/dist/diagnostics/types.js +0 -58
- package/dist/diagnostics/types.js.map +0 -1
- package/dist/evaluation/context.d.ts +0 -91
- package/dist/evaluation/context.d.ts.map +0 -1
- package/dist/evaluation/context.js +0 -53
- package/dist/evaluation/context.js.map +0 -1
- package/dist/evaluation/evaluate-expr.d.ts +0 -24
- package/dist/evaluation/evaluate-expr.d.ts.map +0 -1
- package/dist/evaluation/evaluate-expr.js +0 -577
- package/dist/evaluation/evaluate-expr.js.map +0 -1
- package/dist/evaluation/evaluate-patch.d.ts +0 -123
- package/dist/evaluation/evaluate-patch.d.ts.map +0 -1
- package/dist/evaluation/evaluate-patch.js +0 -202
- package/dist/evaluation/evaluate-patch.js.map +0 -1
- package/dist/evaluation/evaluate-runtime-patch.d.ts +0 -86
- package/dist/evaluation/evaluate-runtime-patch.d.ts.map +0 -1
- package/dist/evaluation/evaluate-runtime-patch.js +0 -185
- package/dist/evaluation/evaluate-runtime-patch.js.map +0 -1
- package/dist/evaluation/index.d.ts +0 -15
- package/dist/evaluation/index.d.ts.map +0 -1
- package/dist/evaluation/index.js +0 -13
- package/dist/evaluation/index.js.map +0 -1
- package/dist/generator/index.d.ts +0 -7
- package/dist/generator/index.d.ts.map +0 -1
- package/dist/generator/index.js +0 -7
- package/dist/generator/index.js.map +0 -1
- package/dist/generator/ir.d.ts +0 -348
- package/dist/generator/ir.d.ts.map +0 -1
- package/dist/generator/ir.js +0 -715
- package/dist/generator/ir.js.map +0 -1
- package/dist/generator/lowering.d.ts +0 -11
- package/dist/generator/lowering.d.ts.map +0 -1
- package/dist/generator/lowering.js +0 -369
- package/dist/generator/lowering.js.map +0 -1
- package/dist/generator/normalizer.d.ts +0 -16
- package/dist/generator/normalizer.d.ts.map +0 -1
- package/dist/generator/normalizer.js +0 -181
- package/dist/generator/normalizer.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lexer/index.d.ts +0 -7
- package/dist/lexer/index.d.ts.map +0 -1
- package/dist/lexer/index.js +0 -7
- package/dist/lexer/index.js.map +0 -1
- package/dist/lexer/lexer.d.ts +0 -59
- package/dist/lexer/lexer.d.ts.map +0 -1
- package/dist/lexer/lexer.js +0 -433
- package/dist/lexer/lexer.js.map +0 -1
- package/dist/lexer/source-location.d.ts +0 -41
- package/dist/lexer/source-location.d.ts.map +0 -1
- package/dist/lexer/source-location.js +0 -33
- package/dist/lexer/source-location.js.map +0 -1
- package/dist/lexer/tokens.d.ts +0 -47
- package/dist/lexer/tokens.d.ts.map +0 -1
- package/dist/lexer/tokens.js +0 -73
- package/dist/lexer/tokens.js.map +0 -1
- package/dist/loader.d.ts +0 -23
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js +0 -62
- package/dist/loader.js.map +0 -1
- package/dist/lowering/context.d.ts +0 -96
- package/dist/lowering/context.d.ts.map +0 -1
- package/dist/lowering/context.js +0 -42
- package/dist/lowering/context.js.map +0 -1
- package/dist/lowering/errors.d.ts +0 -84
- package/dist/lowering/errors.d.ts.map +0 -1
- package/dist/lowering/errors.js +0 -81
- package/dist/lowering/errors.js.map +0 -1
- package/dist/lowering/index.d.ts +0 -20
- package/dist/lowering/index.d.ts.map +0 -1
- package/dist/lowering/index.js +0 -13
- package/dist/lowering/index.js.map +0 -1
- package/dist/lowering/lower-expr.d.ts +0 -76
- package/dist/lowering/lower-expr.d.ts.map +0 -1
- package/dist/lowering/lower-expr.js +0 -366
- package/dist/lowering/lower-expr.js.map +0 -1
- package/dist/lowering/lower-patch.d.ts +0 -231
- package/dist/lowering/lower-patch.d.ts.map +0 -1
- package/dist/lowering/lower-patch.js +0 -146
- package/dist/lowering/lower-patch.js.map +0 -1
- package/dist/lowering/lower-runtime-patch.d.ts +0 -100
- package/dist/lowering/lower-runtime-patch.d.ts.map +0 -1
- package/dist/lowering/lower-runtime-patch.js +0 -49
- package/dist/lowering/lower-runtime-patch.js.map +0 -1
- package/dist/mel-module.d.ts +0 -13
- package/dist/mel-module.d.ts.map +0 -1
- package/dist/mel-module.js +0 -33
- package/dist/mel-module.js.map +0 -1
- package/dist/parser/ast.d.ts +0 -344
- package/dist/parser/ast.d.ts.map +0 -1
- package/dist/parser/ast.js +0 -24
- package/dist/parser/ast.js.map +0 -1
- package/dist/parser/index.d.ts +0 -7
- package/dist/parser/index.d.ts.map +0 -1
- package/dist/parser/index.js +0 -7
- package/dist/parser/index.js.map +0 -1
- package/dist/parser/parser.d.ts +0 -92
- package/dist/parser/parser.d.ts.map +0 -1
- package/dist/parser/parser.js +0 -892
- package/dist/parser/parser.js.map +0 -1
- package/dist/parser/precedence.d.ts +0 -44
- package/dist/parser/precedence.d.ts.map +0 -1
- package/dist/parser/precedence.js +0 -69
- package/dist/parser/precedence.js.map +0 -1
- package/dist/renderer/expr-node.d.ts +0 -172
- package/dist/renderer/expr-node.d.ts.map +0 -1
- package/dist/renderer/expr-node.js +0 -218
- package/dist/renderer/expr-node.js.map +0 -1
- package/dist/renderer/fragment.d.ts +0 -84
- package/dist/renderer/fragment.d.ts.map +0 -1
- package/dist/renderer/fragment.js +0 -172
- package/dist/renderer/fragment.js.map +0 -1
- package/dist/renderer/index.d.ts +0 -23
- package/dist/renderer/index.d.ts.map +0 -1
- package/dist/renderer/index.js +0 -27
- package/dist/renderer/index.js.map +0 -1
- package/dist/renderer/patch-op.d.ts +0 -82
- package/dist/renderer/patch-op.d.ts.map +0 -1
- package/dist/renderer/patch-op.js +0 -204
- package/dist/renderer/patch-op.js.map +0 -1
- package/dist/renderer/type-expr.d.ts +0 -61
- package/dist/renderer/type-expr.d.ts.map +0 -1
- package/dist/renderer/type-expr.js +0 -131
- package/dist/renderer/type-expr.js.map +0 -1
- package/dist/vite.d.ts.map +0 -1
- package/loader.cjs +0 -22
package/dist/parser/ast.d.ts
DELETED
|
@@ -1,344 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AST Node Types for MEL Parser
|
|
3
|
-
* Based on MEL SPEC v0.3.3 Section 4
|
|
4
|
-
*/
|
|
5
|
-
import type { SourceLocation } from "../lexer/source-location.js";
|
|
6
|
-
/**
|
|
7
|
-
* Base interface for all AST nodes
|
|
8
|
-
*/
|
|
9
|
-
export interface ASTNode {
|
|
10
|
-
location: SourceLocation;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Root node of a MEL program
|
|
14
|
-
*/
|
|
15
|
-
export interface ProgramNode extends ASTNode {
|
|
16
|
-
kind: "program";
|
|
17
|
-
imports: ImportNode[];
|
|
18
|
-
domain: DomainNode;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Import declaration
|
|
22
|
-
*/
|
|
23
|
-
export interface ImportNode extends ASTNode {
|
|
24
|
-
kind: "import";
|
|
25
|
-
names: string[];
|
|
26
|
-
from: string;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Domain declaration
|
|
30
|
-
*/
|
|
31
|
-
export interface DomainNode extends ASTNode {
|
|
32
|
-
kind: "domain";
|
|
33
|
-
name: string;
|
|
34
|
-
/** v0.3.3: Named type declarations */
|
|
35
|
-
types: TypeDeclNode[];
|
|
36
|
-
members: DomainMember[];
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Domain member types
|
|
40
|
-
*/
|
|
41
|
-
export type DomainMember = StateNode | ComputedNode | ActionNode;
|
|
42
|
-
/**
|
|
43
|
-
* Type declaration (v0.3.3)
|
|
44
|
-
* Syntax: type Name = TypeExpr
|
|
45
|
-
*/
|
|
46
|
-
export interface TypeDeclNode extends ASTNode {
|
|
47
|
-
kind: "typeDecl";
|
|
48
|
-
name: string;
|
|
49
|
-
typeExpr: TypeExprNode;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* State block declaration
|
|
53
|
-
*/
|
|
54
|
-
export interface StateNode extends ASTNode {
|
|
55
|
-
kind: "state";
|
|
56
|
-
fields: StateFieldNode[];
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* State field declaration
|
|
60
|
-
*/
|
|
61
|
-
export interface StateFieldNode extends ASTNode {
|
|
62
|
-
kind: "stateField";
|
|
63
|
-
name: string;
|
|
64
|
-
typeExpr: TypeExprNode;
|
|
65
|
-
initializer?: ExprNode;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Computed value declaration
|
|
69
|
-
*/
|
|
70
|
-
export interface ComputedNode extends ASTNode {
|
|
71
|
-
kind: "computed";
|
|
72
|
-
name: string;
|
|
73
|
-
expression: ExprNode;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Action declaration
|
|
77
|
-
*/
|
|
78
|
-
export interface ActionNode extends ASTNode {
|
|
79
|
-
kind: "action";
|
|
80
|
-
name: string;
|
|
81
|
-
params: ParamNode[];
|
|
82
|
-
/** v0.3.2: Optional availability condition */
|
|
83
|
-
available?: ExprNode;
|
|
84
|
-
body: GuardedStmtNode[];
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Parameter declaration
|
|
88
|
-
*/
|
|
89
|
-
export interface ParamNode extends ASTNode {
|
|
90
|
-
kind: "param";
|
|
91
|
-
name: string;
|
|
92
|
-
typeExpr: TypeExprNode;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Guarded statement types (top-level in action body)
|
|
96
|
-
*/
|
|
97
|
-
export type GuardedStmtNode = WhenStmtNode | OnceStmtNode | OnceIntentStmtNode;
|
|
98
|
-
/**
|
|
99
|
-
* Inner statement types (inside guards)
|
|
100
|
-
*/
|
|
101
|
-
export type InnerStmtNode = PatchStmtNode | EffectStmtNode | WhenStmtNode | OnceStmtNode | OnceIntentStmtNode | FailStmtNode | StopStmtNode;
|
|
102
|
-
/**
|
|
103
|
-
* When guard statement
|
|
104
|
-
*/
|
|
105
|
-
export interface WhenStmtNode extends ASTNode {
|
|
106
|
-
kind: "when";
|
|
107
|
-
condition: ExprNode;
|
|
108
|
-
body: InnerStmtNode[];
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Once guard statement (per-intent idempotency)
|
|
112
|
-
*/
|
|
113
|
-
export interface OnceStmtNode extends ASTNode {
|
|
114
|
-
kind: "once";
|
|
115
|
-
marker: PathNode;
|
|
116
|
-
condition?: ExprNode;
|
|
117
|
-
body: InnerStmtNode[];
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Once-intent guard statement (per-intent idempotency sugar)
|
|
121
|
-
*/
|
|
122
|
-
export interface OnceIntentStmtNode extends ASTNode {
|
|
123
|
-
kind: "onceIntent";
|
|
124
|
-
condition?: ExprNode;
|
|
125
|
-
body: InnerStmtNode[];
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Patch statement
|
|
129
|
-
*/
|
|
130
|
-
export interface PatchStmtNode extends ASTNode {
|
|
131
|
-
kind: "patch";
|
|
132
|
-
path: PathNode;
|
|
133
|
-
op: "set" | "unset" | "merge";
|
|
134
|
-
value?: ExprNode;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Effect statement
|
|
138
|
-
*/
|
|
139
|
-
export interface EffectStmtNode extends ASTNode {
|
|
140
|
-
kind: "effect";
|
|
141
|
-
effectType: string;
|
|
142
|
-
args: EffectArgNode[];
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Effect argument
|
|
146
|
-
*/
|
|
147
|
-
export interface EffectArgNode extends ASTNode {
|
|
148
|
-
kind: "effectArg";
|
|
149
|
-
name: string;
|
|
150
|
-
value: ExprNode | PathNode;
|
|
151
|
-
isPath: boolean;
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Fail statement (v0.3.2) - terminates flow with error
|
|
155
|
-
* Compiles to FlowNode { kind: "fail", code, message }
|
|
156
|
-
*/
|
|
157
|
-
export interface FailStmtNode extends ASTNode {
|
|
158
|
-
kind: "fail";
|
|
159
|
-
code: string;
|
|
160
|
-
message?: ExprNode;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Stop statement (v0.3.2) - early exit, no error
|
|
164
|
-
* Compiles to FlowNode { kind: "halt", reason }
|
|
165
|
-
*/
|
|
166
|
-
export interface StopStmtNode extends ASTNode {
|
|
167
|
-
kind: "stop";
|
|
168
|
-
reason: string;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Type expression node
|
|
172
|
-
*/
|
|
173
|
-
export type TypeExprNode = SimpleTypeNode | UnionTypeNode | ArrayTypeNode | RecordTypeNode | LiteralTypeNode | ObjectTypeNode;
|
|
174
|
-
export interface SimpleTypeNode extends ASTNode {
|
|
175
|
-
kind: "simpleType";
|
|
176
|
-
name: string;
|
|
177
|
-
}
|
|
178
|
-
export interface UnionTypeNode extends ASTNode {
|
|
179
|
-
kind: "unionType";
|
|
180
|
-
types: TypeExprNode[];
|
|
181
|
-
}
|
|
182
|
-
export interface ArrayTypeNode extends ASTNode {
|
|
183
|
-
kind: "arrayType";
|
|
184
|
-
elementType: TypeExprNode;
|
|
185
|
-
}
|
|
186
|
-
export interface RecordTypeNode extends ASTNode {
|
|
187
|
-
kind: "recordType";
|
|
188
|
-
keyType: TypeExprNode;
|
|
189
|
-
valueType: TypeExprNode;
|
|
190
|
-
}
|
|
191
|
-
export interface LiteralTypeNode extends ASTNode {
|
|
192
|
-
kind: "literalType";
|
|
193
|
-
value: string | number | boolean | null;
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Object type node (v0.3.3)
|
|
197
|
-
* Represents inline object types: { field: Type, ... }
|
|
198
|
-
* Note: In state fields, this triggers W012 warning (use named type instead)
|
|
199
|
-
*/
|
|
200
|
-
export interface ObjectTypeNode extends ASTNode {
|
|
201
|
-
kind: "objectType";
|
|
202
|
-
fields: TypeFieldNode[];
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Type field within an object type
|
|
206
|
-
*/
|
|
207
|
-
export interface TypeFieldNode extends ASTNode {
|
|
208
|
-
kind: "typeField";
|
|
209
|
-
name: string;
|
|
210
|
-
typeExpr: TypeExprNode;
|
|
211
|
-
optional: boolean;
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* All expression types
|
|
215
|
-
*/
|
|
216
|
-
export type ExprNode = LiteralExprNode | IdentifierExprNode | SystemIdentExprNode | IterationVarExprNode | PropertyAccessExprNode | IndexAccessExprNode | FunctionCallExprNode | UnaryExprNode | BinaryExprNode | TernaryExprNode | ObjectLiteralExprNode | ArrayLiteralExprNode;
|
|
217
|
-
/**
|
|
218
|
-
* Literal expression (number, string, boolean, null)
|
|
219
|
-
*/
|
|
220
|
-
export interface LiteralExprNode extends ASTNode {
|
|
221
|
-
kind: "literal";
|
|
222
|
-
value: unknown;
|
|
223
|
-
literalType: "number" | "string" | "boolean" | "null";
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Identifier expression
|
|
227
|
-
*/
|
|
228
|
-
export interface IdentifierExprNode extends ASTNode {
|
|
229
|
-
kind: "identifier";
|
|
230
|
-
name: string;
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* System identifier expression ($system.*, $meta.*, $input.*)
|
|
234
|
-
*/
|
|
235
|
-
export interface SystemIdentExprNode extends ASTNode {
|
|
236
|
-
kind: "systemIdent";
|
|
237
|
-
path: string[];
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Iteration variable expression ($item only)
|
|
241
|
-
* v0.3.2: $acc removed - reduce pattern deprecated
|
|
242
|
-
*/
|
|
243
|
-
export interface IterationVarExprNode extends ASTNode {
|
|
244
|
-
kind: "iterationVar";
|
|
245
|
-
name: "item";
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Property access expression (a.b)
|
|
249
|
-
*/
|
|
250
|
-
export interface PropertyAccessExprNode extends ASTNode {
|
|
251
|
-
kind: "propertyAccess";
|
|
252
|
-
object: ExprNode;
|
|
253
|
-
property: string;
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Index access expression (a[b])
|
|
257
|
-
*/
|
|
258
|
-
export interface IndexAccessExprNode extends ASTNode {
|
|
259
|
-
kind: "indexAccess";
|
|
260
|
-
object: ExprNode;
|
|
261
|
-
index: ExprNode;
|
|
262
|
-
}
|
|
263
|
-
/**
|
|
264
|
-
* Function call expression
|
|
265
|
-
*/
|
|
266
|
-
export interface FunctionCallExprNode extends ASTNode {
|
|
267
|
-
kind: "functionCall";
|
|
268
|
-
name: string;
|
|
269
|
-
args: ExprNode[];
|
|
270
|
-
}
|
|
271
|
-
/**
|
|
272
|
-
* Unary expression (!a, -a)
|
|
273
|
-
*/
|
|
274
|
-
export interface UnaryExprNode extends ASTNode {
|
|
275
|
-
kind: "unary";
|
|
276
|
-
operator: "!" | "-";
|
|
277
|
-
operand: ExprNode;
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* Binary operators
|
|
281
|
-
*/
|
|
282
|
-
export type BinaryOperator = "+" | "-" | "*" | "/" | "%" | "==" | "!=" | "<" | "<=" | ">" | ">=" | "&&" | "||" | "??";
|
|
283
|
-
/**
|
|
284
|
-
* Binary expression (a + b, a && b, etc.)
|
|
285
|
-
*/
|
|
286
|
-
export interface BinaryExprNode extends ASTNode {
|
|
287
|
-
kind: "binary";
|
|
288
|
-
operator: BinaryOperator;
|
|
289
|
-
left: ExprNode;
|
|
290
|
-
right: ExprNode;
|
|
291
|
-
}
|
|
292
|
-
/**
|
|
293
|
-
* Ternary expression (a ? b : c)
|
|
294
|
-
*/
|
|
295
|
-
export interface TernaryExprNode extends ASTNode {
|
|
296
|
-
kind: "ternary";
|
|
297
|
-
condition: ExprNode;
|
|
298
|
-
consequent: ExprNode;
|
|
299
|
-
alternate: ExprNode;
|
|
300
|
-
}
|
|
301
|
-
/**
|
|
302
|
-
* Object literal expression ({ a: 1, b: 2 })
|
|
303
|
-
*/
|
|
304
|
-
export interface ObjectLiteralExprNode extends ASTNode {
|
|
305
|
-
kind: "objectLiteral";
|
|
306
|
-
properties: ObjectPropertyNode[];
|
|
307
|
-
}
|
|
308
|
-
export interface ObjectPropertyNode extends ASTNode {
|
|
309
|
-
kind: "objectProperty";
|
|
310
|
-
key: string;
|
|
311
|
-
value: ExprNode;
|
|
312
|
-
}
|
|
313
|
-
/**
|
|
314
|
-
* Array literal expression ([1, 2, 3])
|
|
315
|
-
*/
|
|
316
|
-
export interface ArrayLiteralExprNode extends ASTNode {
|
|
317
|
-
kind: "arrayLiteral";
|
|
318
|
-
elements: ExprNode[];
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Path node for patch targets and effect destinations
|
|
322
|
-
*/
|
|
323
|
-
export interface PathNode extends ASTNode {
|
|
324
|
-
kind: "path";
|
|
325
|
-
segments: PathSegmentNode[];
|
|
326
|
-
}
|
|
327
|
-
export type PathSegmentNode = PropertySegmentNode | IndexSegmentNode;
|
|
328
|
-
export interface PropertySegmentNode extends ASTNode {
|
|
329
|
-
kind: "propertySegment";
|
|
330
|
-
name: string;
|
|
331
|
-
}
|
|
332
|
-
export interface IndexSegmentNode extends ASTNode {
|
|
333
|
-
kind: "indexSegment";
|
|
334
|
-
index: ExprNode;
|
|
335
|
-
}
|
|
336
|
-
/**
|
|
337
|
-
* Check if a node is an expression
|
|
338
|
-
*/
|
|
339
|
-
export declare function isExprNode(node: ASTNode): node is ExprNode;
|
|
340
|
-
/**
|
|
341
|
-
* Check if a node is a statement
|
|
342
|
-
*/
|
|
343
|
-
export declare function isStmtNode(node: ASTNode): node is InnerStmtNode;
|
|
344
|
-
//# sourceMappingURL=ast.d.ts.map
|
package/dist/parser/ast.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/parser/ast.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAIlE;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAID;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,OAAO;IACzC,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,OAAO;IACzC,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,OAAO;IAC3C,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;CACxB;AAID;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,OAAO;IACxC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,CAAC,EAAE,QAAQ,CAAC;CACxB;AAID;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,OAAO;IAC3C,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,QAAQ,CAAC;CACtB;AAID;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,OAAO;IACzC,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,IAAI,EAAE,eAAe,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,OAAO;IACxC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;CACxB;AAID;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,YAAY,GAAG,kBAAkB,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,kBAAkB,GAClB,YAAY,GACZ,YAAY,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,OAAO;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,QAAQ,CAAC;IACpB,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,OAAO;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IACjD,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,OAAO;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,OAAO;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAID;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,aAAa,GACb,aAAa,GACb,cAAc,GACd,eAAe,GACf,cAAc,CAAC;AAEnB,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,YAAY,CAAC;CAC3B;AAED,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAID;;GAEG;AACH,MAAM,MAAM,QAAQ,GAChB,eAAe,GACf,kBAAkB,GAClB,mBAAmB,GACnB,oBAAoB,GACpB,sBAAsB,GACtB,mBAAmB,GACnB,oBAAoB,GACpB,aAAa,GACb,cAAc,GACd,eAAe,GACf,qBAAqB,GACrB,oBAAoB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IACjD,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,OAAO;IAClD,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,OAAO;IACrD,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,OAAO;IAClD,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,OAAO;IAC5C,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC;IACpB,OAAO,EAAE,QAAQ,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAC3B,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GACrC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvB;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,OAAO;IAC7C,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,QAAQ,CAAC;IACpB,UAAU,EAAE,QAAQ,CAAC;IACrB,SAAS,EAAE,QAAQ,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,OAAO;IACpD,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,EAAE,kBAAkB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,kBAAmB,SAAQ,OAAO;IACjD,IAAI,EAAE,gBAAgB,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAID;;GAEG;AACH,MAAM,WAAW,QAAS,SAAQ,OAAO;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AAErE,MAAM,WAAW,mBAAoB,SAAQ,OAAO;IAClD,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAiB,SAAQ,OAAO;IAC/C,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,QAAQ,CAAC;CACjB;AAID;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,QAAQ,CAO1D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,aAAa,CAG/D"}
|
package/dist/parser/ast.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AST Node Types for MEL Parser
|
|
3
|
-
* Based on MEL SPEC v0.3.3 Section 4
|
|
4
|
-
*/
|
|
5
|
-
// ============ Helpers ============
|
|
6
|
-
/**
|
|
7
|
-
* Check if a node is an expression
|
|
8
|
-
*/
|
|
9
|
-
export function isExprNode(node) {
|
|
10
|
-
const exprKinds = [
|
|
11
|
-
"literal", "identifier", "systemIdent", "iterationVar",
|
|
12
|
-
"propertyAccess", "indexAccess", "functionCall",
|
|
13
|
-
"unary", "binary", "ternary", "objectLiteral", "arrayLiteral"
|
|
14
|
-
];
|
|
15
|
-
return exprKinds.includes(node.kind);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Check if a node is a statement
|
|
19
|
-
*/
|
|
20
|
-
export function isStmtNode(node) {
|
|
21
|
-
const stmtKinds = ["when", "once", "onceIntent", "patch", "effect", "fail", "stop"];
|
|
22
|
-
return stmtKinds.includes(node.kind);
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=ast.js.map
|
package/dist/parser/ast.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/parser/ast.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4aH,oCAAoC;AAEpC;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,MAAM,SAAS,GAAG;QAChB,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc;QACtD,gBAAgB,EAAE,aAAa,EAAE,cAAc;QAC/C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc;KAC9D,CAAC;IACF,OAAO,SAAS,CAAC,QAAQ,CAAE,IAAiB,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACpF,OAAO,SAAS,CAAC,QAAQ,CAAE,IAAsB,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC"}
|
package/dist/parser/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
package/dist/parser/index.js
DELETED
package/dist/parser/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
package/dist/parser/parser.d.ts
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* MEL Parser
|
|
3
|
-
* Recursive descent parser with Pratt parsing for expressions
|
|
4
|
-
* Based on MEL SPEC v0.3.3 Section 4
|
|
5
|
-
*/
|
|
6
|
-
import type { Diagnostic } from "../diagnostics/types.js";
|
|
7
|
-
import type { Token } from "../lexer/tokens.js";
|
|
8
|
-
import { type ProgramNode } from "./ast.js";
|
|
9
|
-
/**
|
|
10
|
-
* Result of parsing
|
|
11
|
-
*/
|
|
12
|
-
export interface ParseResult {
|
|
13
|
-
program: ProgramNode | null;
|
|
14
|
-
diagnostics: Diagnostic[];
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Parser for MEL source code
|
|
18
|
-
*/
|
|
19
|
-
export declare class Parser {
|
|
20
|
-
private tokens;
|
|
21
|
-
private current;
|
|
22
|
-
private diagnostics;
|
|
23
|
-
constructor(tokens: Token[]);
|
|
24
|
-
/**
|
|
25
|
-
* Parse tokens into an AST
|
|
26
|
-
*/
|
|
27
|
-
parse(): ParseResult;
|
|
28
|
-
private parseProgram;
|
|
29
|
-
private parseImport;
|
|
30
|
-
private parseDomain;
|
|
31
|
-
/**
|
|
32
|
-
* v0.3.3: Parse type declaration
|
|
33
|
-
* Syntax: type Name = TypeExpr
|
|
34
|
-
*/
|
|
35
|
-
private parseTypeDecl;
|
|
36
|
-
private parseDomainMember;
|
|
37
|
-
private parseState;
|
|
38
|
-
private parseStateField;
|
|
39
|
-
private parseComputed;
|
|
40
|
-
private parseAction;
|
|
41
|
-
private parseParam;
|
|
42
|
-
private parseGuardedStmt;
|
|
43
|
-
private parseWhenStmt;
|
|
44
|
-
private parseOnceStmt;
|
|
45
|
-
private parseOnceIntentStmt;
|
|
46
|
-
private parseInnerStmt;
|
|
47
|
-
private parsePatchStmt;
|
|
48
|
-
private parseEffectStmt;
|
|
49
|
-
private parseEffectArg;
|
|
50
|
-
/**
|
|
51
|
-
* v0.3.2: Parse fail statement
|
|
52
|
-
* FailStmt ::= 'fail' StringLiteral ('with' Expr)?
|
|
53
|
-
*/
|
|
54
|
-
private parseFailStmt;
|
|
55
|
-
/**
|
|
56
|
-
* v0.3.2: Parse stop statement
|
|
57
|
-
* StopStmt ::= 'stop' StringLiteral
|
|
58
|
-
*/
|
|
59
|
-
private parseStopStmt;
|
|
60
|
-
private parseTypeExpr;
|
|
61
|
-
private parseBaseType;
|
|
62
|
-
/**
|
|
63
|
-
* v0.3.3: Parse object type
|
|
64
|
-
* Syntax: { field: Type, field?: Type, ... }
|
|
65
|
-
*/
|
|
66
|
-
private parseObjectType;
|
|
67
|
-
private parseExpression;
|
|
68
|
-
private parseTernary;
|
|
69
|
-
private parsePrimary;
|
|
70
|
-
private parseFunctionCall;
|
|
71
|
-
private parsePostfix;
|
|
72
|
-
private parseObjectLiteral;
|
|
73
|
-
private parseArrayLiteral;
|
|
74
|
-
private parsePath;
|
|
75
|
-
private isUnaryContext;
|
|
76
|
-
private peek;
|
|
77
|
-
private peekNext;
|
|
78
|
-
private previous;
|
|
79
|
-
private isAtEnd;
|
|
80
|
-
private advance;
|
|
81
|
-
private check;
|
|
82
|
-
private isOnceIntentContext;
|
|
83
|
-
private match;
|
|
84
|
-
private consume;
|
|
85
|
-
private error;
|
|
86
|
-
private errorAtCurrent;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Parse tokens into an AST
|
|
90
|
-
*/
|
|
91
|
-
export declare function parse(tokens: Token[]): ParseResult;
|
|
92
|
-
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser/parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAa,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EACL,KAAK,WAAW,EA0BjB,MAAM,UAAU,CAAC;AAQlB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,WAAW,CAAoB;gBAE3B,MAAM,EAAE,KAAK,EAAE;IAI3B;;OAEG;IACH,KAAK,IAAI,WAAW;IAYpB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,WAAW;IAiCnB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,WAAW;IAyCnB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,cAAc;IA+BtB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,cAAc;IAmBtB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAqBrB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,aAAa;IA+ErB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,YAAY;IAuHpB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,kBAAkB;IA8B1B,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,SAAS;IA4CjB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,cAAc;CASvB;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAGlD"}
|