@plurnk/plurnk-grammar 0.41.0 → 0.45.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.
package/README.md CHANGED
@@ -202,6 +202,7 @@ Four generated [GBNF](https://github.com/ggml-org/llama.cpp/blob/master/grammars
202
202
  - **`plurnk-free.gbnf`** — free text and statements interleave with `<<` escapable to text: an opener-lookalike that never completes a real keyword stays inert text. The permissive fallback if the hard commit bites.
203
203
  - **`plurnk-closed.gbnf`** — free-style text, but the turn must close with a final pathless `SEND[102]`/`SEND[200]` (forced EOS). For models that ramble past optional stopping points.
204
204
  - **`plurnk-strict.gbnf`** — ops only, bounded newline separators. The tightest rail, for models that don't reason.
205
+ - **`plurnk-plan.gbnf`** — exactly `plurnk-strict`, but the turn must open with a `<<PLAN:` op: forces a reasoning step before any action.
205
206
 
206
207
  The parser remains the permissive contract — everything any of the three can generate, the parser accepts (interstatement text surfaces as `kind: "text"` items).
207
208
 
@@ -488,7 +488,7 @@ send-b1 ::= ("S" send-b2 | ":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] se
488
488
  send-b2 ::= ("E" send-b3 | ":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-b0)?
489
489
  send-b3 ::= ("N" send-b4 | ":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-b0)?
490
490
  send-b4 ::= (":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-b0)?
491
- send-mid ::= "<<SEND" "[" status "]" target ":" send-b0 ":SEND" | "<<SEND" "[" status-mid "]" ":" send-b0 ":SEND"
491
+ send-mid ::= "<<SEND" "[" status "]" target ":" send-b0 ":SEND" | "<<SEND" target ":" send-b0 ":SEND" | "<<SEND" "[" status-mid "]" ":" send-b0 ":SEND" | "<<SEND" ":" send-b0 ":SEND"
492
492
  send-final ::= "<<SEND" "[" status-final "]" ":" send-b0 ":SEND"
493
493
  send-1-b0 ::= (":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-1-b0)?
494
494
  send-1-b1 ::= ("S" send-1-b2 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-1-b0)?
@@ -496,7 +496,7 @@ send-1-b2 ::= ("E" send-1-b3 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
496
496
  send-1-b3 ::= ("N" send-1-b4 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-1-b0)?
497
497
  send-1-b4 ::= ("D" send-1-b5 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-1-b0)?
498
498
  send-1-b5 ::= (":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:1] send-1-b0)?
499
- send-1-mid ::= "<<SEND1" "[" status "]" target ":" send-1-b0 ":SEND1" | "<<SEND1" "[" status-mid "]" ":" send-1-b0 ":SEND1"
499
+ send-1-mid ::= "<<SEND1" "[" status "]" target ":" send-1-b0 ":SEND1" | "<<SEND1" target ":" send-1-b0 ":SEND1" | "<<SEND1" "[" status-mid "]" ":" send-1-b0 ":SEND1" | "<<SEND1" ":" send-1-b0 ":SEND1"
500
500
  send-1-final ::= "<<SEND1" "[" status-final "]" ":" send-1-b0 ":SEND1"
501
501
  send-2-b0 ::= (":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-2-b0)?
502
502
  send-2-b1 ::= ("S" send-2-b2 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-2-b0)?
@@ -504,7 +504,7 @@ send-2-b2 ::= ("E" send-2-b3 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
504
504
  send-2-b3 ::= ("N" send-2-b4 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-2-b0)?
505
505
  send-2-b4 ::= ("D" send-2-b5 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-2-b0)?
506
506
  send-2-b5 ::= (":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:2] send-2-b0)?
507
- send-2-mid ::= "<<SEND2" "[" status "]" target ":" send-2-b0 ":SEND2" | "<<SEND2" "[" status-mid "]" ":" send-2-b0 ":SEND2"
507
+ send-2-mid ::= "<<SEND2" "[" status "]" target ":" send-2-b0 ":SEND2" | "<<SEND2" target ":" send-2-b0 ":SEND2" | "<<SEND2" "[" status-mid "]" ":" send-2-b0 ":SEND2" | "<<SEND2" ":" send-2-b0 ":SEND2"
508
508
  send-2-final ::= "<<SEND2" "[" status-final "]" ":" send-2-b0 ":SEND2"
509
509
  send-3-b0 ::= (":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-3-b0)?
510
510
  send-3-b1 ::= ("S" send-3-b2 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-3-b0)?
@@ -512,7 +512,7 @@ send-3-b2 ::= ("E" send-3-b3 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
512
512
  send-3-b3 ::= ("N" send-3-b4 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-3-b0)?
513
513
  send-3-b4 ::= ("D" send-3-b5 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-3-b0)?
514
514
  send-3-b5 ::= (":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:3] send-3-b0)?
515
- send-3-mid ::= "<<SEND3" "[" status "]" target ":" send-3-b0 ":SEND3" | "<<SEND3" "[" status-mid "]" ":" send-3-b0 ":SEND3"
515
+ send-3-mid ::= "<<SEND3" "[" status "]" target ":" send-3-b0 ":SEND3" | "<<SEND3" target ":" send-3-b0 ":SEND3" | "<<SEND3" "[" status-mid "]" ":" send-3-b0 ":SEND3" | "<<SEND3" ":" send-3-b0 ":SEND3"
516
516
  send-3-final ::= "<<SEND3" "[" status-final "]" ":" send-3-b0 ":SEND3"
517
517
  send-4-b0 ::= (":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-4-b0)?
518
518
  send-4-b1 ::= ("S" send-4-b2 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-4-b0)?
@@ -520,7 +520,7 @@ send-4-b2 ::= ("E" send-4-b3 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
520
520
  send-4-b3 ::= ("N" send-4-b4 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-4-b0)?
521
521
  send-4-b4 ::= ("D" send-4-b5 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-4-b0)?
522
522
  send-4-b5 ::= (":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:4] send-4-b0)?
523
- send-4-mid ::= "<<SEND4" "[" status "]" target ":" send-4-b0 ":SEND4" | "<<SEND4" "[" status-mid "]" ":" send-4-b0 ":SEND4"
523
+ send-4-mid ::= "<<SEND4" "[" status "]" target ":" send-4-b0 ":SEND4" | "<<SEND4" target ":" send-4-b0 ":SEND4" | "<<SEND4" "[" status-mid "]" ":" send-4-b0 ":SEND4" | "<<SEND4" ":" send-4-b0 ":SEND4"
524
524
  send-4-final ::= "<<SEND4" "[" status-final "]" ":" send-4-b0 ":SEND4"
525
525
  send-5-b0 ::= (":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-5-b0)?
526
526
  send-5-b1 ::= ("S" send-5-b2 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-5-b0)?
@@ -528,7 +528,7 @@ send-5-b2 ::= ("E" send-5-b3 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
528
528
  send-5-b3 ::= ("N" send-5-b4 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-5-b0)?
529
529
  send-5-b4 ::= ("D" send-5-b5 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-5-b0)?
530
530
  send-5-b5 ::= (":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:5] send-5-b0)?
531
- send-5-mid ::= "<<SEND5" "[" status "]" target ":" send-5-b0 ":SEND5" | "<<SEND5" "[" status-mid "]" ":" send-5-b0 ":SEND5"
531
+ send-5-mid ::= "<<SEND5" "[" status "]" target ":" send-5-b0 ":SEND5" | "<<SEND5" target ":" send-5-b0 ":SEND5" | "<<SEND5" "[" status-mid "]" ":" send-5-b0 ":SEND5" | "<<SEND5" ":" send-5-b0 ":SEND5"
532
532
  send-5-final ::= "<<SEND5" "[" status-final "]" ":" send-5-b0 ":SEND5"
533
533
  send-6-b0 ::= (":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-6-b0)?
534
534
  send-6-b1 ::= ("S" send-6-b2 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-6-b0)?
@@ -536,7 +536,7 @@ send-6-b2 ::= ("E" send-6-b3 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
536
536
  send-6-b3 ::= ("N" send-6-b4 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-6-b0)?
537
537
  send-6-b4 ::= ("D" send-6-b5 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-6-b0)?
538
538
  send-6-b5 ::= (":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:6] send-6-b0)?
539
- send-6-mid ::= "<<SEND6" "[" status "]" target ":" send-6-b0 ":SEND6" | "<<SEND6" "[" status-mid "]" ":" send-6-b0 ":SEND6"
539
+ send-6-mid ::= "<<SEND6" "[" status "]" target ":" send-6-b0 ":SEND6" | "<<SEND6" target ":" send-6-b0 ":SEND6" | "<<SEND6" "[" status-mid "]" ":" send-6-b0 ":SEND6" | "<<SEND6" ":" send-6-b0 ":SEND6"
540
540
  send-6-final ::= "<<SEND6" "[" status-final "]" ":" send-6-b0 ":SEND6"
541
541
  send-7-b0 ::= (":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-7-b0)?
542
542
  send-7-b1 ::= ("S" send-7-b2 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-7-b0)?
@@ -544,7 +544,7 @@ send-7-b2 ::= ("E" send-7-b3 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
544
544
  send-7-b3 ::= ("N" send-7-b4 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-7-b0)?
545
545
  send-7-b4 ::= ("D" send-7-b5 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-7-b0)?
546
546
  send-7-b5 ::= (":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:7] send-7-b0)?
547
- send-7-mid ::= "<<SEND7" "[" status "]" target ":" send-7-b0 ":SEND7" | "<<SEND7" "[" status-mid "]" ":" send-7-b0 ":SEND7"
547
+ send-7-mid ::= "<<SEND7" "[" status "]" target ":" send-7-b0 ":SEND7" | "<<SEND7" target ":" send-7-b0 ":SEND7" | "<<SEND7" "[" status-mid "]" ":" send-7-b0 ":SEND7" | "<<SEND7" ":" send-7-b0 ":SEND7"
548
548
  send-7-final ::= "<<SEND7" "[" status-final "]" ":" send-7-b0 ":SEND7"
549
549
  send-8-b0 ::= (":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-8-b0)?
550
550
  send-8-b1 ::= ("S" send-8-b2 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-8-b0)?
@@ -552,7 +552,7 @@ send-8-b2 ::= ("E" send-8-b3 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
552
552
  send-8-b3 ::= ("N" send-8-b4 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-8-b0)?
553
553
  send-8-b4 ::= ("D" send-8-b5 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-8-b0)?
554
554
  send-8-b5 ::= (":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:8] send-8-b0)?
555
- send-8-mid ::= "<<SEND8" "[" status "]" target ":" send-8-b0 ":SEND8" | "<<SEND8" "[" status-mid "]" ":" send-8-b0 ":SEND8"
555
+ send-8-mid ::= "<<SEND8" "[" status "]" target ":" send-8-b0 ":SEND8" | "<<SEND8" target ":" send-8-b0 ":SEND8" | "<<SEND8" "[" status-mid "]" ":" send-8-b0 ":SEND8" | "<<SEND8" ":" send-8-b0 ":SEND8"
556
556
  send-8-final ::= "<<SEND8" "[" status-final "]" ":" send-8-b0 ":SEND8"
557
557
  send-9-b0 ::= (":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-9-b0)?
558
558
  send-9-b1 ::= ("S" send-9-b2 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-9-b0)?
@@ -560,7 +560,7 @@ send-9-b2 ::= ("E" send-9-b3 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
560
560
  send-9-b3 ::= ("N" send-9-b4 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-9-b0)?
561
561
  send-9-b4 ::= ("D" send-9-b5 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-9-b0)?
562
562
  send-9-b5 ::= (":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:9] send-9-b0)?
563
- send-9-mid ::= "<<SEND9" "[" status "]" target ":" send-9-b0 ":SEND9" | "<<SEND9" "[" status-mid "]" ":" send-9-b0 ":SEND9"
563
+ send-9-mid ::= "<<SEND9" "[" status "]" target ":" send-9-b0 ":SEND9" | "<<SEND9" target ":" send-9-b0 ":SEND9" | "<<SEND9" "[" status-mid "]" ":" send-9-b0 ":SEND9" | "<<SEND9" ":" send-9-b0 ":SEND9"
564
564
  send-9-final ::= "<<SEND9" "[" status-final "]" ":" send-9-b0 ":SEND9"
565
565
  exec-b0 ::= (":" exec-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] exec-b0)?
566
566
  exec-b1 ::= ("E" exec-b2 | ":" exec-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-b0)?
@@ -488,7 +488,7 @@ send-b1 ::= ("S" send-b2 | ":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] se
488
488
  send-b2 ::= ("E" send-b3 | ":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-b0)?
489
489
  send-b3 ::= ("N" send-b4 | ":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-b0)?
490
490
  send-b4 ::= (":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-b0)?
491
- send-mid ::= "<<SEND" "[" status "]" target ":" send-b0 ":SEND" | "<<SEND" "[" status-mid "]" ":" send-b0 ":SEND"
491
+ send-mid ::= "<<SEND" "[" status "]" target ":" send-b0 ":SEND" | "<<SEND" target ":" send-b0 ":SEND" | "<<SEND" "[" status-mid "]" ":" send-b0 ":SEND" | "<<SEND" ":" send-b0 ":SEND"
492
492
  send-final ::= "<<SEND" "[" status-final "]" ":" send-b0 ":SEND"
493
493
  send-1-b0 ::= (":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-1-b0)?
494
494
  send-1-b1 ::= ("S" send-1-b2 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-1-b0)?
@@ -496,7 +496,7 @@ send-1-b2 ::= ("E" send-1-b3 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
496
496
  send-1-b3 ::= ("N" send-1-b4 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-1-b0)?
497
497
  send-1-b4 ::= ("D" send-1-b5 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-1-b0)?
498
498
  send-1-b5 ::= (":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:1] send-1-b0)?
499
- send-1-mid ::= "<<SEND1" "[" status "]" target ":" send-1-b0 ":SEND1" | "<<SEND1" "[" status-mid "]" ":" send-1-b0 ":SEND1"
499
+ send-1-mid ::= "<<SEND1" "[" status "]" target ":" send-1-b0 ":SEND1" | "<<SEND1" target ":" send-1-b0 ":SEND1" | "<<SEND1" "[" status-mid "]" ":" send-1-b0 ":SEND1" | "<<SEND1" ":" send-1-b0 ":SEND1"
500
500
  send-1-final ::= "<<SEND1" "[" status-final "]" ":" send-1-b0 ":SEND1"
501
501
  send-2-b0 ::= (":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-2-b0)?
502
502
  send-2-b1 ::= ("S" send-2-b2 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-2-b0)?
@@ -504,7 +504,7 @@ send-2-b2 ::= ("E" send-2-b3 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
504
504
  send-2-b3 ::= ("N" send-2-b4 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-2-b0)?
505
505
  send-2-b4 ::= ("D" send-2-b5 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-2-b0)?
506
506
  send-2-b5 ::= (":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:2] send-2-b0)?
507
- send-2-mid ::= "<<SEND2" "[" status "]" target ":" send-2-b0 ":SEND2" | "<<SEND2" "[" status-mid "]" ":" send-2-b0 ":SEND2"
507
+ send-2-mid ::= "<<SEND2" "[" status "]" target ":" send-2-b0 ":SEND2" | "<<SEND2" target ":" send-2-b0 ":SEND2" | "<<SEND2" "[" status-mid "]" ":" send-2-b0 ":SEND2" | "<<SEND2" ":" send-2-b0 ":SEND2"
508
508
  send-2-final ::= "<<SEND2" "[" status-final "]" ":" send-2-b0 ":SEND2"
509
509
  send-3-b0 ::= (":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-3-b0)?
510
510
  send-3-b1 ::= ("S" send-3-b2 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-3-b0)?
@@ -512,7 +512,7 @@ send-3-b2 ::= ("E" send-3-b3 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
512
512
  send-3-b3 ::= ("N" send-3-b4 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-3-b0)?
513
513
  send-3-b4 ::= ("D" send-3-b5 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-3-b0)?
514
514
  send-3-b5 ::= (":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:3] send-3-b0)?
515
- send-3-mid ::= "<<SEND3" "[" status "]" target ":" send-3-b0 ":SEND3" | "<<SEND3" "[" status-mid "]" ":" send-3-b0 ":SEND3"
515
+ send-3-mid ::= "<<SEND3" "[" status "]" target ":" send-3-b0 ":SEND3" | "<<SEND3" target ":" send-3-b0 ":SEND3" | "<<SEND3" "[" status-mid "]" ":" send-3-b0 ":SEND3" | "<<SEND3" ":" send-3-b0 ":SEND3"
516
516
  send-3-final ::= "<<SEND3" "[" status-final "]" ":" send-3-b0 ":SEND3"
517
517
  send-4-b0 ::= (":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-4-b0)?
518
518
  send-4-b1 ::= ("S" send-4-b2 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-4-b0)?
@@ -520,7 +520,7 @@ send-4-b2 ::= ("E" send-4-b3 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
520
520
  send-4-b3 ::= ("N" send-4-b4 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-4-b0)?
521
521
  send-4-b4 ::= ("D" send-4-b5 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-4-b0)?
522
522
  send-4-b5 ::= (":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:4] send-4-b0)?
523
- send-4-mid ::= "<<SEND4" "[" status "]" target ":" send-4-b0 ":SEND4" | "<<SEND4" "[" status-mid "]" ":" send-4-b0 ":SEND4"
523
+ send-4-mid ::= "<<SEND4" "[" status "]" target ":" send-4-b0 ":SEND4" | "<<SEND4" target ":" send-4-b0 ":SEND4" | "<<SEND4" "[" status-mid "]" ":" send-4-b0 ":SEND4" | "<<SEND4" ":" send-4-b0 ":SEND4"
524
524
  send-4-final ::= "<<SEND4" "[" status-final "]" ":" send-4-b0 ":SEND4"
525
525
  send-5-b0 ::= (":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-5-b0)?
526
526
  send-5-b1 ::= ("S" send-5-b2 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-5-b0)?
@@ -528,7 +528,7 @@ send-5-b2 ::= ("E" send-5-b3 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
528
528
  send-5-b3 ::= ("N" send-5-b4 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-5-b0)?
529
529
  send-5-b4 ::= ("D" send-5-b5 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-5-b0)?
530
530
  send-5-b5 ::= (":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:5] send-5-b0)?
531
- send-5-mid ::= "<<SEND5" "[" status "]" target ":" send-5-b0 ":SEND5" | "<<SEND5" "[" status-mid "]" ":" send-5-b0 ":SEND5"
531
+ send-5-mid ::= "<<SEND5" "[" status "]" target ":" send-5-b0 ":SEND5" | "<<SEND5" target ":" send-5-b0 ":SEND5" | "<<SEND5" "[" status-mid "]" ":" send-5-b0 ":SEND5" | "<<SEND5" ":" send-5-b0 ":SEND5"
532
532
  send-5-final ::= "<<SEND5" "[" status-final "]" ":" send-5-b0 ":SEND5"
533
533
  send-6-b0 ::= (":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-6-b0)?
534
534
  send-6-b1 ::= ("S" send-6-b2 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-6-b0)?
@@ -536,7 +536,7 @@ send-6-b2 ::= ("E" send-6-b3 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
536
536
  send-6-b3 ::= ("N" send-6-b4 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-6-b0)?
537
537
  send-6-b4 ::= ("D" send-6-b5 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-6-b0)?
538
538
  send-6-b5 ::= (":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:6] send-6-b0)?
539
- send-6-mid ::= "<<SEND6" "[" status "]" target ":" send-6-b0 ":SEND6" | "<<SEND6" "[" status-mid "]" ":" send-6-b0 ":SEND6"
539
+ send-6-mid ::= "<<SEND6" "[" status "]" target ":" send-6-b0 ":SEND6" | "<<SEND6" target ":" send-6-b0 ":SEND6" | "<<SEND6" "[" status-mid "]" ":" send-6-b0 ":SEND6" | "<<SEND6" ":" send-6-b0 ":SEND6"
540
540
  send-6-final ::= "<<SEND6" "[" status-final "]" ":" send-6-b0 ":SEND6"
541
541
  send-7-b0 ::= (":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-7-b0)?
542
542
  send-7-b1 ::= ("S" send-7-b2 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-7-b0)?
@@ -544,7 +544,7 @@ send-7-b2 ::= ("E" send-7-b3 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
544
544
  send-7-b3 ::= ("N" send-7-b4 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-7-b0)?
545
545
  send-7-b4 ::= ("D" send-7-b5 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-7-b0)?
546
546
  send-7-b5 ::= (":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:7] send-7-b0)?
547
- send-7-mid ::= "<<SEND7" "[" status "]" target ":" send-7-b0 ":SEND7" | "<<SEND7" "[" status-mid "]" ":" send-7-b0 ":SEND7"
547
+ send-7-mid ::= "<<SEND7" "[" status "]" target ":" send-7-b0 ":SEND7" | "<<SEND7" target ":" send-7-b0 ":SEND7" | "<<SEND7" "[" status-mid "]" ":" send-7-b0 ":SEND7" | "<<SEND7" ":" send-7-b0 ":SEND7"
548
548
  send-7-final ::= "<<SEND7" "[" status-final "]" ":" send-7-b0 ":SEND7"
549
549
  send-8-b0 ::= (":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-8-b0)?
550
550
  send-8-b1 ::= ("S" send-8-b2 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-8-b0)?
@@ -552,7 +552,7 @@ send-8-b2 ::= ("E" send-8-b3 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
552
552
  send-8-b3 ::= ("N" send-8-b4 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-8-b0)?
553
553
  send-8-b4 ::= ("D" send-8-b5 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-8-b0)?
554
554
  send-8-b5 ::= (":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:8] send-8-b0)?
555
- send-8-mid ::= "<<SEND8" "[" status "]" target ":" send-8-b0 ":SEND8" | "<<SEND8" "[" status-mid "]" ":" send-8-b0 ":SEND8"
555
+ send-8-mid ::= "<<SEND8" "[" status "]" target ":" send-8-b0 ":SEND8" | "<<SEND8" target ":" send-8-b0 ":SEND8" | "<<SEND8" "[" status-mid "]" ":" send-8-b0 ":SEND8" | "<<SEND8" ":" send-8-b0 ":SEND8"
556
556
  send-8-final ::= "<<SEND8" "[" status-final "]" ":" send-8-b0 ":SEND8"
557
557
  send-9-b0 ::= (":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-9-b0)?
558
558
  send-9-b1 ::= ("S" send-9-b2 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-9-b0)?
@@ -560,7 +560,7 @@ send-9-b2 ::= ("E" send-9-b3 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
560
560
  send-9-b3 ::= ("N" send-9-b4 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-9-b0)?
561
561
  send-9-b4 ::= ("D" send-9-b5 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-9-b0)?
562
562
  send-9-b5 ::= (":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:9] send-9-b0)?
563
- send-9-mid ::= "<<SEND9" "[" status "]" target ":" send-9-b0 ":SEND9" | "<<SEND9" "[" status-mid "]" ":" send-9-b0 ":SEND9"
563
+ send-9-mid ::= "<<SEND9" "[" status "]" target ":" send-9-b0 ":SEND9" | "<<SEND9" target ":" send-9-b0 ":SEND9" | "<<SEND9" "[" status-mid "]" ":" send-9-b0 ":SEND9" | "<<SEND9" ":" send-9-b0 ":SEND9"
564
564
  send-9-final ::= "<<SEND9" "[" status-final "]" ":" send-9-b0 ":SEND9"
565
565
  exec-b0 ::= (":" exec-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] exec-b0)?
566
566
  exec-b1 ::= ("E" exec-b2 | ":" exec-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-b0)?