firefly-compiler 0.5.5 → 0.5.7

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.
@@ -1135,8 +1135,8 @@ extend self: Parser {
1135
1135
  }
1136
1136
 
1137
1137
  parseUnary(): Term {
1138
- if(self.current().is(LOperator)) {
1139
- let token = self.skip(LOperator)
1138
+ if(self.current().is2(LUnary, LOperator)) {
1139
+ let token = if(self.current().is(LUnary)) {self.skip(LUnary)} else {self.skip(LOperator)}
1140
1140
  let term = self.parseUnary()
1141
1141
  let effect = self.freshUnificationVariable(token.at())
1142
1142
  let target = DynamicCall(EVariable(token.at(), token.raw()), False)
@@ -1152,7 +1152,7 @@ extend self: Parser {
1152
1152
  True
1153
1153
  } else {False}
1154
1154
  mutable result = self.parseAtom()
1155
- while {self.current().is4(LBracketLeft, LColon, LDot, LArrowThin) || self.current().rawIs2("!", "?")} {
1155
+ while {self.current().is5(LBracketLeft, LColon, LDot, LArrowThin, LUnary)} {
1156
1156
  if(self.current().is(LDot)) {
1157
1157
  self.skip(LDot)
1158
1158
  if(self.current().rawIs("{")) {
@@ -1167,14 +1167,14 @@ extend self: Parser {
1167
1167
  }
1168
1168
  } elseIf {self.current().is(LArrowThin)} {
1169
1169
  result = self.parseDynamicMember(result)
1170
- } elseIf {self.current().rawIs2("!", "?")} {
1171
- let token = self.skip(LOperator)
1170
+ } elseIf {self.current().is(LUnary)} {
1171
+ let token = self.skip(LUnary)
1172
1172
  let method = if(token.rawIs("!")) {"ff:core/UnsafeJs.value"} else {"ff:core/UnsafeJs.fromValue"}
1173
1173
  let target = DynamicCall(EVariable(token.at(), method), False)
1174
1174
  let effect = self.freshUnificationVariable(token.at())
1175
- result = self.parseDynamicMember(ECall(token.at(), target, effect, [], [
1175
+ result = ECall(token.at(), target, effect, [], [
1176
1176
  Argument(result.at, None, result)
1177
- ], []))
1177
+ ], [])
1178
1178
  } else {
1179
1179
  let at = self.current().at()
1180
1180
  let typeArguments = if(!self.current().rawIs("[")) {[]} else {self.parseTypeArguments()}
package/compiler/Token.ff CHANGED
@@ -42,6 +42,10 @@ extend token: Token {
42
42
  token.kind == kind1 || token.kind == kind2 || token.kind == kind3 || token.kind == kind4
43
43
  }
44
44
 
45
+ is5(kind1: TokenKind, kind2: TokenKind, kind3: TokenKind, kind4: TokenKind, kind5: TokenKind): Bool {
46
+ token.kind == kind1 || token.kind == kind2 || token.kind == kind3 || token.kind == kind4 || token.kind == kind5
47
+ }
48
+
45
49
  rawIs(value: String): Bool {
46
50
  token.stopOffset - token.startOffset == value.size() &&
47
51
  token.code.startsWith(value, token.startOffset)
@@ -75,6 +79,7 @@ data TokenKind {
75
79
  LBracketLeft
76
80
  LBracketRight
77
81
  LOperator
82
+ LUnary
78
83
  LComma
79
84
  LSeparator
80
85
  LDot
@@ -105,6 +110,7 @@ extend self: TokenKind {
105
110
  | LWildcard => True
106
111
  | LBracketLeft => False
107
112
  | LBracketRight => True
113
+ | LUnary => True
108
114
  | LOperator => False
109
115
  | LComma => False
110
116
  | LSeparator => False
@@ -135,6 +141,7 @@ extend self: TokenKind {
135
141
  | LWildcard => True
136
142
  | LBracketLeft => True
137
143
  | LBracketRight => False
144
+ | LUnary => True
138
145
  | LOperator => False
139
146
  | LComma => False
140
147
  | LSeparator => False
@@ -165,6 +172,7 @@ extend self: TokenKind {
165
172
  | LWildcard => True
166
173
  | LBracketLeft => False
167
174
  | LBracketRight => False
175
+ | LUnary => False
168
176
  | LOperator => False
169
177
  | LComma => False
170
178
  | LSeparator => False
@@ -205,12 +205,12 @@ tokenize(file: String, code: String, completionAt: Option[Location], attemptFixe
205
205
  emitToken(LComma, start, i)
206
206
 
207
207
  } elseIf {
208
- (code.grab(i) == '!' || code.grab(i) == '?') && i + 1 < code.size() &&
209
- (code.grab(i + 1) == '.' || code.grab(i + 1) == '-')
208
+ code.grab(i) == '?' ||
209
+ (code.grab(i) == '!' && (i + 1 >= code.size() || code.grab(i + 1) != '='))
210
210
  } {
211
211
 
212
212
  i += 1
213
- emitToken(LOperator, start, i)
213
+ emitToken(LUnary, start, i)
214
214
 
215
215
  } elseIf {operatorCharacters.contains(code.grab(i))} {
216
216
 
package/core/List.ff CHANGED
@@ -364,7 +364,7 @@ extend self[T]: List[T] {
364
364
  }
365
365
  array.drain()
366
366
  }
367
-
367
+
368
368
  }
369
369
 
370
370
  extend self[T: Order]: List[T] {
@@ -1488,8 +1488,10 @@ return result_
1488
1488
  }
1489
1489
 
1490
1490
  export function Parser_parseUnary(self_) {
1491
- if(ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LOperator())) {
1492
- const token_ = ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LOperator());
1491
+ if(ff_compiler_Token.Token_is2(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LUnary(), ff_compiler_Token.LOperator())) {
1492
+ const token_ = (ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LUnary())
1493
+ ? ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LUnary())
1494
+ : ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LOperator()));
1493
1495
  const term_ = ff_compiler_Parser.Parser_parseUnary(self_);
1494
1496
  const effect_ = ff_compiler_Parser.Parser_freshUnificationVariable(self_, ff_compiler_Token.Token_at(token_));
1495
1497
  const target_ = ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), ff_compiler_Token.Token_raw(token_)), false);
@@ -1507,7 +1509,7 @@ return true
1507
1509
  })()
1508
1510
  : false);
1509
1511
  let result_ = ff_compiler_Parser.Parser_parseAtom(self_);
1510
- while((ff_compiler_Token.Token_is4(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LBracketLeft(), ff_compiler_Token.LColon(), ff_compiler_Token.LDot(), ff_compiler_Token.LArrowThin()) || ff_compiler_Token.Token_rawIs2(ff_compiler_Parser.Parser_current(self_), "!", "?"))) {
1512
+ while(ff_compiler_Token.Token_is5(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LBracketLeft(), ff_compiler_Token.LColon(), ff_compiler_Token.LDot(), ff_compiler_Token.LArrowThin(), ff_compiler_Token.LUnary())) {
1511
1513
  if(ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LDot())) {
1512
1514
  ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LDot());
1513
1515
  if(ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "{")) {
@@ -1522,14 +1524,14 @@ result_ = ff_compiler_Syntax.EField(ff_compiler_Token.Token_at(token_), false, r
1522
1524
  }
1523
1525
  } else if(ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LArrowThin())) {
1524
1526
  result_ = ff_compiler_Parser.Parser_parseDynamicMember(self_, result_)
1525
- } else if(ff_compiler_Token.Token_rawIs2(ff_compiler_Parser.Parser_current(self_), "!", "?")) {
1526
- const token_ = ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LOperator());
1527
+ } else if(ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LUnary())) {
1528
+ const token_ = ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LUnary());
1527
1529
  const method_ = (ff_compiler_Token.Token_rawIs(token_, "!")
1528
1530
  ? "ff:core/UnsafeJs.value"
1529
1531
  : "ff:core/UnsafeJs.fromValue");
