@mica-js/ddl 0.0.0-stage → 0.2.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.
@@ -0,0 +1,1518 @@
1
+ /******************************************************************************
2
+ * This file was generated by langium-cli 4.4.0.
3
+ * DO NOT EDIT MANUALLY!
4
+ ******************************************************************************/
5
+ import * as langium from 'langium';
6
+ export declare const DDLTerminals: {
7
+ BOM: RegExp;
8
+ WS: RegExp;
9
+ ID: RegExp;
10
+ NUMBER: RegExp;
11
+ DDL_STRING: RegExp;
12
+ ML_COMMENT: RegExp;
13
+ SL_COMMENT: RegExp;
14
+ };
15
+ export type DDLTerminalNames = keyof typeof DDLTerminals;
16
+ export type DDLKeywordNames = "!" | "!=" | "%" | "&" | "&&" | "(" | ")" | "*" | "**" | "+" | "," | "-" | "->" | "." | "/" | ":" | ";" | "<" | "<-" | "<<" | "<=" | "=" | "==" | "=>" | ">" | ">=" | ">>" | ">>>" | "?" | "Infinity" | "NaN" | "[" | "]" | "^" | "_" | "as" | "assert" | "await" | "bool" | "break" | "bytes" | "capture" | "channel" | "const" | "continue" | "default" | "delay" | "derived" | "device" | "duration" | "else" | "enum" | "false" | "fn" | "if" | "input" | "intent" | "let" | "loop" | "match" | "memory" | "none" | "notification" | "number" | "on" | "output" | "pin" | "process" | "public" | "pure" | "reaction" | "receive" | "record" | "redirect" | "return" | "sample" | "start" | "state" | "string" | "ticks" | "true" | "while" | "{" | "|" | "||" | "}" | "~";
17
+ export type DDLTokenNames = DDLTerminalNames | DDLKeywordNames;
18
+ export type Argument = NamedArgument | PositionalArgument;
19
+ export declare const Argument: {
20
+ readonly $type: "Argument";
21
+ };
22
+ export declare function isArgument(item: unknown): item is Argument;
23
+ export type ArgumentName = 'memory' | Name;
24
+ export declare function isArgumentName(item: unknown): item is ArgumentName;
25
+ export interface AssertStmt extends langium.AstNode {
26
+ readonly $container: Block | Device;
27
+ readonly $type: 'AssertStmt';
28
+ condition: Expr;
29
+ message?: Expr;
30
+ }
31
+ export declare const AssertStmt: {
32
+ readonly $type: "AssertStmt";
33
+ readonly condition: "condition";
34
+ readonly message: "message";
35
+ };
36
+ export declare function isAssertStmt(item: unknown): item is AssertStmt;
37
+ export interface AssignStmt extends langium.AstNode {
38
+ readonly $container: Block;
39
+ readonly $type: 'AssignStmt';
40
+ name: Name;
41
+ value: Initializer;
42
+ }
43
+ export declare const AssignStmt: {
44
+ readonly $type: "AssignStmt";
45
+ readonly name: "name";
46
+ readonly value: "value";
47
+ };
48
+ export declare function isAssignStmt(item: unknown): item is AssignStmt;
49
+ export interface AwaitOperation extends langium.AstNode {
50
+ readonly $container: AssignStmt | AwaitStmt | LocalStmt;
51
+ readonly $type: 'AwaitOperation';
52
+ channel?: Name;
53
+ duration?: Expr;
54
+ ticks: boolean;
55
+ }
56
+ export declare const AwaitOperation: {
57
+ readonly $type: "AwaitOperation";
58
+ readonly channel: "channel";
59
+ readonly duration: "duration";
60
+ readonly ticks: "ticks";
61
+ };
62
+ export declare function isAwaitOperation(item: unknown): item is AwaitOperation;
63
+ export interface AwaitStmt extends langium.AstNode {
64
+ readonly $container: Block;
65
+ readonly $type: 'AwaitStmt';
66
+ value: AwaitOperation;
67
+ }
68
+ export declare const AwaitStmt: {
69
+ readonly $type: "AwaitStmt";
70
+ readonly value: "value";
71
+ };
72
+ export declare function isAwaitStmt(item: unknown): item is AwaitStmt;
73
+ export interface Binary extends langium.AstNode {
74
+ readonly $container: AssertStmt | AssignStmt | AwaitOperation | Binary | BytesLiteral | Call | CallStmt | Capture | ConstantDecl | DerivedDecl | IfStmt | IndexAccess | IntentLiteral | IntentStmt | LocalStmt | MatchStmt | MemberAccess | MemoryDecl | NamedArgument | PinDecl | PositionalArgument | Property | RedirectStmt | ReturnStmt | Select | StateDecl | Unary | WhileStmt;
75
+ readonly $type: 'Binary';
76
+ left: Expr;
77
+ op: '!=' | '%' | '&&' | '&' | '*' | '**' | '+' | '-' | '/' | '<' | '<<' | '<=' | '==' | '>' | '>=' | '>>' | '>>>' | '^' | '|' | '||';
78
+ right: Expr;
79
+ }
80
+ export declare const Binary: {
81
+ readonly $type: "Binary";
82
+ readonly left: "left";
83
+ readonly op: "op";
84
+ readonly right: "right";
85
+ };
86
+ export declare function isBinary(item: unknown): item is Binary;
87
+ export interface Block extends langium.AstNode {
88
+ readonly $container: FunctionDecl | IfStmt | LoopStmt | MatchArm | ProcessDecl | ReactionDecl | WhileStmt;
89
+ readonly $type: 'Block';
90
+ statements: Array<Statement>;
91
+ }
92
+ export declare const Block: {
93
+ readonly $type: "Block";
94
+ readonly statements: "statements";
95
+ };
96
+ export declare function isBlock(item: unknown): item is Block;
97
+ export interface BreakStmt extends langium.AstNode {
98
+ readonly $container: Block;
99
+ readonly $type: 'BreakStmt';
100
+ }
101
+ export declare const BreakStmt: {
102
+ readonly $type: "BreakStmt";
103
+ };
104
+ export declare function isBreakStmt(item: unknown): item is BreakStmt;
105
+ export interface BytesLiteral extends langium.AstNode {
106
+ readonly $container: AssertStmt | AssignStmt | AwaitOperation | Binary | BytesLiteral | Call | CallStmt | Capture | ConstantDecl | DerivedDecl | IfStmt | IndexAccess | IntentLiteral | IntentStmt | LocalStmt | MatchStmt | MemberAccess | MemoryDecl | NamedArgument | PinDecl | PositionalArgument | Property | RedirectStmt | ReturnStmt | Select | StateDecl | Unary | WhileStmt;
107
+ readonly $type: 'BytesLiteral';
108
+ elements: Array<Expr>;
109
+ }
110
+ export declare const BytesLiteral: {
111
+ readonly $type: "BytesLiteral";
112
+ readonly elements: "elements";
113
+ };
114
+ export declare function isBytesLiteral(item: unknown): item is BytesLiteral;
115
+ export interface Call extends langium.AstNode {
116
+ readonly $container: AssertStmt | AssignStmt | AwaitOperation | Binary | BytesLiteral | Call | CallStmt | Capture | ConstantDecl | DerivedDecl | IfStmt | IndexAccess | IntentLiteral | IntentStmt | LocalStmt | MatchStmt | MemberAccess | MemoryDecl | NamedArgument | PinDecl | PositionalArgument | Property | RedirectStmt | ReturnStmt | Select | StateDecl | Unary | WhileStmt;
117
+ readonly $type: 'Call';
118
+ args: Array<Argument>;
119
+ callee: Expr;
120
+ }
121
+ export declare const Call: {
122
+ readonly $type: "Call";
123
+ readonly args: "args";
124
+ readonly callee: "callee";
125
+ };
126
+ export declare function isCall(item: unknown): item is Call;
127
+ export interface CallStmt extends langium.AstNode {
128
+ readonly $container: Block;
129
+ readonly $type: 'CallStmt';
130
+ value: Expr;
131
+ }
132
+ export declare const CallStmt: {
133
+ readonly $type: "CallStmt";
134
+ readonly value: "value";
135
+ };
136
+ export declare function isCallStmt(item: unknown): item is CallStmt;
137
+ export interface Capture extends langium.AstNode {
138
+ readonly $container: ReactionDecl;
139
+ readonly $type: 'Capture';
140
+ name: Name;
141
+ value: Expr;
142
+ }
143
+ export declare const Capture: {
144
+ readonly $type: "Capture";
145
+ readonly name: "name";
146
+ readonly value: "value";
147
+ };
148
+ export declare function isCapture(item: unknown): item is Capture;
149
+ export interface ChannelDecl extends langium.AstNode {
150
+ readonly $container: Device;
151
+ readonly $type: 'ChannelDecl';
152
+ direction: 'input' | 'output';
153
+ name: Name;
154
+ options: Array<NamedArgument>;
155
+ type: ValueType;
156
+ }
157
+ export declare const ChannelDecl: {
158
+ readonly $type: "ChannelDecl";
159
+ readonly direction: "direction";
160
+ readonly name: "name";
161
+ readonly options: "options";
162
+ readonly type: "type";
163
+ };
164
+ export declare function isChannelDecl(item: unknown): item is ChannelDecl;
165
+ export interface ConstantDecl extends langium.AstNode {
166
+ readonly $container: Device;
167
+ readonly $type: 'ConstantDecl';
168
+ name: Name;
169
+ type?: ValueType;
170
+ value: Expr;
171
+ }
172
+ export declare const ConstantDecl: {
173
+ readonly $type: "ConstantDecl";
174
+ readonly name: "name";
175
+ readonly type: "type";
176
+ readonly value: "value";
177
+ };
178
+ export declare function isConstantDecl(item: unknown): item is ConstantDecl;
179
+ export interface ContinueStmt extends langium.AstNode {
180
+ readonly $container: Block;
181
+ readonly $type: 'ContinueStmt';
182
+ }
183
+ export declare const ContinueStmt: {
184
+ readonly $type: "ContinueStmt";
185
+ };
186
+ export declare function isContinueStmt(item: unknown): item is ContinueStmt;
187
+ export interface DerivedDecl extends langium.AstNode {
188
+ readonly $container: Device;
189
+ readonly $type: 'DerivedDecl';
190
+ name: Name;
191
+ type: ValueType;
192
+ value: Expr;
193
+ }
194
+ export declare const DerivedDecl: {
195
+ readonly $type: "DerivedDecl";
196
+ readonly name: "name";
197
+ readonly type: "type";
198
+ readonly value: "value";
199
+ };
200
+ export declare function isDerivedDecl(item: unknown): item is DerivedDecl;
201
+ export interface Device extends langium.AstNode {
202
+ readonly $type: 'Device';
203
+ members: Array<Member>;
204
+ name: Name;
205
+ properties: Array<Property>;
206
+ }
207
+ export declare const Device: {
208
+ readonly $type: "Device";
209
+ readonly members: "members";
210
+ readonly name: "name";
211
+ readonly properties: "properties";
212
+ };
213
+ export declare function isDevice(item: unknown): item is Device;
214
+ export interface EnumDecl extends langium.AstNode {
215
+ readonly $container: Device;
216
+ readonly $type: 'EnumDecl';
217
+ members: Array<Name>;
218
+ name: Name;
219
+ }
220
+ export declare const EnumDecl: {
221
+ readonly $type: "EnumDecl";
222
+ readonly members: "members";
223
+ readonly name: "name";
224
+ };
225
+ export declare function isEnumDecl(item: unknown): item is EnumDecl;
226
+ export type Expr = Binary | BytesLiteral | Call | IndexAccess | IntentLiteral | Literal | MemberAccess | NumberLiteral | RecordLiteral | Reference | Select | StringLiteral | Unary;
227
+ export declare const Expr: {
228
+ readonly $type: "Expr";
229
+ };
230
+ export declare function isExpr(item: unknown): item is Expr;
231
+ export interface FunctionDecl extends langium.AstNode {
232
+ readonly $container: Device;
233
+ readonly $type: 'FunctionDecl';
234
+ body: Block;
235
+ name: Name;
236
+ params: Array<Parameter>;
237
+ pure: boolean;
238
+ returns?: ValueType;
239
+ }
240
+ export declare const FunctionDecl: {
241
+ readonly $type: "FunctionDecl";
242
+ readonly body: "body";
243
+ readonly name: "name";
244
+ readonly params: "params";
245
+ readonly pure: "pure";
246
+ readonly returns: "returns";
247
+ };
248
+ export declare function isFunctionDecl(item: unknown): item is FunctionDecl;
249
+ export interface IfStmt extends langium.AstNode {
250
+ readonly $container: Block | IfStmt;
251
+ readonly $type: 'IfStmt';
252
+ alternate?: IfStmt;
253
+ condition: Expr;
254
+ no?: Block;
255
+ yes: Block;
256
+ }
257
+ export declare const IfStmt: {
258
+ readonly $type: "IfStmt";
259
+ readonly alternate: "alternate";
260
+ readonly condition: "condition";
261
+ readonly no: "no";
262
+ readonly yes: "yes";
263
+ };
264
+ export declare function isIfStmt(item: unknown): item is IfStmt;
265
+ export interface IndexAccess extends langium.AstNode {
266
+ readonly $container: AssertStmt | AssignStmt | AwaitOperation | Binary | BytesLiteral | Call | CallStmt | Capture | ConstantDecl | DerivedDecl | IfStmt | IndexAccess | IntentLiteral | IntentStmt | LocalStmt | MatchStmt | MemberAccess | MemoryDecl | NamedArgument | PinDecl | PositionalArgument | Property | RedirectStmt | ReturnStmt | Select | StateDecl | Unary | WhileStmt;
267
+ readonly $type: 'IndexAccess';
268
+ index: Expr;
269
+ object: Expr;
270
+ }
271
+ export declare const IndexAccess: {
272
+ readonly $type: "IndexAccess";
273
+ readonly index: "index";
274
+ readonly object: "object";
275
+ };
276
+ export declare function isIndexAccess(item: unknown): item is IndexAccess;
277
+ export type Initializer = AwaitOperation | Expr;
278
+ export declare const Initializer: {
279
+ readonly $type: "Initializer";
280
+ };
281
+ export declare function isInitializer(item: unknown): item is Initializer;
282
+ export interface IntentLiteral extends langium.AstNode {
283
+ readonly $container: AssertStmt | AssignStmt | AwaitOperation | Binary | BytesLiteral | Call | CallStmt | Capture | ConstantDecl | DerivedDecl | IfStmt | IndexAccess | IntentLiteral | IntentStmt | LocalStmt | MatchStmt | MemberAccess | MemoryDecl | NamedArgument | PinDecl | PositionalArgument | Property | RedirectStmt | ReturnStmt | Select | StateDecl | Unary | WhileStmt;
284
+ readonly $type: 'IntentLiteral';
285
+ elements: Array<Expr>;
286
+ }
287
+ export declare const IntentLiteral: {
288
+ readonly $type: "IntentLiteral";
289
+ readonly elements: "elements";
290
+ };
291
+ export declare function isIntentLiteral(item: unknown): item is IntentLiteral;
292
+ export interface IntentStmt extends langium.AstNode {
293
+ readonly $container: Block;
294
+ readonly $type: 'IntentStmt';
295
+ name: Name;
296
+ value: Expr;
297
+ }
298
+ export declare const IntentStmt: {
299
+ readonly $type: "IntentStmt";
300
+ readonly name: "name";
301
+ readonly value: "value";
302
+ };
303
+ export declare function isIntentStmt(item: unknown): item is IntentStmt;
304
+ export interface Literal extends langium.AstNode {
305
+ readonly $container: AssertStmt | AssignStmt | AwaitOperation | Binary | BytesLiteral | Call | CallStmt | Capture | ConstantDecl | DerivedDecl | IfStmt | IndexAccess | IntentLiteral | IntentStmt | LocalStmt | MatchStmt | MemberAccess | MemoryDecl | NamedArgument | PinDecl | PositionalArgument | Property | RedirectStmt | ReturnStmt | Select | StateDecl | Unary | WhileStmt;
306
+ readonly $type: 'Literal';
307
+ value: 'Infinity' | 'NaN' | 'false' | 'none' | 'true';
308
+ }
309
+ export declare const Literal: {
310
+ readonly $type: "Literal";
311
+ readonly value: "value";
312
+ };
313
+ export declare function isLiteral(item: unknown): item is Literal;
314
+ export interface LocalStmt extends langium.AstNode {
315
+ readonly $container: Block;
316
+ readonly $type: 'LocalStmt';
317
+ binding: 'const' | 'let';
318
+ name: Name;
319
+ type?: ValueType;
320
+ value: Initializer;
321
+ }
322
+ export declare const LocalStmt: {
323
+ readonly $type: "LocalStmt";
324
+ readonly binding: "binding";
325
+ readonly name: "name";
326
+ readonly type: "type";
327
+ readonly value: "value";
328
+ };
329
+ export declare function isLocalStmt(item: unknown): item is LocalStmt;
330
+ export interface LoopStmt extends langium.AstNode {
331
+ readonly $container: Block;
332
+ readonly $type: 'LoopStmt';
333
+ body: Block;
334
+ }
335
+ export declare const LoopStmt: {
336
+ readonly $type: "LoopStmt";
337
+ readonly body: "body";
338
+ };
339
+ export declare function isLoopStmt(item: unknown): item is LoopStmt;
340
+ export interface MatchArm extends langium.AstNode {
341
+ readonly $container: MatchStmt;
342
+ readonly $type: 'MatchArm';
343
+ body: Block;
344
+ pattern: Pattern;
345
+ }
346
+ export declare const MatchArm: {
347
+ readonly $type: "MatchArm";
348
+ readonly body: "body";
349
+ readonly pattern: "pattern";
350
+ };
351
+ export declare function isMatchArm(item: unknown): item is MatchArm;
352
+ export interface MatchStmt extends langium.AstNode {
353
+ readonly $container: Block;
354
+ readonly $type: 'MatchStmt';
355
+ arms: Array<MatchArm>;
356
+ value: Expr;
357
+ }
358
+ export declare const MatchStmt: {
359
+ readonly $type: "MatchStmt";
360
+ readonly arms: "arms";
361
+ readonly value: "value";
362
+ };
363
+ export declare function isMatchStmt(item: unknown): item is MatchStmt;
364
+ export type Member = AssertStmt | ChannelDecl | ConstantDecl | DerivedDecl | EnumDecl | FunctionDecl | MemoryDecl | NotificationDecl | PinDecl | ProcessDecl | ReactionDecl | RecordDecl | StateDecl;
365
+ export declare const Member: {
366
+ readonly $type: "Member";
367
+ };
368
+ export declare function isMember(item: unknown): item is Member;
369
+ export interface MemberAccess extends langium.AstNode {
370
+ readonly $container: AssertStmt | AssignStmt | AwaitOperation | Binary | BytesLiteral | Call | CallStmt | Capture | ConstantDecl | DerivedDecl | IfStmt | IndexAccess | IntentLiteral | IntentStmt | LocalStmt | MatchStmt | MemberAccess | MemoryDecl | NamedArgument | PinDecl | PositionalArgument | Property | RedirectStmt | ReturnStmt | Select | StateDecl | Unary | WhileStmt;
371
+ readonly $type: 'MemberAccess';
372
+ member: Name;
373
+ object: Expr;
374
+ }
375
+ export declare const MemberAccess: {
376
+ readonly $type: "MemberAccess";
377
+ readonly member: "member";
378
+ readonly object: "object";
379
+ };
380
+ export declare function isMemberAccess(item: unknown): item is MemberAccess;
381
+ export interface MemoryDecl extends langium.AstNode {
382
+ readonly $container: Device;
383
+ readonly $type: 'MemoryDecl';
384
+ length: Expr;
385
+ name: Name;
386
+ public: boolean;
387
+ }
388
+ export declare const MemoryDecl: {
389
+ readonly $type: "MemoryDecl";
390
+ readonly length: "length";
391
+ readonly name: "name";
392
+ readonly public: "public";
393
+ };
394
+ export declare function isMemoryDecl(item: unknown): item is MemoryDecl;
395
+ export type Name = 'channel' | 'delay' | 'duration' | 'input' | 'intent' | 'notification' | 'output' | 'public' | 'receive' | 'sample' | 'start' | 'ticks' | string;
396
+ export declare function isName(item: unknown): item is Name;
397
+ export interface NamedArgument extends langium.AstNode {
398
+ readonly $container: Call | ChannelDecl | PinDecl | RecordLiteral;
399
+ readonly $type: 'NamedArgument';
400
+ name: ArgumentName;
401
+ value: Expr;
402
+ }
403
+ export declare const NamedArgument: {
404
+ readonly $type: "NamedArgument";
405
+ readonly name: "name";
406
+ readonly value: "value";
407
+ };
408
+ export declare function isNamedArgument(item: unknown): item is NamedArgument;
409
+ export interface NotificationDecl extends langium.AstNode {
410
+ readonly $container: Device;
411
+ readonly $type: 'NotificationDecl';
412
+ direction: 'input' | 'output';
413
+ name: Name;
414
+ }
415
+ export declare const NotificationDecl: {
416
+ readonly $type: "NotificationDecl";
417
+ readonly direction: "direction";
418
+ readonly name: "name";
419
+ };
420
+ export declare function isNotificationDecl(item: unknown): item is NotificationDecl;
421
+ export interface NumberLiteral extends langium.AstNode {
422
+ readonly $container: AssertStmt | AssignStmt | AwaitOperation | Binary | BytesLiteral | Call | CallStmt | Capture | ConstantDecl | DerivedDecl | IfStmt | IndexAccess | IntentLiteral | IntentStmt | LocalStmt | MatchStmt | MemberAccess | MemoryDecl | NamedArgument | PinDecl | PositionalArgument | Property | RedirectStmt | ReturnStmt | Select | StateDecl | Unary | WhileStmt;
423
+ readonly $type: 'NumberLiteral';
424
+ value: string;
425
+ }
426
+ export declare const NumberLiteral: {
427
+ readonly $type: "NumberLiteral";
428
+ readonly value: "value";
429
+ };
430
+ export declare function isNumberLiteral(item: unknown): item is NumberLiteral;
431
+ export interface Parameter extends langium.AstNode {
432
+ readonly $container: FunctionDecl;
433
+ readonly $type: 'Parameter';
434
+ name: Name;
435
+ type: ParameterType;
436
+ }
437
+ export declare const Parameter: {
438
+ readonly $type: "Parameter";
439
+ readonly name: "name";
440
+ readonly type: "type";
441
+ };
442
+ export declare function isParameter(item: unknown): item is Parameter;
443
+ export interface ParameterType extends langium.AstNode {
444
+ readonly $container: Parameter;
445
+ readonly $type: 'ParameterType';
446
+ name?: 'memory' | 'pin';
447
+ value?: ValueType;
448
+ }
449
+ export declare const ParameterType: {
450
+ readonly $type: "ParameterType";
451
+ readonly name: "name";
452
+ readonly value: "value";
453
+ };
454
+ export declare function isParameterType(item: unknown): item is ParameterType;
455
+ export interface Pattern extends langium.AstNode {
456
+ readonly $container: MatchArm;
457
+ readonly $type: 'Pattern';
458
+ enum?: Name;
459
+ literal?: 'false' | 'none' | 'true';
460
+ member?: Name;
461
+ number?: string;
462
+ sign?: '+' | '-';
463
+ string?: string;
464
+ wildcard: boolean;
465
+ }
466
+ export declare const Pattern: {
467
+ readonly $type: "Pattern";
468
+ readonly enum: "enum";
469
+ readonly literal: "literal";
470
+ readonly member: "member";
471
+ readonly number: "number";
472
+ readonly sign: "sign";
473
+ readonly string: "string";
474
+ readonly wildcard: "wildcard";
475
+ };
476
+ export declare function isPattern(item: unknown): item is Pattern;
477
+ export interface PinDecl extends langium.AstNode {
478
+ readonly $container: Device;
479
+ readonly $type: 'PinDecl';
480
+ name: Name;
481
+ options: Array<NamedArgument>;
482
+ value?: Expr;
483
+ }
484
+ export declare const PinDecl: {
485
+ readonly $type: "PinDecl";
486
+ readonly name: "name";
487
+ readonly options: "options";
488
+ readonly value: "value";
489
+ };
490
+ export declare function isPinDecl(item: unknown): item is PinDecl;
491
+ export interface PositionalArgument extends langium.AstNode {
492
+ readonly $container: Call;
493
+ readonly $type: 'PositionalArgument';
494
+ value: Expr;
495
+ }
496
+ export declare const PositionalArgument: {
497
+ readonly $type: "PositionalArgument";
498
+ readonly value: "value";
499
+ };
500
+ export declare function isPositionalArgument(item: unknown): item is PositionalArgument;
501
+ export interface ProcessDecl extends langium.AstNode {
502
+ readonly $container: Device;
503
+ readonly $type: 'ProcessDecl';
504
+ body: Block;
505
+ name: Name;
506
+ path?: SourcePath;
507
+ }
508
+ export declare const ProcessDecl: {
509
+ readonly $type: "ProcessDecl";
510
+ readonly body: "body";
511
+ readonly name: "name";
512
+ readonly path: "path";
513
+ };
514
+ export declare function isProcessDecl(item: unknown): item is ProcessDecl;
515
+ export interface Property extends langium.AstNode {
516
+ readonly $container: Device;
517
+ readonly $type: 'Property';
518
+ name: Name;
519
+ type: ValueType;
520
+ value?: Expr;
521
+ }
522
+ export declare const Property: {
523
+ readonly $type: "Property";
524
+ readonly name: "name";
525
+ readonly type: "type";
526
+ readonly value: "value";
527
+ };
528
+ export declare function isProperty(item: unknown): item is Property;
529
+ export interface ReactionDecl extends langium.AstNode {
530
+ readonly $container: Device;
531
+ readonly $type: 'ReactionDecl';
532
+ body: Block;
533
+ captures: Array<Capture>;
534
+ current: Name;
535
+ name: Name;
536
+ path: SourcePath;
537
+ previous: Name;
538
+ }
539
+ export declare const ReactionDecl: {
540
+ readonly $type: "ReactionDecl";
541
+ readonly body: "body";
542
+ readonly captures: "captures";
543
+ readonly current: "current";
544
+ readonly name: "name";
545
+ readonly path: "path";
546
+ readonly previous: "previous";
547
+ };
548
+ export declare function isReactionDecl(item: unknown): item is ReactionDecl;
549
+ export interface RecordDecl extends langium.AstNode {
550
+ readonly $container: Device;
551
+ readonly $type: 'RecordDecl';
552
+ fields: Array<RecordField>;
553
+ name: Name;
554
+ }
555
+ export declare const RecordDecl: {
556
+ readonly $type: "RecordDecl";
557
+ readonly fields: "fields";
558
+ readonly name: "name";
559
+ };
560
+ export declare function isRecordDecl(item: unknown): item is RecordDecl;
561
+ export interface RecordField extends langium.AstNode {
562
+ readonly $container: RecordDecl;
563
+ readonly $type: 'RecordField';
564
+ name: Name;
565
+ type: 'bool' | 'number';
566
+ }
567
+ export declare const RecordField: {
568
+ readonly $type: "RecordField";
569
+ readonly name: "name";
570
+ readonly type: "type";
571
+ };
572
+ export declare function isRecordField(item: unknown): item is RecordField;
573
+ export interface RecordLiteral extends langium.AstNode {
574
+ readonly $container: AssertStmt | AssignStmt | AwaitOperation | Binary | BytesLiteral | Call | CallStmt | Capture | ConstantDecl | DerivedDecl | IfStmt | IndexAccess | IntentLiteral | IntentStmt | LocalStmt | MatchStmt | MemberAccess | MemoryDecl | NamedArgument | PinDecl | PositionalArgument | Property | RedirectStmt | ReturnStmt | Select | StateDecl | Unary | WhileStmt;
575
+ readonly $type: 'RecordLiteral';
576
+ fields: Array<NamedArgument>;
577
+ }
578
+ export declare const RecordLiteral: {
579
+ readonly $type: "RecordLiteral";
580
+ readonly fields: "fields";
581
+ };
582
+ export declare function isRecordLiteral(item: unknown): item is RecordLiteral;
583
+ export interface RedirectStmt extends langium.AstNode {
584
+ readonly $container: Block;
585
+ readonly $type: 'RedirectStmt';
586
+ delay?: Expr;
587
+ target: Expr;
588
+ }
589
+ export declare const RedirectStmt: {
590
+ readonly $type: "RedirectStmt";
591
+ readonly delay: "delay";
592
+ readonly target: "target";
593
+ };
594
+ export declare function isRedirectStmt(item: unknown): item is RedirectStmt;
595
+ export interface Reference extends langium.AstNode {
596
+ readonly $container: AssertStmt | AssignStmt | AwaitOperation | Binary | BytesLiteral | Call | CallStmt | Capture | ConstantDecl | DerivedDecl | IfStmt | IndexAccess | IntentLiteral | IntentStmt | LocalStmt | MatchStmt | MemberAccess | MemoryDecl | NamedArgument | PinDecl | PositionalArgument | Property | RedirectStmt | ReturnStmt | Select | StateDecl | Unary | WhileStmt;
597
+ readonly $type: 'Reference';
598
+ name: Name;
599
+ }
600
+ export declare const Reference: {
601
+ readonly $type: "Reference";
602
+ readonly name: "name";
603
+ };
604
+ export declare function isReference(item: unknown): item is Reference;
605
+ export interface ReturnStmt extends langium.AstNode {
606
+ readonly $container: Block;
607
+ readonly $type: 'ReturnStmt';
608
+ value?: Expr;
609
+ }
610
+ export declare const ReturnStmt: {
611
+ readonly $type: "ReturnStmt";
612
+ readonly value: "value";
613
+ };
614
+ export declare function isReturnStmt(item: unknown): item is ReturnStmt;
615
+ export interface Select extends langium.AstNode {
616
+ readonly $container: AssertStmt | AssignStmt | AwaitOperation | Binary | BytesLiteral | Call | CallStmt | Capture | ConstantDecl | DerivedDecl | IfStmt | IndexAccess | IntentLiteral | IntentStmt | LocalStmt | MatchStmt | MemberAccess | MemoryDecl | NamedArgument | PinDecl | PositionalArgument | Property | RedirectStmt | ReturnStmt | Select | StateDecl | Unary | WhileStmt;
617
+ readonly $type: 'Select';
618
+ condition: Expr;
619
+ no: Expr;
620
+ yes: Expr;
621
+ }
622
+ export declare const Select: {
623
+ readonly $type: "Select";
624
+ readonly condition: "condition";
625
+ readonly no: "no";
626
+ readonly yes: "yes";
627
+ };
628
+ export declare function isSelect(item: unknown): item is Select;
629
+ export interface SourcePath extends langium.AstNode {
630
+ readonly $container: ProcessDecl | ReactionDecl;
631
+ readonly $type: 'SourcePath';
632
+ parts: Array<Name>;
633
+ }
634
+ export declare const SourcePath: {
635
+ readonly $type: "SourcePath";
636
+ readonly parts: "parts";
637
+ };
638
+ export declare function isSourcePath(item: unknown): item is SourcePath;
639
+ export interface StateDecl extends langium.AstNode {
640
+ readonly $container: Device;
641
+ readonly $type: 'StateDecl';
642
+ name: Name;
643
+ type: ValueType;
644
+ value: Expr;
645
+ }
646
+ export declare const StateDecl: {
647
+ readonly $type: "StateDecl";
648
+ readonly name: "name";
649
+ readonly type: "type";
650
+ readonly value: "value";
651
+ };
652
+ export declare function isStateDecl(item: unknown): item is StateDecl;
653
+ export type Statement = AssertStmt | AssignStmt | AwaitStmt | BreakStmt | CallStmt | ContinueStmt | IfStmt | IntentStmt | LocalStmt | LoopStmt | MatchStmt | RedirectStmt | ReturnStmt | WhileStmt;
654
+ export declare const Statement: {
655
+ readonly $type: "Statement";
656
+ };
657
+ export declare function isStatement(item: unknown): item is Statement;
658
+ export interface StringLiteral extends langium.AstNode {
659
+ readonly $container: AssertStmt | AssignStmt | AwaitOperation | Binary | BytesLiteral | Call | CallStmt | Capture | ConstantDecl | DerivedDecl | IfStmt | IndexAccess | IntentLiteral | IntentStmt | LocalStmt | MatchStmt | MemberAccess | MemoryDecl | NamedArgument | PinDecl | PositionalArgument | Property | RedirectStmt | ReturnStmt | Select | StateDecl | Unary | WhileStmt;
660
+ readonly $type: 'StringLiteral';
661
+ value: string;
662
+ }
663
+ export declare const StringLiteral: {
664
+ readonly $type: "StringLiteral";
665
+ readonly value: "value";
666
+ };
667
+ export declare function isStringLiteral(item: unknown): item is StringLiteral;
668
+ export interface Unary extends langium.AstNode {
669
+ readonly $container: AssertStmt | AssignStmt | AwaitOperation | Binary | BytesLiteral | Call | CallStmt | Capture | ConstantDecl | DerivedDecl | IfStmt | IndexAccess | IntentLiteral | IntentStmt | LocalStmt | MatchStmt | MemberAccess | MemoryDecl | NamedArgument | PinDecl | PositionalArgument | Property | RedirectStmt | ReturnStmt | Select | StateDecl | Unary | WhileStmt;
670
+ readonly $type: 'Unary';
671
+ op: '!' | '+' | '-' | '~';
672
+ value: Expr;
673
+ }
674
+ export declare const Unary: {
675
+ readonly $type: "Unary";
676
+ readonly op: "op";
677
+ readonly value: "value";
678
+ };
679
+ export declare function isUnary(item: unknown): item is Unary;
680
+ export interface ValueType extends langium.AstNode {
681
+ readonly $container: ChannelDecl | ConstantDecl | DerivedDecl | FunctionDecl | LocalStmt | ParameterType | Property | StateDecl;
682
+ readonly $type: 'ValueType';
683
+ name: 'bool' | 'bytes' | 'number' | 'string' | Name;
684
+ optional: boolean;
685
+ }
686
+ export declare const ValueType: {
687
+ readonly $type: "ValueType";
688
+ readonly name: "name";
689
+ readonly optional: "optional";
690
+ };
691
+ export declare function isValueType(item: unknown): item is ValueType;
692
+ export interface WhileStmt extends langium.AstNode {
693
+ readonly $container: Block;
694
+ readonly $type: 'WhileStmt';
695
+ body: Block;
696
+ condition: Expr;
697
+ }
698
+ export declare const WhileStmt: {
699
+ readonly $type: "WhileStmt";
700
+ readonly body: "body";
701
+ readonly condition: "condition";
702
+ };
703
+ export declare function isWhileStmt(item: unknown): item is WhileStmt;
704
+ export type DDLAstType = {
705
+ Argument: Argument;
706
+ AssertStmt: AssertStmt;
707
+ AssignStmt: AssignStmt;
708
+ AwaitOperation: AwaitOperation;
709
+ AwaitStmt: AwaitStmt;
710
+ Binary: Binary;
711
+ Block: Block;
712
+ BreakStmt: BreakStmt;
713
+ BytesLiteral: BytesLiteral;
714
+ Call: Call;
715
+ CallStmt: CallStmt;
716
+ Capture: Capture;
717
+ ChannelDecl: ChannelDecl;
718
+ ConstantDecl: ConstantDecl;
719
+ ContinueStmt: ContinueStmt;
720
+ DerivedDecl: DerivedDecl;
721
+ Device: Device;
722
+ EnumDecl: EnumDecl;
723
+ Expr: Expr;
724
+ FunctionDecl: FunctionDecl;
725
+ IfStmt: IfStmt;
726
+ IndexAccess: IndexAccess;
727
+ Initializer: Initializer;
728
+ IntentLiteral: IntentLiteral;
729
+ IntentStmt: IntentStmt;
730
+ Literal: Literal;
731
+ LocalStmt: LocalStmt;
732
+ LoopStmt: LoopStmt;
733
+ MatchArm: MatchArm;
734
+ MatchStmt: MatchStmt;
735
+ Member: Member;
736
+ MemberAccess: MemberAccess;
737
+ MemoryDecl: MemoryDecl;
738
+ NamedArgument: NamedArgument;
739
+ NotificationDecl: NotificationDecl;
740
+ NumberLiteral: NumberLiteral;
741
+ Parameter: Parameter;
742
+ ParameterType: ParameterType;
743
+ Pattern: Pattern;
744
+ PinDecl: PinDecl;
745
+ PositionalArgument: PositionalArgument;
746
+ ProcessDecl: ProcessDecl;
747
+ Property: Property;
748
+ ReactionDecl: ReactionDecl;
749
+ RecordDecl: RecordDecl;
750
+ RecordField: RecordField;
751
+ RecordLiteral: RecordLiteral;
752
+ RedirectStmt: RedirectStmt;
753
+ Reference: Reference;
754
+ ReturnStmt: ReturnStmt;
755
+ Select: Select;
756
+ SourcePath: SourcePath;
757
+ StateDecl: StateDecl;
758
+ Statement: Statement;
759
+ StringLiteral: StringLiteral;
760
+ Unary: Unary;
761
+ ValueType: ValueType;
762
+ WhileStmt: WhileStmt;
763
+ };
764
+ export declare class DDLAstReflection extends langium.AbstractAstReflection {
765
+ readonly types: {
766
+ readonly Argument: {
767
+ readonly name: "Argument";
768
+ readonly properties: {};
769
+ readonly superTypes: [];
770
+ };
771
+ readonly AssertStmt: {
772
+ readonly name: "AssertStmt";
773
+ readonly properties: {
774
+ readonly condition: {
775
+ readonly name: "condition";
776
+ };
777
+ readonly message: {
778
+ readonly name: "message";
779
+ readonly optional: true;
780
+ };
781
+ };
782
+ readonly superTypes: ["Member", "Statement"];
783
+ };
784
+ readonly AssignStmt: {
785
+ readonly name: "AssignStmt";
786
+ readonly properties: {
787
+ readonly name: {
788
+ readonly name: "name";
789
+ };
790
+ readonly value: {
791
+ readonly name: "value";
792
+ };
793
+ };
794
+ readonly superTypes: ["Statement"];
795
+ };
796
+ readonly AwaitOperation: {
797
+ readonly name: "AwaitOperation";
798
+ readonly properties: {
799
+ readonly channel: {
800
+ readonly name: "channel";
801
+ readonly optional: true;
802
+ };
803
+ readonly duration: {
804
+ readonly name: "duration";
805
+ readonly optional: true;
806
+ };
807
+ readonly ticks: {
808
+ readonly name: "ticks";
809
+ readonly defaultValue: false;
810
+ readonly optional: true;
811
+ };
812
+ };
813
+ readonly superTypes: ["Initializer"];
814
+ };
815
+ readonly AwaitStmt: {
816
+ readonly name: "AwaitStmt";
817
+ readonly properties: {
818
+ readonly value: {
819
+ readonly name: "value";
820
+ };
821
+ };
822
+ readonly superTypes: ["Statement"];
823
+ };
824
+ readonly Binary: {
825
+ readonly name: "Binary";
826
+ readonly properties: {
827
+ readonly left: {
828
+ readonly name: "left";
829
+ };
830
+ readonly op: {
831
+ readonly name: "op";
832
+ };
833
+ readonly right: {
834
+ readonly name: "right";
835
+ };
836
+ };
837
+ readonly superTypes: ["Expr"];
838
+ };
839
+ readonly Block: {
840
+ readonly name: "Block";
841
+ readonly properties: {
842
+ readonly statements: {
843
+ readonly name: "statements";
844
+ readonly defaultValue: [];
845
+ readonly optional: true;
846
+ };
847
+ };
848
+ readonly superTypes: [];
849
+ };
850
+ readonly BreakStmt: {
851
+ readonly name: "BreakStmt";
852
+ readonly properties: {};
853
+ readonly superTypes: ["Statement"];
854
+ };
855
+ readonly BytesLiteral: {
856
+ readonly name: "BytesLiteral";
857
+ readonly properties: {
858
+ readonly elements: {
859
+ readonly name: "elements";
860
+ readonly defaultValue: [];
861
+ readonly optional: true;
862
+ };
863
+ };
864
+ readonly superTypes: ["Expr"];
865
+ };
866
+ readonly Call: {
867
+ readonly name: "Call";
868
+ readonly properties: {
869
+ readonly args: {
870
+ readonly name: "args";
871
+ readonly defaultValue: [];
872
+ readonly optional: true;
873
+ };
874
+ readonly callee: {
875
+ readonly name: "callee";
876
+ };
877
+ };
878
+ readonly superTypes: ["Expr"];
879
+ };
880
+ readonly CallStmt: {
881
+ readonly name: "CallStmt";
882
+ readonly properties: {
883
+ readonly value: {
884
+ readonly name: "value";
885
+ };
886
+ };
887
+ readonly superTypes: ["Statement"];
888
+ };
889
+ readonly Capture: {
890
+ readonly name: "Capture";
891
+ readonly properties: {
892
+ readonly name: {
893
+ readonly name: "name";
894
+ };
895
+ readonly value: {
896
+ readonly name: "value";
897
+ };
898
+ };
899
+ readonly superTypes: [];
900
+ };
901
+ readonly ChannelDecl: {
902
+ readonly name: "ChannelDecl";
903
+ readonly properties: {
904
+ readonly direction: {
905
+ readonly name: "direction";
906
+ };
907
+ readonly name: {
908
+ readonly name: "name";
909
+ };
910
+ readonly options: {
911
+ readonly name: "options";
912
+ readonly defaultValue: [];
913
+ };
914
+ readonly type: {
915
+ readonly name: "type";
916
+ };
917
+ };
918
+ readonly superTypes: ["Member"];
919
+ };
920
+ readonly ConstantDecl: {
921
+ readonly name: "ConstantDecl";
922
+ readonly properties: {
923
+ readonly name: {
924
+ readonly name: "name";
925
+ };
926
+ readonly type: {
927
+ readonly name: "type";
928
+ readonly optional: true;
929
+ };
930
+ readonly value: {
931
+ readonly name: "value";
932
+ };
933
+ };
934
+ readonly superTypes: ["Member"];
935
+ };
936
+ readonly ContinueStmt: {
937
+ readonly name: "ContinueStmt";
938
+ readonly properties: {};
939
+ readonly superTypes: ["Statement"];
940
+ };
941
+ readonly DerivedDecl: {
942
+ readonly name: "DerivedDecl";
943
+ readonly properties: {
944
+ readonly name: {
945
+ readonly name: "name";
946
+ };
947
+ readonly type: {
948
+ readonly name: "type";
949
+ };
950
+ readonly value: {
951
+ readonly name: "value";
952
+ };
953
+ };
954
+ readonly superTypes: ["Member"];
955
+ };
956
+ readonly Device: {
957
+ readonly name: "Device";
958
+ readonly properties: {
959
+ readonly members: {
960
+ readonly name: "members";
961
+ readonly defaultValue: [];
962
+ readonly optional: true;
963
+ };
964
+ readonly name: {
965
+ readonly name: "name";
966
+ };
967
+ readonly properties: {
968
+ readonly name: "properties";
969
+ readonly defaultValue: [];
970
+ readonly optional: true;
971
+ };
972
+ };
973
+ readonly superTypes: [];
974
+ };
975
+ readonly EnumDecl: {
976
+ readonly name: "EnumDecl";
977
+ readonly properties: {
978
+ readonly members: {
979
+ readonly name: "members";
980
+ readonly defaultValue: [];
981
+ };
982
+ readonly name: {
983
+ readonly name: "name";
984
+ };
985
+ };
986
+ readonly superTypes: ["Member"];
987
+ };
988
+ readonly Expr: {
989
+ readonly name: "Expr";
990
+ readonly properties: {};
991
+ readonly superTypes: ["Initializer"];
992
+ };
993
+ readonly FunctionDecl: {
994
+ readonly name: "FunctionDecl";
995
+ readonly properties: {
996
+ readonly body: {
997
+ readonly name: "body";
998
+ };
999
+ readonly name: {
1000
+ readonly name: "name";
1001
+ };
1002
+ readonly params: {
1003
+ readonly name: "params";
1004
+ readonly defaultValue: [];
1005
+ readonly optional: true;
1006
+ };
1007
+ readonly pure: {
1008
+ readonly name: "pure";
1009
+ readonly defaultValue: false;
1010
+ readonly optional: true;
1011
+ };
1012
+ readonly returns: {
1013
+ readonly name: "returns";
1014
+ readonly optional: true;
1015
+ };
1016
+ };
1017
+ readonly superTypes: ["Member"];
1018
+ };
1019
+ readonly IfStmt: {
1020
+ readonly name: "IfStmt";
1021
+ readonly properties: {
1022
+ readonly alternate: {
1023
+ readonly name: "alternate";
1024
+ readonly optional: true;
1025
+ };
1026
+ readonly condition: {
1027
+ readonly name: "condition";
1028
+ };
1029
+ readonly no: {
1030
+ readonly name: "no";
1031
+ readonly optional: true;
1032
+ };
1033
+ readonly yes: {
1034
+ readonly name: "yes";
1035
+ };
1036
+ };
1037
+ readonly superTypes: ["Statement"];
1038
+ };
1039
+ readonly IndexAccess: {
1040
+ readonly name: "IndexAccess";
1041
+ readonly properties: {
1042
+ readonly index: {
1043
+ readonly name: "index";
1044
+ };
1045
+ readonly object: {
1046
+ readonly name: "object";
1047
+ };
1048
+ };
1049
+ readonly superTypes: ["Expr"];
1050
+ };
1051
+ readonly Initializer: {
1052
+ readonly name: "Initializer";
1053
+ readonly properties: {};
1054
+ readonly superTypes: [];
1055
+ };
1056
+ readonly IntentLiteral: {
1057
+ readonly name: "IntentLiteral";
1058
+ readonly properties: {
1059
+ readonly elements: {
1060
+ readonly name: "elements";
1061
+ readonly defaultValue: [];
1062
+ readonly optional: true;
1063
+ };
1064
+ };
1065
+ readonly superTypes: ["Expr"];
1066
+ };
1067
+ readonly IntentStmt: {
1068
+ readonly name: "IntentStmt";
1069
+ readonly properties: {
1070
+ readonly name: {
1071
+ readonly name: "name";
1072
+ };
1073
+ readonly value: {
1074
+ readonly name: "value";
1075
+ };
1076
+ };
1077
+ readonly superTypes: ["Statement"];
1078
+ };
1079
+ readonly Literal: {
1080
+ readonly name: "Literal";
1081
+ readonly properties: {
1082
+ readonly value: {
1083
+ readonly name: "value";
1084
+ };
1085
+ };
1086
+ readonly superTypes: ["Expr"];
1087
+ };
1088
+ readonly LocalStmt: {
1089
+ readonly name: "LocalStmt";
1090
+ readonly properties: {
1091
+ readonly binding: {
1092
+ readonly name: "binding";
1093
+ };
1094
+ readonly name: {
1095
+ readonly name: "name";
1096
+ };
1097
+ readonly type: {
1098
+ readonly name: "type";
1099
+ readonly optional: true;
1100
+ };
1101
+ readonly value: {
1102
+ readonly name: "value";
1103
+ };
1104
+ };
1105
+ readonly superTypes: ["Statement"];
1106
+ };
1107
+ readonly LoopStmt: {
1108
+ readonly name: "LoopStmt";
1109
+ readonly properties: {
1110
+ readonly body: {
1111
+ readonly name: "body";
1112
+ };
1113
+ };
1114
+ readonly superTypes: ["Statement"];
1115
+ };
1116
+ readonly MatchArm: {
1117
+ readonly name: "MatchArm";
1118
+ readonly properties: {
1119
+ readonly body: {
1120
+ readonly name: "body";
1121
+ };
1122
+ readonly pattern: {
1123
+ readonly name: "pattern";
1124
+ };
1125
+ };
1126
+ readonly superTypes: [];
1127
+ };
1128
+ readonly MatchStmt: {
1129
+ readonly name: "MatchStmt";
1130
+ readonly properties: {
1131
+ readonly arms: {
1132
+ readonly name: "arms";
1133
+ readonly defaultValue: [];
1134
+ };
1135
+ readonly value: {
1136
+ readonly name: "value";
1137
+ };
1138
+ };
1139
+ readonly superTypes: ["Statement"];
1140
+ };
1141
+ readonly Member: {
1142
+ readonly name: "Member";
1143
+ readonly properties: {};
1144
+ readonly superTypes: [];
1145
+ };
1146
+ readonly MemberAccess: {
1147
+ readonly name: "MemberAccess";
1148
+ readonly properties: {
1149
+ readonly member: {
1150
+ readonly name: "member";
1151
+ };
1152
+ readonly object: {
1153
+ readonly name: "object";
1154
+ };
1155
+ };
1156
+ readonly superTypes: ["Expr"];
1157
+ };
1158
+ readonly MemoryDecl: {
1159
+ readonly name: "MemoryDecl";
1160
+ readonly properties: {
1161
+ readonly length: {
1162
+ readonly name: "length";
1163
+ };
1164
+ readonly name: {
1165
+ readonly name: "name";
1166
+ };
1167
+ readonly public: {
1168
+ readonly name: "public";
1169
+ readonly defaultValue: false;
1170
+ readonly optional: true;
1171
+ };
1172
+ };
1173
+ readonly superTypes: ["Member"];
1174
+ };
1175
+ readonly NamedArgument: {
1176
+ readonly name: "NamedArgument";
1177
+ readonly properties: {
1178
+ readonly name: {
1179
+ readonly name: "name";
1180
+ };
1181
+ readonly value: {
1182
+ readonly name: "value";
1183
+ };
1184
+ };
1185
+ readonly superTypes: ["Argument"];
1186
+ };
1187
+ readonly NotificationDecl: {
1188
+ readonly name: "NotificationDecl";
1189
+ readonly properties: {
1190
+ readonly direction: {
1191
+ readonly name: "direction";
1192
+ };
1193
+ readonly name: {
1194
+ readonly name: "name";
1195
+ };
1196
+ };
1197
+ readonly superTypes: ["Member"];
1198
+ };
1199
+ readonly NumberLiteral: {
1200
+ readonly name: "NumberLiteral";
1201
+ readonly properties: {
1202
+ readonly value: {
1203
+ readonly name: "value";
1204
+ };
1205
+ };
1206
+ readonly superTypes: ["Expr"];
1207
+ };
1208
+ readonly Parameter: {
1209
+ readonly name: "Parameter";
1210
+ readonly properties: {
1211
+ readonly name: {
1212
+ readonly name: "name";
1213
+ };
1214
+ readonly type: {
1215
+ readonly name: "type";
1216
+ };
1217
+ };
1218
+ readonly superTypes: [];
1219
+ };
1220
+ readonly ParameterType: {
1221
+ readonly name: "ParameterType";
1222
+ readonly properties: {
1223
+ readonly name: {
1224
+ readonly name: "name";
1225
+ readonly optional: true;
1226
+ };
1227
+ readonly value: {
1228
+ readonly name: "value";
1229
+ readonly optional: true;
1230
+ };
1231
+ };
1232
+ readonly superTypes: [];
1233
+ };
1234
+ readonly Pattern: {
1235
+ readonly name: "Pattern";
1236
+ readonly properties: {
1237
+ readonly enum: {
1238
+ readonly name: "enum";
1239
+ readonly optional: true;
1240
+ };
1241
+ readonly literal: {
1242
+ readonly name: "literal";
1243
+ readonly optional: true;
1244
+ };
1245
+ readonly member: {
1246
+ readonly name: "member";
1247
+ readonly optional: true;
1248
+ };
1249
+ readonly number: {
1250
+ readonly name: "number";
1251
+ readonly optional: true;
1252
+ };
1253
+ readonly sign: {
1254
+ readonly name: "sign";
1255
+ readonly optional: true;
1256
+ };
1257
+ readonly string: {
1258
+ readonly name: "string";
1259
+ readonly optional: true;
1260
+ };
1261
+ readonly wildcard: {
1262
+ readonly name: "wildcard";
1263
+ readonly defaultValue: false;
1264
+ readonly optional: true;
1265
+ };
1266
+ };
1267
+ readonly superTypes: [];
1268
+ };
1269
+ readonly PinDecl: {
1270
+ readonly name: "PinDecl";
1271
+ readonly properties: {
1272
+ readonly name: {
1273
+ readonly name: "name";
1274
+ };
1275
+ readonly options: {
1276
+ readonly name: "options";
1277
+ readonly defaultValue: [];
1278
+ readonly optional: true;
1279
+ };
1280
+ readonly value: {
1281
+ readonly name: "value";
1282
+ readonly optional: true;
1283
+ };
1284
+ };
1285
+ readonly superTypes: ["Member"];
1286
+ };
1287
+ readonly PositionalArgument: {
1288
+ readonly name: "PositionalArgument";
1289
+ readonly properties: {
1290
+ readonly value: {
1291
+ readonly name: "value";
1292
+ };
1293
+ };
1294
+ readonly superTypes: ["Argument"];
1295
+ };
1296
+ readonly ProcessDecl: {
1297
+ readonly name: "ProcessDecl";
1298
+ readonly properties: {
1299
+ readonly body: {
1300
+ readonly name: "body";
1301
+ };
1302
+ readonly name: {
1303
+ readonly name: "name";
1304
+ };
1305
+ readonly path: {
1306
+ readonly name: "path";
1307
+ readonly optional: true;
1308
+ };
1309
+ };
1310
+ readonly superTypes: ["Member"];
1311
+ };
1312
+ readonly Property: {
1313
+ readonly name: "Property";
1314
+ readonly properties: {
1315
+ readonly name: {
1316
+ readonly name: "name";
1317
+ };
1318
+ readonly type: {
1319
+ readonly name: "type";
1320
+ };
1321
+ readonly value: {
1322
+ readonly name: "value";
1323
+ readonly optional: true;
1324
+ };
1325
+ };
1326
+ readonly superTypes: [];
1327
+ };
1328
+ readonly ReactionDecl: {
1329
+ readonly name: "ReactionDecl";
1330
+ readonly properties: {
1331
+ readonly body: {
1332
+ readonly name: "body";
1333
+ };
1334
+ readonly captures: {
1335
+ readonly name: "captures";
1336
+ readonly defaultValue: [];
1337
+ readonly optional: true;
1338
+ };
1339
+ readonly current: {
1340
+ readonly name: "current";
1341
+ };
1342
+ readonly name: {
1343
+ readonly name: "name";
1344
+ };
1345
+ readonly path: {
1346
+ readonly name: "path";
1347
+ };
1348
+ readonly previous: {
1349
+ readonly name: "previous";
1350
+ };
1351
+ };
1352
+ readonly superTypes: ["Member"];
1353
+ };
1354
+ readonly RecordDecl: {
1355
+ readonly name: "RecordDecl";
1356
+ readonly properties: {
1357
+ readonly fields: {
1358
+ readonly name: "fields";
1359
+ readonly defaultValue: [];
1360
+ readonly optional: true;
1361
+ };
1362
+ readonly name: {
1363
+ readonly name: "name";
1364
+ };
1365
+ };
1366
+ readonly superTypes: ["Member"];
1367
+ };
1368
+ readonly RecordField: {
1369
+ readonly name: "RecordField";
1370
+ readonly properties: {
1371
+ readonly name: {
1372
+ readonly name: "name";
1373
+ };
1374
+ readonly type: {
1375
+ readonly name: "type";
1376
+ };
1377
+ };
1378
+ readonly superTypes: [];
1379
+ };
1380
+ readonly RecordLiteral: {
1381
+ readonly name: "RecordLiteral";
1382
+ readonly properties: {
1383
+ readonly fields: {
1384
+ readonly name: "fields";
1385
+ readonly defaultValue: [];
1386
+ readonly optional: true;
1387
+ };
1388
+ };
1389
+ readonly superTypes: ["Expr"];
1390
+ };
1391
+ readonly RedirectStmt: {
1392
+ readonly name: "RedirectStmt";
1393
+ readonly properties: {
1394
+ readonly delay: {
1395
+ readonly name: "delay";
1396
+ readonly optional: true;
1397
+ };
1398
+ readonly target: {
1399
+ readonly name: "target";
1400
+ };
1401
+ };
1402
+ readonly superTypes: ["Statement"];
1403
+ };
1404
+ readonly Reference: {
1405
+ readonly name: "Reference";
1406
+ readonly properties: {
1407
+ readonly name: {
1408
+ readonly name: "name";
1409
+ };
1410
+ };
1411
+ readonly superTypes: ["Expr"];
1412
+ };
1413
+ readonly ReturnStmt: {
1414
+ readonly name: "ReturnStmt";
1415
+ readonly properties: {
1416
+ readonly value: {
1417
+ readonly name: "value";
1418
+ readonly optional: true;
1419
+ };
1420
+ };
1421
+ readonly superTypes: ["Statement"];
1422
+ };
1423
+ readonly Select: {
1424
+ readonly name: "Select";
1425
+ readonly properties: {
1426
+ readonly condition: {
1427
+ readonly name: "condition";
1428
+ };
1429
+ readonly no: {
1430
+ readonly name: "no";
1431
+ };
1432
+ readonly yes: {
1433
+ readonly name: "yes";
1434
+ };
1435
+ };
1436
+ readonly superTypes: ["Expr"];
1437
+ };
1438
+ readonly SourcePath: {
1439
+ readonly name: "SourcePath";
1440
+ readonly properties: {
1441
+ readonly parts: {
1442
+ readonly name: "parts";
1443
+ readonly defaultValue: [];
1444
+ };
1445
+ };
1446
+ readonly superTypes: [];
1447
+ };
1448
+ readonly StateDecl: {
1449
+ readonly name: "StateDecl";
1450
+ readonly properties: {
1451
+ readonly name: {
1452
+ readonly name: "name";
1453
+ };
1454
+ readonly type: {
1455
+ readonly name: "type";
1456
+ };
1457
+ readonly value: {
1458
+ readonly name: "value";
1459
+ };
1460
+ };
1461
+ readonly superTypes: ["Member"];
1462
+ };
1463
+ readonly Statement: {
1464
+ readonly name: "Statement";
1465
+ readonly properties: {};
1466
+ readonly superTypes: [];
1467
+ };
1468
+ readonly StringLiteral: {
1469
+ readonly name: "StringLiteral";
1470
+ readonly properties: {
1471
+ readonly value: {
1472
+ readonly name: "value";
1473
+ };
1474
+ };
1475
+ readonly superTypes: ["Expr"];
1476
+ };
1477
+ readonly Unary: {
1478
+ readonly name: "Unary";
1479
+ readonly properties: {
1480
+ readonly op: {
1481
+ readonly name: "op";
1482
+ };
1483
+ readonly value: {
1484
+ readonly name: "value";
1485
+ };
1486
+ };
1487
+ readonly superTypes: ["Expr"];
1488
+ };
1489
+ readonly ValueType: {
1490
+ readonly name: "ValueType";
1491
+ readonly properties: {
1492
+ readonly name: {
1493
+ readonly name: "name";
1494
+ };
1495
+ readonly optional: {
1496
+ readonly name: "optional";
1497
+ readonly defaultValue: false;
1498
+ readonly optional: true;
1499
+ };
1500
+ };
1501
+ readonly superTypes: [];
1502
+ };
1503
+ readonly WhileStmt: {
1504
+ readonly name: "WhileStmt";
1505
+ readonly properties: {
1506
+ readonly body: {
1507
+ readonly name: "body";
1508
+ };
1509
+ readonly condition: {
1510
+ readonly name: "condition";
1511
+ };
1512
+ };
1513
+ readonly superTypes: ["Statement"];
1514
+ };
1515
+ };
1516
+ }
1517
+ export declare const reflection: DDLAstReflection;
1518
+ //# sourceMappingURL=ast.d.ts.map