tree-sitter-bynk 0.309.4 → 0.314.23

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/grammar.js CHANGED
@@ -1285,9 +1285,18 @@ module.exports = grammar({
1285
1285
  expect_expr: ($) =>
1286
1286
  prec.right(
1287
1287
  PREC.expect,
1288
- seq("expect", field("cond", choice($.observation_expr, $._expression))),
1288
+ seq(
1289
+ "expect",
1290
+ field("cond", choice($.observation_expr, $.faults_expr, $._expression)),
1291
+ ),
1289
1292
  ),
1290
1293
 
1294
+ // #1706: a fault claim — `expect <call> faults` holds when awaiting the
1295
+ // call throws. `faults` is contextual (an ordinary identifier elsewhere),
1296
+ // mirroring the compiler's trailing-word parse; an expression is never
1297
+ // followed by a bare identifier, so the word alone decides.
1298
+ faults_expr: ($) => seq(field("call", $._expression), "faults"),
1299
+
1291
1300
  // v0.117: an observation — a `Cap.op` seam reference followed by one of the
1292
1301
  // sugar matchers. `called` / `never` / `once` / `times` / `with` / `before`
1293
1302
  // are contextual (state-lexed as keywords only here; ordinary identifiers
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tree-sitter-bynk",
3
- "version": "0.309.4",
3
+ "version": "0.314.23",
4
4
  "description": "Tree-sitter grammar for the Bynk language.",
5
5
  "main": "bindings/node",
6
6
  "types": "bindings/node",
@@ -98,6 +98,10 @@
98
98
  "fails"
99
99
  ] @keyword.operator
100
100
 
101
+ ; #1706: the fault-claim word — contextual, like the observation words: the
102
+ ; token exists only inside a `faults_expr`.
103
+ "faults" @keyword.operator
104
+
101
105
  ; v0.117: the `trace(Cap.op)` escape hatch — a test-only builtin.
102
106
  "trace" @keyword
103
107
 
package/src/grammar.json CHANGED
@@ -6027,6 +6027,10 @@
6027
6027
  "type": "SYMBOL",
6028
6028
  "name": "observation_expr"
6029
6029
  },
6030
+ {
6031
+ "type": "SYMBOL",
6032
+ "name": "faults_expr"
6033
+ },
6030
6034
  {
6031
6035
  "type": "SYMBOL",
6032
6036
  "name": "_expression"
@@ -6037,6 +6041,23 @@
6037
6041
  ]
6038
6042
  }
6039
6043
  },
6044
+ "faults_expr": {
6045
+ "type": "SEQ",
6046
+ "members": [
6047
+ {
6048
+ "type": "FIELD",
6049
+ "name": "call",
6050
+ "content": {
6051
+ "type": "SYMBOL",
6052
+ "name": "_expression"
6053
+ }
6054
+ },
6055
+ {
6056
+ "type": "STRING",
6057
+ "value": "faults"
6058
+ }
6059
+ ]
6060
+ },
6040
6061
  "observation_expr": {
6041
6062
  "type": "SEQ",
6042
6063
  "members": [
@@ -3337,6 +3337,10 @@
3337
3337
  "type": "expect_expr",
3338
3338
  "named": true
3339
3339
  },
3340
+ {
3341
+ "type": "faults_expr",
3342
+ "named": true
3343
+ },
3340
3344
  {
3341
3345
  "type": "field_access",
3342
3346
  "named": true
@@ -3475,6 +3479,142 @@
3475
3479
  }
3476
3480
  }
3477
3481
  },
3482
+ {
3483
+ "type": "faults_expr",
3484
+ "named": true,
3485
+ "fields": {
3486
+ "call": {
3487
+ "multiple": false,
3488
+ "required": true,
3489
+ "types": [
3490
+ {
3491
+ "type": "binary_expr",
3492
+ "named": true
3493
+ },
3494
+ {
3495
+ "type": "block",
3496
+ "named": true
3497
+ },
3498
+ {
3499
+ "type": "boolean_literal",
3500
+ "named": true
3501
+ },
3502
+ {
3503
+ "type": "call",
3504
+ "named": true
3505
+ },
3506
+ {
3507
+ "type": "effect_pure_expr",
3508
+ "named": true
3509
+ },
3510
+ {
3511
+ "type": "err_expr",
3512
+ "named": true
3513
+ },
3514
+ {
3515
+ "type": "expect_expr",
3516
+ "named": true
3517
+ },
3518
+ {
3519
+ "type": "field_access",
3520
+ "named": true
3521
+ },
3522
+ {
3523
+ "type": "float_literal",
3524
+ "named": true
3525
+ },
3526
+ {
3527
+ "type": "identifier",
3528
+ "named": true
3529
+ },
3530
+ {
3531
+ "type": "if_expr",
3532
+ "named": true
3533
+ },
3534
+ {
3535
+ "type": "is_expr",
3536
+ "named": true
3537
+ },
3538
+ {
3539
+ "type": "lambda_expr",
3540
+ "named": true
3541
+ },
3542
+ {
3543
+ "type": "list_literal",
3544
+ "named": true
3545
+ },
3546
+ {
3547
+ "type": "match_expr",
3548
+ "named": true
3549
+ },
3550
+ {
3551
+ "type": "method_call",
3552
+ "named": true
3553
+ },
3554
+ {
3555
+ "type": "none_expr",
3556
+ "named": true
3557
+ },
3558
+ {
3559
+ "type": "number_literal",
3560
+ "named": true
3561
+ },
3562
+ {
3563
+ "type": "ok_expr",
3564
+ "named": true
3565
+ },
3566
+ {
3567
+ "type": "paren_expr",
3568
+ "named": true
3569
+ },
3570
+ {
3571
+ "type": "question_expr",
3572
+ "named": true
3573
+ },
3574
+ {
3575
+ "type": "record_construction",
3576
+ "named": true
3577
+ },
3578
+ {
3579
+ "type": "record_spread",
3580
+ "named": true
3581
+ },
3582
+ {
3583
+ "type": "self_expr",
3584
+ "named": true
3585
+ },
3586
+ {
3587
+ "type": "some_expr",
3588
+ "named": true
3589
+ },
3590
+ {
3591
+ "type": "string_literal",
3592
+ "named": true
3593
+ },
3594
+ {
3595
+ "type": "trace_expr",
3596
+ "named": true
3597
+ },
3598
+ {
3599
+ "type": "unary_expr",
3600
+ "named": true
3601
+ },
3602
+ {
3603
+ "type": "unit_literal",
3604
+ "named": true
3605
+ },
3606
+ {
3607
+ "type": "val_expr",
3608
+ "named": true
3609
+ },
3610
+ {
3611
+ "type": "wire_expr",
3612
+ "named": true
3613
+ }
3614
+ ]
3615
+ }
3616
+ }
3617
+ },
3478
3618
  {
3479
3619
  "type": "field_access",
3480
3620
  "named": true,
@@ -11244,6 +11384,10 @@
11244
11384
  "type": "false",
11245
11385
  "named": false
11246
11386
  },
11387
+ {
11388
+ "type": "faults",
11389
+ "named": false
11390
+ },
11247
11391
  {
11248
11392
  "type": "float_literal",
11249
11393
  "named": true