1530
1532
  const target_ = ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), method_), false);
1531
1533
  const effect_ = ff_compiler_Parser.Parser_freshUnificationVariable(self_, ff_compiler_Token.Token_at(token_));
1532
- result_ = ff_compiler_Parser.Parser_parseDynamicMember(self_, ff_compiler_Syntax.ECall(ff_compiler_Token.Token_at(token_), target_, effect_, [], [ff_compiler_Syntax.Argument(result_.at_, ff_core_Option.None(), result_)], []))
1534
+ result_ = ff_compiler_Syntax.ECall(ff_compiler_Token.Token_at(token_), target_, effect_, [], [ff_compiler_Syntax.Argument(result_.at_, ff_core_Option.None(), result_)], [])
1533
1535
  } else {
1534
1536
  const at_ = ff_compiler_Token.Token_at(ff_compiler_Parser.Parser_current(self_));
1535
1537
  const typeArguments_ = ((!ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "["))
@@ -3106,8 +3108,10 @@ return result_
3106
3108
  }
3107
3109
 
3108
3110
  export async function Parser_parseUnary$(self_, $task) {
3109
- if(ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LOperator())) {
3110
- const token_ = ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LOperator());
3111
+ if(ff_compiler_Token.Token_is2(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LUnary(), ff_compiler_Token.LOperator())) {
3112
+ const token_ = (ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LUnary())
3113
+ ? ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LUnary())
3114
+ : ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LOperator()));
3111
3115
  const term_ = ff_compiler_Parser.Parser_parseUnary(self_);
3112
3116
  const effect_ = ff_compiler_Parser.Parser_freshUnificationVariable(self_, ff_compiler_Token.Token_at(token_));
