@mirascript/constants 0.1.62-alpha.7 → 0.1.62-alpha.8

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,754 @@
1
+ export declare class Config {
2
+ private constructor();
3
+ free(): void;
4
+ [Symbol.dispose](): void;
5
+ diagnostic_error: boolean;
6
+ diagnostic_hint: boolean;
7
+ diagnostic_info: boolean;
8
+ diagnostic_position_encoding: DiagnosticPositionEncoding;
9
+ diagnostic_reference: boolean;
10
+ diagnostic_sourcemap: boolean;
11
+ diagnostic_tag: boolean;
12
+ diagnostic_warning: boolean;
13
+ input_mode: InputMode;
14
+ trivia: boolean;
15
+ }
16
+ /**
17
+ * Diagnostic codes for MiraScript compiler and tools.
18
+ */
19
+ export declare enum DiagnosticCode {
20
+ ErrorStart = 1000,
21
+ InternalError = 1001,
22
+ LexerError = 1002,
23
+ ParserError = 1003,
24
+ EmitterError = 1004,
25
+ OptimizerError = 1005,
26
+ Unimplemented = 1006,
27
+ UnknownToken = 1007,
28
+ UnexpectedToken = 1008,
29
+ InvalidReservedKeyword = 1009,
30
+ InvalidKeyword = 1010,
31
+ InvalidNumberLiteralUnderscore = 1011,
32
+ InvalidNumberLiteral = 1012,
33
+ OverflowNumberLiteral = 1013,
34
+ OverflowIntegerLiteral = 1014,
35
+ InvalidOrdinalLiteral = 1015,
36
+ UnterminatedString = 1016,
37
+ InvalidEscapeSequence = 1017,
38
+ InvalidHexEscapeSequence = 1018,
39
+ InvalidUnicodeEscapeSequence = 1019,
40
+ BadArraySpread = 1020,
41
+ UnterminatedInterpolation = 1021,
42
+ BadInterpolation = 1022,
43
+ EmptyInterpolation = 1023,
44
+ UnexpectedUnderscore = 1024,
45
+ UnexpectedGlobal = 1025,
46
+ MissingComma = 1026,
47
+ MissingCloseBracket = 1027,
48
+ MissingOpenBrace = 1028,
49
+ MissingCloseBrace = 1029,
50
+ MissingCloseParen = 1030,
51
+ MissingSemicolon = 1031,
52
+ MissingColon = 1032,
53
+ MissingBindOperator = 1033,
54
+ InvalidConstantName = 1034,
55
+ MissingFunctionName = 1035,
56
+ MissingModuleName = 1036,
57
+ MissingOpenParenAfterExtension = 1037,
58
+ MissingOpenParenAfterType = 1038,
59
+ InvalidTypeCall = 1039,
60
+ RecordLiteralInExtensionCaller = 1040,
61
+ MissingCase = 1041,
62
+ UnknownExpression = 1042,
63
+ UnmatchedCloseBrace = 1043,
64
+ UnmatchedCloseBracket = 1044,
65
+ UnmatchedCloseParen = 1045,
66
+ UnknownPattern = 1046,
67
+ InvalidConstantLiteral = 1047,
68
+ UnknownStatement = 1048,
69
+ ExpressionExpected = 1049,
70
+ PatternExpected = 1050,
71
+ ExclamationInLiteralPattern = 1051,
72
+ MutInRebindPattern = 1052,
73
+ ConstantInBindPattern = 1053,
74
+ MutInDiscardPattern = 1054,
75
+ DiscardInSpreadPattern = 1055,
76
+ SpreadDiscardInRecordPattern = 1056,
77
+ MispositionedSpreadInRecordPattern = 1057,
78
+ InterpolatedNameRecordPattern = 1058,
79
+ BadOmitKeyRecordPattern = 1059,
80
+ AmbiguousRangePattern = 1060,
81
+ DuplicateSpreadPattern = 1061,
82
+ MispositionedRestParameter = 1062,
83
+ UndefinedVariableAssignment = 1063,
84
+ ImmutableVariableAssignment = 1064,
85
+ UninitializedVariable = 1065,
86
+ DuplicateVariableDeclaration = 1066,
87
+ UnexpectedBreak = 1067,
88
+ UnexpectedContinue = 1068,
89
+ MisuseOfGlobalKeyword = 1069,
90
+ BadOmitKeyRecordExpression = 1070,
91
+ UnassignableExpression = 1071,
92
+ UnexpectedPub = 1072,
93
+ ErrorEnd = 1999,
94
+ WarningStart = 2000,
95
+ MisleadingNilVariable = 2001,
96
+ UnnecessaryIrrefutablePattern = 2002,
97
+ MatchExpressionHasNoCases = 2003,
98
+ NonNumberInRange = 2004,
99
+ NonNumberOrStringInComparison = 2005,
100
+ NonNumberInArithmetic = 2006,
101
+ NonBooleanInLogical = 2007,
102
+ LiteralNotCallable = 2008,
103
+ LiteralNotIndexable = 2009,
104
+ GlobalVariableNotDeclared = 2010,
105
+ WarningEnd = 2999,
106
+ InfoStart = 3000,
107
+ InfoEnd = 3999,
108
+ HintStart = 4000,
109
+ UnusedLocalVariable = 4001,
110
+ UnusedLocalFunction = 4002,
111
+ PreferLogicalOperatorAnd = 4003,
112
+ PreferLogicalOperatorOr = 4004,
113
+ PreferLogicalOperatorNot = 4005,
114
+ PreferParenthesesForRecordLiteral = 4006,
115
+ PreferIfExpression = 4007,
116
+ UnnecessaryParentheses = 4008,
117
+ PreferUppercaseConstant = 4009,
118
+ HintEnd = 4999,
119
+ ReferenceStart = 5000,
120
+ VariableDeclaredHere = 5001,
121
+ FunctionDeclaredHere = 5002,
122
+ ParameterDeclaredHere = 5003,
123
+ ParameterItDeclaredHere = 5004,
124
+ ParameterRestDeclaredHere = 5005,
125
+ ParameterSubPatternDeclaredHere = 5006,
126
+ ReferenceEnd = 5999,
127
+ TagStart = 10000,
128
+ LocalConst = 10001,
129
+ LocalImmutable = 10002,
130
+ LocalMutable = 10003,
131
+ LocalFunction = 10004,
132
+ LocalModule = 10005,
133
+ ParameterIt = 10006,
134
+ ParameterImmutable = 10007,
135
+ ParameterMutable = 10008,
136
+ ParameterImmutableRest = 10009,
137
+ ParameterMutableRest = 10010,
138
+ ParameterPattern = 10011,
139
+ ParameterRestPattern = 10012,
140
+ ParameterSubPatternImmutable = 10013,
141
+ ParameterSubPatternMutable = 10014,
142
+ GlobalVariable = 10015,
143
+ GlobalDynamicAccess = 10016,
144
+ RecordFieldIdName = 10017,
145
+ RecordFieldOrdinalName = 10018,
146
+ RecordFieldStringName = 10019,
147
+ UnnamedRecordField0 = 10020,
148
+ UnnamedRecordField1 = 10021,
149
+ UnnamedRecordField2 = 10022,
150
+ UnnamedRecordField3 = 10023,
151
+ UnnamedRecordField4 = 10024,
152
+ UnnamedRecordField5 = 10025,
153
+ UnnamedRecordField6 = 10026,
154
+ UnnamedRecordField7 = 10027,
155
+ UnnamedRecordField8 = 10028,
156
+ UnnamedRecordField9 = 10029,
157
+ UnnamedRecordFieldN = 10030,
158
+ OmitNamedRecordField = 10031,
159
+ FunctionCall = 10032,
160
+ ExtensionCall = 10033,
161
+ Scope = 10034,
162
+ String = 10035,
163
+ Interpolation = 10036,
164
+ ForExpression = 10037,
165
+ WhileExpression = 10038,
166
+ LoopExpression = 10039,
167
+ FnDeclaration = 10040,
168
+ FnExpression = 10041,
169
+ IfExpression = 10042,
170
+ MatchExpression = 10043,
171
+ TagEnd = 10999,
172
+ TagRefStart = 11000,
173
+ ReadLocal = 11001,
174
+ ReadWriteLocal = 11002,
175
+ WriteLocal = 11003,
176
+ RedeclareLocal = 11004,
177
+ ExportedLocal = 11005,
178
+ Callable = 11006,
179
+ ArgumentExtension = 11007,
180
+ ArgumentStart = 11008,
181
+ ArgumentEnd = 11009,
182
+ ArgumentComma = 11010,
183
+ ArgumentSpread = 11011,
184
+ KeywordFor = 11012,
185
+ KeywordIn = 11013,
186
+ KeywordWhile = 11014,
187
+ KeywordLoop = 11015,
188
+ KeywordBreak = 11016,
189
+ KeywordContinue = 11017,
190
+ KeywordIf = 11018,
191
+ KeywordElse = 11019,
192
+ KeywordMatch = 11020,
193
+ KeywordCase = 11021,
194
+ KeywordFn = 11022,
195
+ KeywordReturn = 11023,
196
+ /**
197
+ * Work with [DiagnosticCode::OmitNamedRecordField]
198
+ */
199
+ OmitNamedRecordFieldName = 11024,
200
+ TagRefEnd = 11999,
201
+ SourceMap = 12000
202
+ }
203
+ /**
204
+ * Encoding for counting positions in diagnostics.
205
+ */
206
+ export declare enum DiagnosticPositionEncoding {
207
+ /**
208
+ * Use the default encoding (UTF-8) and
209
+ * 0-based indexing from the start of the file.
210
+ * Do not convert positions to line-column format.
211
+ */
212
+ None = 0,
213
+ /**
214
+ * Convert positions to 1-based UTF-8 line-column format.
215
+ */
216
+ Utf8 = 1,
217
+ /**
218
+ * Convert positions to 1-based UTF-16 line-column format.
219
+ */
220
+ Utf16 = 2,
221
+ /**
222
+ * Convert positions to 1-based UTF-32 line-column format.
223
+ */
224
+ Utf32 = 3
225
+ }
226
+ /**
227
+ * Mode for reading input.
228
+ */
229
+ export declare enum InputMode {
230
+ Script = 0,
231
+ Template = 1
232
+ }
233
+ /**
234
+ * MiraScript OpCodes
235
+ */
236
+ export declare enum OpCode {
237
+ /**
238
+ * No operation
239
+ */
240
+ Noop = 0,
241
+ /**
242
+ * ADD %ret %1 %2\
243
+ * %ret = %1 + %2
244
+ */
245
+ Add = 1,
246
+ /**
247
+ * SUB %ret %1 %2\
248
+ * %ret = %1 - %2
249
+ */
250
+ Sub = 2,
251
+ /**
252
+ * MUL %ret %1 %2\
253
+ * %ret = %1 * %2
254
+ */
255
+ Mul = 3,
256
+ /**
257
+ * DIV %ret %1 %2\
258
+ * %ret = %1 / %2
259
+ */
260
+ Div = 4,
261
+ /**
262
+ * MOD %ret %1 %2\
263
+ * %ret = %1 % %2
264
+ */
265
+ Mod = 5,
266
+ /**
267
+ * EXP %ret %1 %2\
268
+ * %ret = %1 ^ %2
269
+ */
270
+ Pow = 6,
271
+ /**
272
+ * POS %ret %1\
273
+ * %ret = +%1
274
+ */
275
+ Pos = 7,
276
+ /**
277
+ * NEG %ret %1\
278
+ * %ret = -%1
279
+ */
280
+ Neg = 8,
281
+ /**
282
+ * NOT %ret %1\
283
+ * %ret = !%1
284
+ */
285
+ Not = 9,
286
+ /**
287
+ * PLUS %ret %1\
288
+ * %ret = +%1
289
+ */
290
+ Plus = 10,
291
+ /**
292
+ * EQ %ret %1 %2\
293
+ * %ret = %1 == %2
294
+ */
295
+ Eq = 11,
296
+ /**
297
+ * NEQ %ret %1 %2\
298
+ * %ret = %1 != %2
299
+ */
300
+ Neq = 12,
301
+ /**
302
+ * LT %ret %1 %2\
303
+ * %ret = %1 < %2
304
+ */
305
+ Lt = 13,
306
+ /**
307
+ * LTE %ret %1 %2\
308
+ * %ret = %1 <= %2
309
+ */
310
+ Lte = 14,
311
+ /**
312
+ * GT %ret %1 %2\
313
+ * %ret = %1 > %2
314
+ */
315
+ Gt = 15,
316
+ /**
317
+ * GTE %ret %1 %2\
318
+ * %ret = %1 >= %2
319
+ */
320
+ Gte = 16,
321
+ /**
322
+ * AEQ %ret %1 %2\
323
+ * %ret = %1 =~ %2
324
+ */
325
+ Aeq = 17,
326
+ /**
327
+ * NAEQ %ret %1 %2\
328
+ * %ret = %1 !~ %2
329
+ */
330
+ Naeq = 18,
331
+ /**
332
+ * SAME %ret %1 %2\
333
+ * %ret = %1 === %2 // Same value zero
334
+ */
335
+ Same = 19,
336
+ /**
337
+ * Nsame %ret %1 %2\
338
+ * %ret = %1 !== %2
339
+ */
340
+ Nsame = 20,
341
+ /**
342
+ * IN %ret %1 %2\
343
+ * %ret = %1 in %2
344
+ */
345
+ In = 21,
346
+ /**
347
+ * IN_GLOBAL %ret %1 %2\
348
+ * %ret = %1 in global
349
+ */
350
+ InGlobal = 22,
351
+ /**
352
+ * CONCAT %ret `n` %1 %2 ... %n\
353
+ * %ret = %1 .. %2 .. ... .. %n
354
+ */
355
+ Concat = 23,
356
+ /**
357
+ * FORMAT %ret %1 `index`\
358
+ * %ret = format(%1, CONSTANTS\[index])
359
+ */
360
+ Format = 24,
361
+ /**
362
+ * AND %ret %1 %2\
363
+ * %ret = %1 && %2
364
+ */
365
+ And = 25,
366
+ /**
367
+ * OR %ret %1 %2\
368
+ * %ret = %1 || %2
369
+ */
370
+ Or = 26,
371
+ /**
372
+ * ASSERT_INIT %v\
373
+ * assert(%v != uninitialized)
374
+ */
375
+ AssertInit = 27,
376
+ /**
377
+ * ASSERT_NON_NIL %v\
378
+ * assert(%v != nil)
379
+ */
380
+ AssertNonNil = 28,
381
+ /**
382
+ * TYPE %ret %1\
383
+ * %ret = type(%1)
384
+ */
385
+ Type = 29,
386
+ /**
387
+ * TO_BOOLEAN %ret %1\
388
+ * %ret = boolean(%1)
389
+ */
390
+ ToBoolean = 30,
391
+ /**
392
+ * TO_NUMBER %ret %1\
393
+ * %ret = number(%1)
394
+ */
395
+ ToNumber = 31,
396
+ /**
397
+ * TO_STRING %ret %1\
398
+ * %ret = string(%1)
399
+ */
400
+ ToString = 32,
401
+ /**
402
+ * IS_BOOLEAN %ret %1\
403
+ * %ret = type(%1) == "boolean"
404
+ */
405
+ IsBoolean = 33,
406
+ /**
407
+ * IS_NUMBER %ret %1\
408
+ * %ret = type(%1) == "number"
409
+ */
410
+ IsNumber = 34,
411
+ /**
412
+ * IS_STRING %ret %1\
413
+ * %ret = type(%1) == "string"
414
+ */
415
+ IsString = 35,
416
+ /**
417
+ * IS_RECORD %ret %1\
418
+ * %ret = type(%1) == "record"
419
+ */
420
+ IsRecord = 36,
421
+ /**
422
+ * IS_ARRAY %ret %1\
423
+ * %ret = type(%1) == "array"
424
+ */
425
+ IsArray = 37,
426
+ /**
427
+ * CONSTANT %reg `index`\
428
+ * %reg = CONSTANTS\[index]
429
+ */
430
+ Constant = 38,
431
+ /**
432
+ * UNINIT %reg
433
+ * %reg = uninitialized
434
+ */
435
+ Uninit = 39,
436
+ /**
437
+ * ASSIGN %ret %1\
438
+ * %ret = %1
439
+ */
440
+ Assign = 40,
441
+ /**
442
+ * SWAP %1 %2\
443
+ * (%1, %2) = (%2, %1)
444
+ */
445
+ Swap = 41,
446
+ /**
447
+ * GET_UPVALUE %ret `level` %%up\
448
+ * %ret = UPVALUES\[level]\[%%up]
449
+ */
450
+ GetUpvalue = 42,
451
+ /**
452
+ * SET_UPVALUE %value `level` %%up \
453
+ * UPVALUES\[level]\[%%up] = %value
454
+ */
455
+ SetUpvalue = 43,
456
+ /**
457
+ * GET_GLOBAL %ret `name` \
458
+ * %ret = GLOBALS\[CONSTANTS\[name]]
459
+ */
460
+ GetGlobal = 44,
461
+ /**
462
+ * GET_GLOBAL_DYN %ret %name \
463
+ * %ret = GLOBALS\[%name]
464
+ */
465
+ GetGlobalDyn = 45,
466
+ /**
467
+ * RECORD %ret\
468
+ * %ret = (
469
+ */
470
+ Record = 46,
471
+ /**
472
+ * MODULE %ret `name`\
473
+ * %ret = mod CONSTANTS\[name] {
474
+ */
475
+ Module = 47,
476
+ /**
477
+ * FIELD `name` %field\
478
+ * \[CONSTANTS\[name]]: %field,
479
+ */
480
+ Field = 48,
481
+ /**
482
+ * FIELD_DYN %name %field\
483
+ * \[%name]: %field,
484
+ */
485
+ FieldDyn = 49,
486
+ /**
487
+ * FIELD_INDEX `index` %field\
488
+ * \[index]: %field,
489
+ */
490
+ FieldIndex = 50,
491
+ /**
492
+ * FIELD_OPT `name` %field\
493
+ * \[CONSTANTS\[name]]?: %field,
494
+ */
495
+ FieldOpt = 51,
496
+ /**
497
+ * FIELD_OPT_DYN %name %field\
498
+ * \[%name]?: %field,
499
+ */
500
+ FieldOptDyn = 52,
501
+ /**
502
+ * FIELD_OPT_INDEX `index` %field\
503
+ * \[index]?: %field,
504
+ */
505
+ FieldOptIndex = 53,
506
+ /**
507
+ * PICK %ret %var `n` `key_1` `key_2` ... `key_n`\
508
+ * %ret = %var pick keys CONSTANTS\[key_1], CONSTANTS\[key_2], ..., CONSTANTS\[key_n]
509
+ */
510
+ Pick = 54,
511
+ /**
512
+ * OMIT %ret %var `n` `key_1` `key_2` ... `key_n`\
513
+ * %ret = %var omit keys CONSTANTS\[key_1], CONSTANTS\[key_2], ..., CONSTANTS\[key_n]
514
+ */
515
+ Omit = 55,
516
+ /**
517
+ * ARRAY %ret\
518
+ * %ret = \[
519
+ */
520
+ Array = 56,
521
+ /**
522
+ * ITEM %item\
523
+ * %item,
524
+ */
525
+ Item = 57,
526
+ /**
527
+ * ITEM_RANGE `start` `end`\
528
+ * `start`..`end`,
529
+ */
530
+ ItemRange = 58,
531
+ /**
532
+ * ITEM_RANGE_DYN %start %end\
533
+ * %start..%end,
534
+ */
535
+ ItemRangeDyn = 59,
536
+ /**
537
+ * ITEM_RANGE_EXCLUSIVE_DYN %start %end\
538
+ * %start..<%end,
539
+ */
540
+ ItemRangeExclusiveDyn = 60,
541
+ /**
542
+ * SPREAD %var\
543
+ * ..%var,
544
+ */
545
+ Spread = 61,
546
+ /**
547
+ * FREEZE\
548
+ * ) for record or ] for array
549
+ */
550
+ Freeze = 62,
551
+ /**
552
+ * HAS %ret %var `key`\
553
+ * %ret = initialized(%var\[CONSTANTS\[key]])
554
+ */
555
+ Has = 63,
556
+ /**
557
+ * HAS_DYN %ret %var %key\
558
+ * %ret = initialized(%var\[%key])
559
+ */
560
+ HasDyn = 64,
561
+ /**
562
+ * HAS_INDEX %ret %var `index`\
563
+ * %ret = initialized(%var\[index])
564
+ */
565
+ HasIndex = 65,
566
+ /**
567
+ * GET %ret %var `key`\
568
+ * %ret = %var\[CONSTANTS\[key]] ?? nil
569
+ */
570
+ Get = 66,
571
+ /**
572
+ * GET_DYN %ret %var %key\
573
+ * %ret = %var\[%key] ?? nil
574
+ */
575
+ GetDyn = 67,
576
+ /**
577
+ * GET_INDEX %ret %var `index`\
578
+ * %ret = %var\[index] ?? nil
579
+ */
580
+ GetIndex = 68,
581
+ /**
582
+ * SET %value %var `key`\
583
+ * %var\[CONSTANTS\[key]] = %value
584
+ */
585
+ Set = 69,
586
+ /**
587
+ * SET_DYN %value %var %key\
588
+ * %var\[%key] = %value
589
+ */
590
+ SetDyn = 70,
591
+ /**
592
+ * SET_INDEX %value %var `index`\
593
+ * %var\[index] = %value
594
+ */
595
+ SetIndex = 71,
596
+ /**
597
+ * SLICE %ret %var `start` `end`\
598
+ * %ret = %var\[start..end]
599
+ */
600
+ Slice = 72,
601
+ /**
602
+ * SLICE_START %ret %var `end`\
603
+ * %ret = %var\[..end]
604
+ */
605
+ SliceStart = 73,
606
+ /**
607
+ * SLICE_END %ret %var `start`\
608
+ * %ret = %var\[start..]
609
+ */
610
+ SliceEnd = 74,
611
+ /**
612
+ * SLICE_DYN %ret %var %start %end\
613
+ * %ret = %var\[%start..%end]
614
+ */
615
+ SliceDyn = 75,
616
+ /**
617
+ * SLICE_EXCLUSIVE_DYN %ret %var %start %end\
618
+ * %ret = %var\[%start..<%end]
619
+ */
620
+ SliceExclusiveDyn = 76,
621
+ /**
622
+ * LENGTH %ret %var\
623
+ * %ret = $Length(%var)
624
+ */
625
+ Length = 77,
626
+ /**
627
+ * LOOP `regn`\
628
+ * loop { let %1, .. ,%regn;
629
+ */
630
+ Loop = 78,
631
+ /**
632
+ * LOOP_FOR `regn` %iterable\
633
+ * for %1 in %iterable { let %2, .. ,%regn;
634
+ */
635
+ LoopFor = 79,
636
+ /**
637
+ * LOOP_RANGE `regn` %start %end\
638
+ * for %1 in %start..%end { let %2, .. ,%regn;
639
+ */
640
+ LoopRange = 80,
641
+ /**
642
+ * LOOP_RANGE_EXCLUSIVE `regn` %start %end\
643
+ * for %1 in %start..<%end { let %2, .. ,%regn;
644
+ */
645
+ LoopRangeExclusive = 81,
646
+ /**
647
+ * LOOP_END\
648
+ * }
649
+ */
650
+ LoopEnd = 82,
651
+ /**
652
+ * BREAK\
653
+ * break;
654
+ */
655
+ Break = 83,
656
+ /**
657
+ * CONTINUE\
658
+ * continue;
659
+ */
660
+ Continue = 84,
661
+ /**
662
+ * IF %cond\
663
+ * if (%cond) {
664
+ */
665
+ If = 85,
666
+ /**
667
+ * IF_NOT %cond\
668
+ * if (!%cond) {
669
+ */
670
+ IfNot = 86,
671
+ /**
672
+ * IF_INIT %var\
673
+ * if (initialized(%var)) {
674
+ */
675
+ IfInit = 87,
676
+ /**
677
+ * IF_NOT_INIT %var\
678
+ * if (!initialized(%var)) {
679
+ */
680
+ IfNotInit = 88,
681
+ /**
682
+ * IF_NIL %var\
683
+ * if (%var == nil) {
684
+ */
685
+ IfNil = 89,
686
+ /**
687
+ * IF_NOT_NIL %var\
688
+ * if (%var != nil) {
689
+ */
690
+ IfNotNil = 90,
691
+ /**
692
+ * ELSE\
693
+ * } else {
694
+ */
695
+ Else = 91,
696
+ /**
697
+ * EL_IF IF*\
698
+ * } else if *** {\
699
+ * This instruction must be followed by an `IF*` instruction\
700
+ */
701
+ ElIf = 92,
702
+ /**
703
+ * IF_END\
704
+ * }
705
+ */
706
+ IfEnd = 93,
707
+ /**
708
+ * FUNC %f `argn` `regn`\
709
+ * %f = (%1, %2, ... , %argn) => { let %argn+1, ... , %regn;
710
+ */
711
+ Func = 94,
712
+ /**
713
+ * FUNC_VARG %f `argn` `regn`\
714
+ * %f = (%1, %2, ... , %argn-1, ...%argn) => { let %argn+1, ... , %regn;
715
+ */
716
+ FuncVarg = 95,
717
+ /**
718
+ * FUNC_END\
719
+ * }
720
+ */
721
+ FuncEnd = 96,
722
+ /**
723
+ * RETURN %value\
724
+ * return %value;
725
+ */
726
+ Return = 97,
727
+ /**
728
+ * CALL %ret `f` `argn` %1 %2 ... %argn `spread_n` `spread_arg_a` ...\
729
+ * %ret = GLOBAL[CONSTANTS[f]](%1, %2, ... , %argn);
730
+ *
731
+ * If spread_arg_a is present, arg at that index will be spread
732
+ */
733
+ Call = 98,
734
+ /**
735
+ * CALL_DYN %ret %f `argn` %1 %2 ... %argn `spread_n` `spread_arg_a` ...\
736
+ * %ret = %f(%1, %2, ... , %argn);
737
+ *
738
+ * If spread_arg_a is present, arg at that index will be spread
739
+ */
740
+ CallDyn = 99
741
+ }
742
+ /** Diagnostic messages for MiraScript compiler and tools. */
743
+ export declare const DIAGNOSTIC_MESSAGES: Readonly<Partial<Record<DiagnosticCode, string>>>;
744
+ /** MiraScript keywords */
745
+ export declare const KEYWORDS: readonly ["true", "false", "nil", "nan", "inf", "_", "global", "in", "is", "and", "or", "not", "type", "if", "else", "match", "case", "for", "while", "loop", "break", "continue", "return", "fn", "op", "let", "const", "mut", "where", "mod", "pub", "use", "effect", "try", "handle", "finally", "perform", "resume"];
746
+ /** MiraScript constant keywords */
747
+ export declare const CONSTANT_KEYWORDS: readonly ["true", "false", "nil", "nan", "inf"];
748
+ /** MiraScript control flow keywords */
749
+ export declare const CONTROL_KEYWORDS: readonly ["if", "else", "match", "case", "for", "while", "loop", "break", "continue", "return"];
750
+ /** MiraScript numeric keywords */
751
+ export declare const NUMERIC_KEYWORDS: readonly ["nan", "inf"];
752
+ /** MiraScript reserved keywords */
753
+ export declare const RESERVED_KEYWORDS: readonly ["op", "where", "use", "effect", "try", "handle", "finally", "perform", "resume"];
754
+ //# sourceMappingURL=constants.g.d.ts.map