@mirascript/wasm 0.1.25 → 0.1.27

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