3113
3117
  const target_ = ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), ff_compiler_Token.Token_raw(token_)), false);
@@ -3125,7 +3129,7 @@ return true
3125
3129
  })())
3126
3130
  : false);
3127
3131
  let result_ = ff_compiler_Parser.Parser_parseAtom(self_);
3128
- while((ff_compiler_Token.Token_is4(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LBracketLeft(), ff_compiler_Token.LColon(), ff_compiler_Token.LDot(), ff_compiler_Token.LArrowThin()) || ff_compiler_Token.Token_rawIs2(ff_compiler_Parser.Parser_current(self_), "!", "?"))) {
3132
+ while(ff_compiler_Token.Token_is5(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LBracketLeft(), ff_compiler_Token.LColon(), ff_compiler_Token.LDot(), ff_compiler_Token.LArrowThin(), ff_compiler_Token.LUnary())) {
3129
3133
  if(ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LDot())) {
3130
3134
  ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LDot());
3131
3135
  if(ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "{")) {
@@ -3140,14 +3144,14 @@ result_ = ff_compiler_Syntax.EField(ff_compiler_Token.Token_at(token_), false, r
3140
3144
  }
3141
3145
  } else if(ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LArrowThin())) {
3142
3146
  result_ = ff_compiler_Parser.Parser_parseDynamicMember(self_, result_)
3143
- } else if(ff_compiler_Token.Token_rawIs2(ff_compiler_Parser.Parser_current(self_), "!", "?")) {
3144
- const token_ = ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LOperator());
3147
+ } else if(ff_compiler_Token.Token_is(ff_compiler_Parser.Parser_current(self_), ff_compiler_Token.LUnary())) {
3148
+ const token_ = ff_compiler_Parser.Parser_skip(self_, ff_compiler_Token.LUnary());
3145
3149
  const method_ = (ff_compiler_Token.Token_rawIs(token_, "!")
3146
3150
  ? "ff:core/UnsafeJs.value"
3147
3151
  : "ff:core/UnsafeJs.fromValue");
3148
3152
  const target_ = ff_compiler_Syntax.DynamicCall(ff_compiler_Syntax.EVariable(ff_compiler_Token.Token_at(token_), method_), false);
3149
3153
  const effect_ = ff_compiler_Parser.Parser_freshUnificationVariable(self_, ff_compiler_Token.Token_at(token_));
3150
- result_ = ff_compiler_Parser.Parser_parseDynamicMember(self_, ff_compiler_Syntax.ECall(ff_compiler_Token.Token_at(token_), target_, effect_, [], [ff_compiler_Syntax.Argument(result_.at_, ff_core_Option.None(), result_)], []))
3154
+ result_ = ff_compiler_Syntax.ECall(ff_compiler_Token.Token_at(token_), target_, effect_, [], [ff_compiler_Syntax.Argument(result_.at_, ff_core_Option.None(), result_)], [])
3151
3155
  } else {
3152
3156
  const at_ = ff_compiler_Token.Token_at(ff_compiler_Parser.Parser_current(self_));
3153
3157
  const typeArguments_ = ((!ff_compiler_Token.Token_rawIs(ff_compiler_Parser.Parser_current(self_), "["))
@@ -154,6 +154,10 @@ const LOperator$ = {LOperator: true};
154
154
  export function LOperator() {
155
155
  return LOperator$;
156
156
  }
157
+ const LUnary$ = {LUnary: true};
158
+ export function LUnary() {
159
+ return LUnary$;
160
+ }
157
161
  const LComma$ = {LComma: true};
158
162
  export function LComma() {
159
163
  return LComma$;
@@ -237,6 +241,10 @@ export function Token_is4(token_, kind1_, kind2_, kind3_, kind4_) {
237
241
  return (((ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind1_) || ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind2_)) || ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind3_)) || ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind4_))
238
242
  }
239
243
 
244
+ export function Token_is5(token_, kind1_, kind2_, kind3_, kind4_, kind5_) {
245
+ return ((((ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind1_) || ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind2_)) || ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind3_)) || ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind4_)) || ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind5_))
246
+ }
247
+
240
248
  export function Token_rawIs(token_, value_) {
241
249
  return (((token_.stopOffset_ - token_.startOffset_) === ff_core_String.String_size(value_)) && ff_core_String.String_startsWith(token_.code_, value_, token_.startOffset_))
242
250
  }
@@ -281,6 +289,10 @@ export async function Token_is4$(token_, kind1_, kind2_, kind3_, kind4_, $task)
281
289
  return (((ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind1_) || ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind2_)) || ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind3_)) || ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind4_))
282
290
  }
283
291
 
