@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 +1 -0
- package/dist/plurnk-closed.gbnf +10 -10
- package/dist/plurnk-free.gbnf +10 -10
- package/dist/plurnk-plan.gbnf +797 -0
- package/dist/plurnk-strict.gbnf +13 -12
- package/dist/plurnk.gbnf +10 -10
- package/package.json +3 -2
- package/plurnk.md +19 -16
package/dist/plurnk-strict.gbnf
CHANGED
|
@@ -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)?
|
|
@@ -769,8 +769,9 @@ plan-9-b3 ::= ("A" plan-9-b4 | ":" plan-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
|
|
|
769
769
|
plan-9-b4 ::= ("N" plan-9-b5 | ":" plan-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] plan-9-b0)?
|
|
770
770
|
plan-9-b5 ::= (":" plan-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:9] plan-9-b0)?
|
|
771
771
|
plan-9 ::= "<<PLAN9" ":" plan-9-b0 ":PLAN9"
|
|
772
|
-
|
|
773
|
-
|
|
772
|
+
sep ::= [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]?
|
|
773
|
+
root-strict ::= sep batch-step* send-final-any sep
|
|
774
|
+
batch-step ::= mid-statement sep
|
|
774
775
|
mid-statement ::= op-statement | send-mid-any
|
|
775
776
|
op-statement ::= find | find-1 | find-2 | find-3 | find-4 | find-5 | find-6 | find-7 | find-8 | find-9 | read | read-1 | read-2 | read-3 | read-4 | read-5 | read-6 | read-7 | read-8 | read-9 | edit | edit-1 | edit-2 | edit-3 | edit-4 | edit-5 | edit-6 | edit-7 | edit-8 | edit-9 | copy | copy-1 | copy-2 | copy-3 | copy-4 | copy-5 | copy-6 | copy-7 | copy-8 | copy-9 | move | move-1 | move-2 | move-3 | move-4 | move-5 | move-6 | move-7 | move-8 | move-9 | open | open-1 | open-2 | open-3 | open-4 | open-5 | open-6 | open-7 | open-8 | open-9 | fold | fold-1 | fold-2 | fold-3 | fold-4 | fold-5 | fold-6 | fold-7 | fold-8 | fold-9 | exec | exec-1 | exec-2 | exec-3 | exec-4 | exec-5 | exec-6 | exec-7 | exec-8 | exec-9 | kill | kill-1 | kill-2 | kill-3 | kill-4 | kill-5 | kill-6 | kill-7 | kill-8 | kill-9 | plan | plan-1 | plan-2 | plan-3 | plan-4 | plan-5 | plan-6 | plan-7 | plan-8 | plan-9
|
|
776
777
|
send-mid-any ::= send-mid | send-1-mid | send-2-mid | send-3-mid | send-4-mid | send-5-mid | send-6-mid | send-7-mid | send-8-mid | send-9-mid
|
package/dist/plurnk.gbnf
CHANGED
|
@@ -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)?
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-grammar",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.45.0",
|
|
4
4
|
"description": "ANTLR4 grammar for the Plurnk LLM agent protocol",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
"./plurnk.gbnf": "./dist/plurnk.gbnf",
|
|
20
20
|
"./plurnk-strict.gbnf": "./dist/plurnk-strict.gbnf",
|
|
21
21
|
"./plurnk-closed.gbnf": "./dist/plurnk-closed.gbnf",
|
|
22
|
-
"./plurnk-free.gbnf": "./dist/plurnk-free.gbnf"
|
|
22
|
+
"./plurnk-free.gbnf": "./dist/plurnk-free.gbnf",
|
|
23
|
+
"./plurnk-plan.gbnf": "./dist/plurnk-plan.gbnf"
|
|
23
24
|
},
|
|
24
25
|
"bin": {
|
|
25
26
|
"plurnk": "./bin/plurnk.js"
|
package/plurnk.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Plurnk System Grammar
|
|
2
2
|
|
|
3
|
-
YOU MUST ONLY use the Extended HEREDOC Plurnk Operations (FIND|READ|EDIT|COPY|MOVE|OPEN|FOLD|
|
|
3
|
+
YOU MUST ONLY use the Extended HEREDOC Plurnk Operations (PLAN|FIND|READ|EDIT|COPY|MOVE|OPEN|FOLD|KILL|EXEC|SEND).
|
|
4
4
|
|
|
5
5
|
## Syntax
|
|
6
6
|
|
|
@@ -10,21 +10,22 @@ Slots between `<<OPsuffix` and `:body:` are all optional. `:body:` fences are re
|
|
|
10
10
|
|
|
11
11
|
## Operations
|
|
12
12
|
|
|
13
|
-
| OP | `[signal]` | `(target)` | `<Line> / <Result>` | body
|
|
14
|
-
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
|
|
|
13
|
+
| OP | `[signal]` | `(target)` | `<Line> / <Result>` | body |
|
|
14
|
+
|------|-------------|------------|---------------------|------------------|
|
|
15
|
+
| PLAN | - | - | - | plan / reasoning |
|
|
16
|
+
| FIND | filter tags | required | results `N,M` | matcher |
|
|
17
|
+
| READ | filter tags | required | lines `N,M` | matcher |
|
|
18
|
+
| EDIT | tags | required | lines `N,M` | content |
|
|
19
|
+
| COPY | apply tags | required | lines `N,M` | destination URI |
|
|
20
|
+
| MOVE | apply tags | required | lines `N,M` | destination URI |
|
|
21
|
+
| OPEN | filter tags | log path | results `N,M` | matcher |
|
|
22
|
+
| FOLD | filter tags | log path | results `N,M` | matcher |
|
|
23
|
+
| KILL | — | required | — | — |
|
|
24
|
+
| EXEC | executor | cwd | — | command or code |
|
|
25
|
+
| SEND | status code | recipient | — | message body |
|
|
25
26
|
|
|
26
27
|
Operations emit their status and/or results on the subsequent turn.
|
|
27
|
-
READ output prefixes every line with line numbers, `N
|
|
28
|
+
READ output prefixes every line with line numbers and a hard tab, `N: `. The prefix is not part of the source.
|
|
28
29
|
EDIT is only for entries. Do not attempt to edit log items.
|
|
29
30
|
SEND broadcasts to uri when a path is included and messages the user when no path is included.
|
|
30
31
|
EXEC defaults to `sh`; override with an optional executor (`sqlite`, `node`, etc.).
|
|
@@ -74,12 +75,12 @@ URI-shaped: `[scheme://]rest`.
|
|
|
74
75
|
* Bare paths (no scheme) default to local relative project file paths (leading `/` for absolute path).
|
|
75
76
|
* Glob metacharacters (`*`, `**`, `?`, `[...]`) are allowed in path segments.
|
|
76
77
|
* Path suffix (`.json`, `.md`, `.txt`, etc.) declares mimetype; absent suffix defers to scheme default.
|
|
78
|
+
* Append `#channel` to select a channel (e.g. `#stdout`, `#stderr`); absent, the scheme's default channel is used.
|
|
77
79
|
|
|
78
80
|
Internal schemes:
|
|
79
81
|
|
|
80
82
|
- `unknown:///` — open question entries.
|
|
81
83
|
- `known:///` — knowledgebase entries.
|
|
82
|
-
- `skill:///` — available skill entries.
|
|
83
84
|
- `exec:///` — actions.
|
|
84
85
|
- `log:///` — record of operations performed.
|
|
85
86
|
- `plurnk:///` — internal agent entries.
|
|
@@ -106,6 +107,7 @@ Body content is character-perfect, exactly matching whitespace.
|
|
|
106
107
|
<<READ(docs/api.md)://h2/text():READ
|
|
107
108
|
<<READ(plurnk:///manifest.json):$[?(@.channels.stderr)]:READ
|
|
108
109
|
<<READ(log:///1/2/3):$[*].matched.codename:READ
|
|
110
|
+
<<READ(exec:///3/1/2#stdout)<1,40>::READ
|
|
109
111
|
<<READ(/etc/hosts)<2>::READ
|
|
110
112
|
<<READ(https://en.wikipedia.org/wiki/Paris)<426,465>::READ
|
|
111
113
|
<<EDIT[philosophy,existentialism](known:///philosophy/existentialism/meaning.md):The meaning of life is 42:EDIT
|
|
@@ -147,6 +149,7 @@ chmod +x ./example.sh
|
|
|
147
149
|
|
|
148
150
|
<<EXEC[sqlite]:SELECT 22.0 / 7.0;:EXEC
|
|
149
151
|
|
|
152
|
+
<<SEND(run:///capital-check):{"hint":"prefer primary sources over wikis"}:SEND
|
|
153
|
+
|
|
150
154
|
<<SEND[102]:decomposed prompt into unknowns; plan initialized:SEND
|
|
151
155
|
<<SEND[200]:Paris:SEND
|
|
152
|
-
<<SEND[200]:{"city":"Paris","population":2161000}:SEND
|