292
+ export async function Token_is5$(token_, kind1_, kind2_, kind3_, kind4_, kind5_, $task) {
293
+ return ((((ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind1_) || ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind2_)) || ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind3_)) || ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind4_)) || ff_compiler_Token.ff_core_Equal_Equal$ff_compiler_Token_TokenKind.equals_(token_.kind_, kind5_))
294
+ }
295
+
284
296
  export async function Token_rawIs$(token_, value_, $task) {
285
297
  return (((token_.stopOffset_ - token_.startOffset_) === ff_core_String.String_size(value_)) && ff_core_String.String_startsWith(token_.code_, value_, token_.startOffset_))
286
298
  }
@@ -336,6 +348,9 @@ return false
336
348
  if(_1.LBracketRight) {
337
349
  return true
338
350
  }
351
+ if(_1.LUnary) {
352
+ return true
353
+ }
339
354
  if(_1.LOperator) {
340
355
  return false
341
356
  }
@@ -417,6 +432,9 @@ return true
417
432
  if(_1.LBracketRight) {
418
433
  return false
419
434
  }
435
+ if(_1.LUnary) {
436
+ return true
437
+ }
420
438
  if(_1.LOperator) {
421
439
  return false
422
440
  }
@@ -498,6 +516,9 @@ return false
498
516
  if(_1.LBracketRight) {
499
517
  return false
500
518
  }
519
+ if(_1.LUnary) {
520
+ return false
521
+ }
501
522
  if(_1.LOperator) {
502
523
  return false
503
524
  }
@@ -579,6 +600,9 @@ return false
579
600
  if(_1.LBracketRight) {
580
601
  return true
581
602
  }
603
+ if(_1.LUnary) {
604
+ return true
605
+ }
582
606
  if(_1.LOperator) {
583
607
  return false
584
608
  }
@@ -660,6 +684,9 @@ return true
660
684
  if(_1.LBracketRight) {
661
685
  return false
662
686
  }
687
+ if(_1.LUnary) {
688
+ return true
689
+ }
663
690
  if(_1.LOperator) {
664
691
  return false
665
692
  }
@@ -741,6 +768,9 @@ return false
741
768
  if(_1.LBracketRight) {
742
769
  return false
743
770
  }
771
+ if(_1.LUnary) {
772
+ return false
773
+ }
744
774
  if(_1.LOperator) {
745
775
  return false
746
776
  }
@@ -873,6 +903,10 @@ if(value_a.LOperator) {
873
903
  const z_ = value_a;
874
904
  return "LOperator"
875
905
  }
906
+ if(value_a.LUnary) {
907
+ const z_ = value_a;
908
+ return "LUnary"
909
+ }
876
910
  if(value_a.LComma) {
877
911
  const z_ = value_a;
878
912
  return "LComma"
@@ -976,6 +1010,10 @@ if(value_a.LOperator) {
976
1010
  const z_ = value_a;
977
1011
  return "LOperator"
978
1012
  }
1013
+ if(value_a.LUnary) {
1014
+ const z_ = value_a;
1015
+ return "LUnary"
1016
+ }
979
1017
  if(value_a.LComma) {
980
1018
  const z_ = value_a;
981
1019
  return "LComma"
@@ -1237,42 +1275,45 @@ return 11
1237
1275
  if(z_a.LOperator) {
1238
1276
  return 12
1239
1277
  }
1240
- if(z_a.LComma) {
1278
+ if(z_a.LUnary) {
1241
1279
  return 13
1242
1280
  }
1243
- if(z_a.LSeparator) {
1281
+ if(z_a.LComma) {
1244
1282
  return 14
1245
1283
  }
1246
- if(z_a.LDot) {
1284
+ if(z_a.LSeparator) {
1247
1285
  return 15
1248
1286
  }
1249
- if(z_a.LSemicolon) {
1287
+ if(z_a.LDot) {
1250
1288
  return 16
1251
1289
  }
1252
- if(z_a.LPipe) {
1290
+ if(z_a.LSemicolon) {
1253
1291
  return 17
1254
1292
  }
1255
- if(z_a.LColon) {
1293
+ if(z_a.LPipe) {
1256
1294
  return 18
1257
1295
  }
1258
- if(z_a.LDotDotDot) {
1296
+ if(z_a.LColon) {
1259
1297
  return 19
1260
1298
  }
1261
- if(z_a.LArrowThin) {
1299
+ if(z_a.LDotDotDot) {
1262
1300
  return 20
1263
1301
  }
1264
- if(z_a.LArrowThick) {
1302
+ if(z_a.LArrowThin) {
1265
1303
  return 21
1266
1304
  }
1267
- if(z_a.LAssign) {
1305
+ if(z_a.LArrowThick) {
1268
1306
  return 22
1269
1307
  }
1270
- if(z_a.LAssignPlus) {
1308
+ if(z_a.LAssign) {
1271
1309
  return 23
1272
1310
  }
1273
- if(z_a.LAssignMinus) {
1311
+ if(z_a.LAssignPlus) {
1274
1312
  return 24
1275
1313
  }
1314
+ if(z_a.LAssignMinus) {
1315
+ return 25
1316
+ }
1276
1317
  }
1277
1318
  return ff_core_Ordering.ff_core_Ordering_Order$ff_core_Int_Int.compare_(number_(x_), number_(y_))
1278
1319
  }
@@ -1325,42 +1366,45 @@ return 11
1325
1366
  if(z_a.LOperator) {
1326
1367
  return 12
1327
1368
  }
1328
- if(z_a.LComma) {
1369
+ if(z_a.LUnary) {
1329
1370
  return 13
1330
1371
  }
1331
- if(z_a.LSeparator) {
1372
+ if(z_a.LComma) {
1332
1373
  return 14
1333
1374
  }
1334
- if(z_a.LDot) {
1375
+ if(z_a.LSeparator) {
1335
1376
  return 15
1336
1377
  }
1337
- if(z_a.LSemicolon) {
1378
+ if(z_a.LDot) {
1338
1379
  return 16
1339
1380
  }
1340
- if(z_a.LPipe) {
1381
+ if(z_a.LSemicolon) {
1341
1382
  return 17
1342
1383
  }
1343
- if(z_a.LColon) {
1384
+ if(z_a.LPipe) {
1344
1385
  return 18
1345
1386
  }
1346
- if(z_a.LDotDotDot) {
1387
+ if(z_a.LColon) {
1347
1388
  return 19
1348
1389
  }
1349
- if(z_a.LArrowThin) {
1390
+ if(z_a.LDotDotDot) {
1350
1391
  return 20
1351
1392
  }
1352
- if(z_a.LArrowThick) {
1393
+ if(z_a.LArrowThin) {
1353
1394
  return 21
1354
1395
  }
1355
- if(z_a.LAssign) {
1396
+ if(z_a.LArrowThick) {
1356
1397
  return 22
1357
1398
  }
1358
- if(z_a.LAssignPlus) {
1399
+ if(z_a.LAssign) {
1359
1400
  return 23
1360
1401
  }
1361
- if(z_a.LAssignMinus) {
1402
+ if(z_a.LAssignPlus) {
1362
1403
  return 24
1363
1404
  }
1405
+ if(z_a.LAssignMinus) {
1406
+ return 25
1407
+ }
1364
1408
  }
1365
1409
  return ff_core_Ordering.ff_core_Ordering_Order$ff_core_Int_Int.compare_(number_(x_), number_(y_))
1366
1410
  }
@@ -1548,7 +1592,7 @@ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 1
1548
1592
  serialization_.offset_ += 1
1549
1593
  return
1550
1594
  }
1551
- if(value_a.LComma) {
1595
+ if(value_a.LUnary) {
1552
1596
  const v_ = value_a;
1553
1597
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
1554
1598
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
@@ -1556,11 +1600,19 @@ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 1
1556
1600
  serialization_.offset_ += 1
1557
1601
  return
1558
1602
  }
1603
+ if(value_a.LComma) {
1604
+ const v_ = value_a;
1605
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
1606
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1607
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 14);
1608
+ serialization_.offset_ += 1
1609
+ return
1610
+ }
1559
1611
  if(value_a.LSeparator) {
1560
1612
  const v_ = value_a;
1561
1613
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1562
1614
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1563
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 14);
1615
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 15);
1564
1616
  serialization_.offset_ += 1
1565
1617
  return
1566
1618
  }
@@ -1568,7 +1620,7 @@ if(value_a.LDot) {
1568
1620
  const v_ = value_a;
1569
1621
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 22), 0);
1570
1622
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1571
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 15);
1623
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 16);
1572
1624
  serialization_.offset_ += 1
1573
1625
  return
1574
1626
  }
@@ -1576,7 +1628,7 @@ if(value_a.LSemicolon) {
1576
1628
  const v_ = value_a;
1577
1629
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1578
1630
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1579
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 16);
1631
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 17);
1580
1632
  serialization_.offset_ += 1
1581
1633
  return
1582
1634
  }
@@ -1584,7 +1636,7 @@ if(value_a.LPipe) {
1584
1636
  const v_ = value_a;
1585
1637
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 23), 0);
1586
1638
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1587
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 17);
1639
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 18);
1588
1640
  serialization_.offset_ += 1
1589
1641
  return
1590
1642
  }
@@ -1592,7 +1644,7 @@ if(value_a.LColon) {
1592
1644
  const v_ = value_a;
1593
1645
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
1594
1646
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1595
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 18);
1647
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 19);
1596
1648
  serialization_.offset_ += 1
1597
1649
  return
1598
1650
  }
@@ -1600,7 +1652,7 @@ if(value_a.LDotDotDot) {
1600
1652
  const v_ = value_a;
1601
1653
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1602
1654
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1603
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 19);
1655
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 20);
1604
1656
  serialization_.offset_ += 1
1605
1657
  return
1606
1658
  }
@@ -1608,7 +1660,7 @@ if(value_a.LArrowThin) {
1608
1660
  const v_ = value_a;
1609
1661
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1610
1662
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1611
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 20);
1663
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 21);
1612
1664
  serialization_.offset_ += 1
1613
1665
  return
1614
1666
  }
@@ -1616,7 +1668,7 @@ if(value_a.LArrowThick) {
1616
1668
  const v_ = value_a;
1617
1669
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1618
1670
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1619
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 21);
1671
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 22);
1620
1672
  serialization_.offset_ += 1
1621
1673
  return
1622
1674
  }
@@ -1624,7 +1676,7 @@ if(value_a.LAssign) {
1624
1676
  const v_ = value_a;
1625
1677
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 25), 0);
1626
1678
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1627
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 22);
1679
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 23);
1628
1680
  serialization_.offset_ += 1
1629
1681
  return
1630
1682
  }
@@ -1632,7 +1684,7 @@ if(value_a.LAssignPlus) {
1632
1684
  const v_ = value_a;
1633
1685
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1634
1686
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1635
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 23);
1687
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 24);
1636
1688
  serialization_.offset_ += 1
1637
1689
  return
1638
1690
  }
@@ -1640,7 +1692,7 @@ if(value_a.LAssignMinus) {
1640
1692
  const v_ = value_a;
1641
1693
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
1642
1694
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1643
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 24);
1695
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 25);
1644
1696
  serialization_.offset_ += 1
1645
1697
  return
1646
1698
  }
@@ -1704,49 +1756,53 @@ return ff_compiler_Token.LOperator()
1704
1756
  }
1705
1757
  if(_1 === 13) {
1706
1758
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
1707
- return ff_compiler_Token.LComma()
1759
+ return ff_compiler_Token.LUnary()
1708
1760
  }
1709
1761
  if(_1 === 14) {
1762
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
1763
+ return ff_compiler_Token.LComma()
1764
+ }
1765
+ if(_1 === 15) {
1710
1766
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1711
1767
  return ff_compiler_Token.LSeparator()
1712
1768
  }
1713
- if(_1 === 15) {
1769
+ if(_1 === 16) {
1714
1770
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 22), 0);
1715
1771
  return ff_compiler_Token.LDot()
1716
1772
  }
1717
- if(_1 === 16) {
1773
+ if(_1 === 17) {
1718
1774
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1719
1775
  return ff_compiler_Token.LSemicolon()
1720
1776
  }
1721
- if(_1 === 17) {
1777
+ if(_1 === 18) {
1722
1778
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 23), 0);
1723
1779
  return ff_compiler_Token.LPipe()
1724
1780
  }
1725
- if(_1 === 18) {
1781
+ if(_1 === 19) {
1726
1782
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
1727
1783
  return ff_compiler_Token.LColon()
1728
1784
  }
1729
- if(_1 === 19) {
1785
+ if(_1 === 20) {
1730
1786
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1731
1787
  return ff_compiler_Token.LDotDotDot()
1732
1788
  }
1733
- if(_1 === 20) {
1789
+ if(_1 === 21) {
1734
1790
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1735
1791
  return ff_compiler_Token.LArrowThin()
1736
1792
  }
1737
- if(_1 === 21) {
1793
+ if(_1 === 22) {
1738
1794
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1739
1795
  return ff_compiler_Token.LArrowThick()
1740
1796
  }
1741
- if(_1 === 22) {
1797
+ if(_1 === 23) {
1742
1798
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 25), 0);
1743
1799
  return ff_compiler_Token.LAssign()
1744
1800
  }
1745
- if(_1 === 23) {
1801
+ if(_1 === 24) {
1746
1802
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1747
1803
  return ff_compiler_Token.LAssignPlus()
1748
1804
  }
1749
- if(_1 === 24) {
1805
+ if(_1 === 25) {
1750
1806
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
1751
1807
  return ff_compiler_Token.LAssignMinus()
1752
1808
  }
@@ -1862,7 +1918,7 @@ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 1
1862
1918
  serialization_.offset_ += 1
1863
1919
  return
1864
1920
  }
1865
- if(value_a.LComma) {
1921
+ if(value_a.LUnary) {
1866
1922
  const v_ = value_a;
1867
1923
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
1868
1924
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
@@ -1870,11 +1926,19 @@ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 1
1870
1926
  serialization_.offset_ += 1
1871
1927
  return
1872
1928
  }
1929
+ if(value_a.LComma) {
1930
+ const v_ = value_a;
1931
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
1932
+ ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1933
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 14);
1934
+ serialization_.offset_ += 1
1935
+ return
1936
+ }
1873
1937
  if(value_a.LSeparator) {
1874
1938
  const v_ = value_a;
1875
1939
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1876
1940
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1877
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 14);
1941
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 15);
1878
1942
  serialization_.offset_ += 1
1879
1943
  return
1880
1944
  }
@@ -1882,7 +1946,7 @@ if(value_a.LDot) {
1882
1946
  const v_ = value_a;
1883
1947
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 22), 0);
1884
1948
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1885
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 15);
1949
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 16);
1886
1950
  serialization_.offset_ += 1
1887
1951
  return
1888
1952
  }
@@ -1890,7 +1954,7 @@ if(value_a.LSemicolon) {
1890
1954
  const v_ = value_a;
1891
1955
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1892
1956
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1893
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 16);
1957
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 17);
1894
1958
  serialization_.offset_ += 1
1895
1959
  return
1896
1960
  }
@@ -1898,7 +1962,7 @@ if(value_a.LPipe) {
1898
1962
  const v_ = value_a;
1899
1963
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 23), 0);
1900
1964
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1901
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 17);
1965
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 18);
1902
1966
  serialization_.offset_ += 1
1903
1967
  return
1904
1968
  }
@@ -1906,7 +1970,7 @@ if(value_a.LColon) {
1906
1970
  const v_ = value_a;
1907
1971
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
1908
1972
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1909
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 18);
1973
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 19);
1910
1974
  serialization_.offset_ += 1
1911
1975
  return
1912
1976
  }
@@ -1914,7 +1978,7 @@ if(value_a.LDotDotDot) {
1914
1978
  const v_ = value_a;
1915
1979
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1916
1980
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1917
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 19);
1981
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 20);
1918
1982
  serialization_.offset_ += 1
1919
1983
  return
1920
1984
  }
@@ -1922,7 +1986,7 @@ if(value_a.LArrowThin) {
1922
1986
  const v_ = value_a;
1923
1987
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
1924
1988
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1925
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 20);
1989
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 21);
1926
1990
  serialization_.offset_ += 1
1927
1991
  return
1928
1992
  }
@@ -1930,7 +1994,7 @@ if(value_a.LArrowThick) {
1930
1994
  const v_ = value_a;
1931
1995
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1932
1996
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1933
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 21);
1997
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 22);
1934
1998
  serialization_.offset_ += 1
1935
1999
  return
1936
2000
  }
@@ -1938,7 +2002,7 @@ if(value_a.LAssign) {
1938
2002
  const v_ = value_a;
1939
2003
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 25), 0);
1940
2004
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1941
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 22);
2005
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 23);
1942
2006
  serialization_.offset_ += 1
1943
2007
  return
1944
2008
  }
@@ -1946,7 +2010,7 @@ if(value_a.LAssignPlus) {
1946
2010
  const v_ = value_a;
1947
2011
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1948
2012
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1949
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 23);
2013
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 24);
1950
2014
  serialization_.offset_ += 1
1951
2015
  return
1952
2016
  }
@@ -1954,7 +2018,7 @@ if(value_a.LAssignMinus) {
1954
2018
  const v_ = value_a;
1955
2019
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
1956
2020
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
1957
- ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 24);
2021
+ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 25);
1958
2022
  serialization_.offset_ += 1
1959
2023
  return
1960
2024
  }
@@ -2018,49 +2082,53 @@ return ff_compiler_Token.LOperator()
2018
2082
  }
2019
2083
  if(_1 === 13) {
2020
2084
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
2021
- return ff_compiler_Token.LComma()
2085
+ return ff_compiler_Token.LUnary()
2022
2086
  }
2023
2087
  if(_1 === 14) {
2088
+ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
2089
+ return ff_compiler_Token.LComma()
2090
+ }
2091
+ if(_1 === 15) {
2024
2092
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
2025
2093
  return ff_compiler_Token.LSeparator()
2026
2094
  }
2027
- if(_1 === 15) {
2095
+ if(_1 === 16) {
2028
2096
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 22), 0);
2029
2097
  return ff_compiler_Token.LDot()
2030
2098
  }
2031
- if(_1 === 16) {
2099
+ if(_1 === 17) {
2032
2100
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
2033
2101
  return ff_compiler_Token.LSemicolon()
2034
2102
  }
2035
- if(_1 === 17) {
2103
+ if(_1 === 18) {
2036
2104
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 23), 0);
2037
2105
  return ff_compiler_Token.LPipe()
2038
2106
  }
2039
- if(_1 === 18) {
2107
+ if(_1 === 19) {
2040
2108
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 24), 0);
2041
2109
  return ff_compiler_Token.LColon()
2042
2110
  }
2043
- if(_1 === 19) {
2111
+ if(_1 === 20) {
2044
2112
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
2045
2113
  return ff_compiler_Token.LDotDotDot()
2046
2114
  }
2047
- if(_1 === 20) {
2115
+ if(_1 === 21) {
2048
2116
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 28), 0);
2049
2117
  return ff_compiler_Token.LArrowThin()
2050
2118
  }
2051
- if(_1 === 21) {
2119
+ if(_1 === 22) {
2052
2120
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
2053
2121
  return ff_compiler_Token.LArrowThick()
2054
2122
  }
2055
- if(_1 === 22) {
2123
+ if(_1 === 23) {
2056
2124
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 25), 0);
2057
2125
  return ff_compiler_Token.LAssign()
2058
2126
  }
2059
- if(_1 === 23) {
2127
+ if(_1 === 24) {
2060
2128
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
2061
2129
  return ff_compiler_Token.LAssignPlus()
2062
2130
  }
2063
- if(_1 === 24) {
2131
+ if(_1 === 25) {
2064
2132
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
2065
2133
  return ff_compiler_Token.LAssignMinus()
2066
2134
  }
@@ -280,9 +280,9 @@ emitToken_(ff_compiler_Token.LWildcard(), start_, i_)
280
280
  } else if((ff_core_String.String_grab(code_, i_) === 44)) {
281
281
  i_ += 1;
282
282
  emitToken_(ff_compiler_Token.LComma(), start_, i_)
283
- } else if(((((ff_core_String.String_grab(code_, i_) === 33) || (ff_core_String.String_grab(code_, i_) === 63)) && ((i_ + 1) < ff_core_String.String_size(code_))) && ((ff_core_String.String_grab(code_, (i_ + 1)) === 46) || (ff_core_String.String_grab(code_, (i_ + 1)) === 45)))) {
283
+ } else if(((ff_core_String.String_grab(code_, i_) === 63) || ((ff_core_String.String_grab(code_, i_) === 33) && (((i_ + 1) >= ff_core_String.String_size(code_)) || (ff_core_String.String_grab(code_, (i_ + 1)) !== 61))))) {
284
284
  i_ += 1;
285
- emitToken_(ff_compiler_Token.LOperator(), start_, i_)
285
+ emitToken_(ff_compiler_Token.LUnary(), start_, i_)
286
286
  } else if(ff_core_Set.Set_contains(operatorCharacters_, ff_core_String.String_grab(code_, i_), ff_core_Ordering.ff_core_Ordering_Order$ff_core_Char_Char)) {
287
287
  i_ += 1;
288
288
  if(((((ff_core_String.String_grab(code_, (i_ - 1)) === 46) && ((i_ + 1) < ff_core_String.String_size(code_))) && (ff_core_String.String_grab(code_, i_) === 46)) && (ff_core_String.String_grab(code_, (i_ + 1)) !== 46))) {
@@ -527,9 +527,9 @@ emitToken_(ff_compiler_Token.LWildcard(), start_, i_)
527
527
  } else if((ff_core_String.String_grab(code_, i_) === 44)) {
528
528
  i_ += 1;
529
529
  emitToken_(ff_compiler_Token.LComma(), start_, i_)
530
- } else if(((((ff_core_String.String_grab(code_, i_) === 33) || (ff_core_String.String_grab(code_, i_) === 63)) && ((i_ + 1) < ff_core_String.String_size(code_))) && ((ff_core_String.String_grab(code_, (i_ + 1)) === 46) || (ff_core_String.String_grab(code_, (i_ + 1)) === 45)))) {
530
+ } else if(((ff_core_String.String_grab(code_, i_) === 63) || ((ff_core_String.String_grab(code_, i_) === 33) && (((i_ + 1) >= ff_core_String.String_size(code_)) || (ff_core_String.String_grab(code_, (i_ + 1)) !== 61))))) {
531
531
  i_ += 1;
532
- emitToken_(ff_compiler_Token.LOperator(), start_, i_)
532
+ emitToken_(ff_compiler_Token.LUnary(), start_, i_)
533
533
  } else if(ff_core_Set.Set_contains(operatorCharacters_, ff_core_String.String_grab(code_, i_), ff_core_Ordering.ff_core_Ordering_Order$ff_core_Char_Char)) {
534
534
  i_ += 1;
535
535
  if(((((ff_core_String.String_grab(code_, (i_ - 1)) === 46) && ((i_ + 1) < ff_core_String.String_size(code_))) && (ff_core_String.String_grab(code_, i_) === 46)) && (ff_core_String.String_grab(code_, (i_ + 1)) !== 46))) {
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "description": "Firefly compiler",
5
5
  "author": "Firefly team",
6
6
  "license": "MIT",
7
- "version": "0.5.5",
7
+ "version": "0.5.7",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "https://github.com/Ahnfelt/firefly-boot"
@@ -4,7 +4,7 @@
4
4
  "description": "Firefly language support",
5
5
  "author": "Firefly team",
6
6
  "license": "MIT",
7
- "version": "0.5.5",
7
+ "version": "0.5.7",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "https://github.com/Ahnfelt/firefly-boot"