@plurnk/plurnk-grammar 0.23.0 → 0.25.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
@@ -175,6 +175,16 @@ Nesting: outer body may contain inner `<<OP:…:OP` statements; outer must use a
175
175
 
176
176
  Errors are JSON-serializable. Shape: `{ line, column, source, message }` where `source` ∈ `lexer | parser | visitor`. Messages use protocol vocabulary (`unrecognized character '<<' in path`, `expected close tag; got end of input`).
177
177
 
178
+ ## gbnf
179
+
180
+ `dist/plurnk.gbnf` ships in the package — a generated [GBNF](https://github.com/ggml-org/llama.cpp/blob/master/grammars/README.md) grammar for llama.cpp constrained sampling. It dictates the canonical form (digit suffixes, comma line markers, three-digit SEND signals); the parser remains the permissive contract — everything the GBNF can generate, the parser accepts.
181
+
182
+ ```ts
183
+ import.meta.resolve("@plurnk/plurnk-grammar/plurnk.gbnf")
184
+ ```
185
+
186
+ `npm run test:llama` validates the grammar against a live llama-server (`PLURNK_LLAMA_URL`, default `http://127.0.0.1:11435`) and demos constrained emission end-to-end. Opt-in; not part of `test:all`.
187
+
178
188
  ## spec
179
189
 
180
190
  [SPEC.md](SPEC.md) — full grammar specification: canonical form, per-OP semantics, matcher dialects, path decomposition, error model, whitespace rules, implementation notes.
@@ -0,0 +1,638 @@
1
+ # @generated by scriptify/generate-gbnf.ts — do not edit; run `npm run build:gbnf`.
2
+ find-b0 ::= (":" find-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] find-b0)?
3
+ find-b1 ::= ("F" find-b2 | ":" find-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:F] find-b0)?
4
+ find-b2 ::= ("I" find-b3 | ":" find-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] find-b0)?
5
+ find-b3 ::= ("N" find-b4 | ":" find-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] find-b0)?
6
+ find-b4 ::= (":" find-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] find-b0)?
7
+ find ::= "<<FIND" tags? target line? ":" find-b0 ":FIND"
8
+ find-1-b0 ::= (":" find-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] find-1-b0)?
9
+ find-1-b1 ::= ("F" find-1-b2 | ":" find-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:F] find-1-b0)?
10
+ find-1-b2 ::= ("I" find-1-b3 | ":" find-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] find-1-b0)?
11
+ find-1-b3 ::= ("N" find-1-b4 | ":" find-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] find-1-b0)?
12
+ find-1-b4 ::= ("D" find-1-b5 | ":" find-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] find-1-b0)?
13
+ find-1-b5 ::= (":" find-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:1] find-1-b0)?
14
+ find-1 ::= "<<FIND1" tags? target line? ":" find-1-b0 ":FIND1"
15
+ find-2-b0 ::= (":" find-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] find-2-b0)?
16
+ find-2-b1 ::= ("F" find-2-b2 | ":" find-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:F] find-2-b0)?
17
+ find-2-b2 ::= ("I" find-2-b3 | ":" find-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] find-2-b0)?
18
+ find-2-b3 ::= ("N" find-2-b4 | ":" find-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] find-2-b0)?
19
+ find-2-b4 ::= ("D" find-2-b5 | ":" find-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] find-2-b0)?
20
+ find-2-b5 ::= (":" find-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:2] find-2-b0)?
21
+ find-2 ::= "<<FIND2" tags? target line? ":" find-2-b0 ":FIND2"
22
+ find-3-b0 ::= (":" find-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] find-3-b0)?
23
+ find-3-b1 ::= ("F" find-3-b2 | ":" find-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:F] find-3-b0)?
24
+ find-3-b2 ::= ("I" find-3-b3 | ":" find-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] find-3-b0)?
25
+ find-3-b3 ::= ("N" find-3-b4 | ":" find-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] find-3-b0)?
26
+ find-3-b4 ::= ("D" find-3-b5 | ":" find-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] find-3-b0)?
27
+ find-3-b5 ::= (":" find-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:3] find-3-b0)?
28
+ find-3 ::= "<<FIND3" tags? target line? ":" find-3-b0 ":FIND3"
29
+ find-4-b0 ::= (":" find-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] find-4-b0)?
30
+ find-4-b1 ::= ("F" find-4-b2 | ":" find-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:F] find-4-b0)?
31
+ find-4-b2 ::= ("I" find-4-b3 | ":" find-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] find-4-b0)?
32
+ find-4-b3 ::= ("N" find-4-b4 | ":" find-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] find-4-b0)?
33
+ find-4-b4 ::= ("D" find-4-b5 | ":" find-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] find-4-b0)?
34
+ find-4-b5 ::= (":" find-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:4] find-4-b0)?
35
+ find-4 ::= "<<FIND4" tags? target line? ":" find-4-b0 ":FIND4"
36
+ find-5-b0 ::= (":" find-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] find-5-b0)?
37
+ find-5-b1 ::= ("F" find-5-b2 | ":" find-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:F] find-5-b0)?
38
+ find-5-b2 ::= ("I" find-5-b3 | ":" find-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] find-5-b0)?
39
+ find-5-b3 ::= ("N" find-5-b4 | ":" find-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] find-5-b0)?
40
+ find-5-b4 ::= ("D" find-5-b5 | ":" find-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] find-5-b0)?
41
+ find-5-b5 ::= (":" find-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:5] find-5-b0)?
42
+ find-5 ::= "<<FIND5" tags? target line? ":" find-5-b0 ":FIND5"
43
+ find-6-b0 ::= (":" find-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] find-6-b0)?
44
+ find-6-b1 ::= ("F" find-6-b2 | ":" find-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:F] find-6-b0)?
45
+ find-6-b2 ::= ("I" find-6-b3 | ":" find-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] find-6-b0)?
46
+ find-6-b3 ::= ("N" find-6-b4 | ":" find-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] find-6-b0)?
47
+ find-6-b4 ::= ("D" find-6-b5 | ":" find-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] find-6-b0)?
48
+ find-6-b5 ::= (":" find-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:6] find-6-b0)?
49
+ find-6 ::= "<<FIND6" tags? target line? ":" find-6-b0 ":FIND6"
50
+ find-7-b0 ::= (":" find-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] find-7-b0)?
51
+ find-7-b1 ::= ("F" find-7-b2 | ":" find-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:F] find-7-b0)?
52
+ find-7-b2 ::= ("I" find-7-b3 | ":" find-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] find-7-b0)?
53
+ find-7-b3 ::= ("N" find-7-b4 | ":" find-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] find-7-b0)?
54
+ find-7-b4 ::= ("D" find-7-b5 | ":" find-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] find-7-b0)?
55
+ find-7-b5 ::= (":" find-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:7] find-7-b0)?
56
+ find-7 ::= "<<FIND7" tags? target line? ":" find-7-b0 ":FIND7"
57
+ find-8-b0 ::= (":" find-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] find-8-b0)?
58
+ find-8-b1 ::= ("F" find-8-b2 | ":" find-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:F] find-8-b0)?
59
+ find-8-b2 ::= ("I" find-8-b3 | ":" find-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] find-8-b0)?
60
+ find-8-b3 ::= ("N" find-8-b4 | ":" find-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] find-8-b0)?
61
+ find-8-b4 ::= ("D" find-8-b5 | ":" find-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] find-8-b0)?
62
+ find-8-b5 ::= (":" find-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:8] find-8-b0)?
63
+ find-8 ::= "<<FIND8" tags? target line? ":" find-8-b0 ":FIND8"
64
+ find-9-b0 ::= (":" find-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] find-9-b0)?
65
+ find-9-b1 ::= ("F" find-9-b2 | ":" find-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:F] find-9-b0)?
66
+ find-9-b2 ::= ("I" find-9-b3 | ":" find-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] find-9-b0)?
67
+ find-9-b3 ::= ("N" find-9-b4 | ":" find-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] find-9-b0)?
68
+ find-9-b4 ::= ("D" find-9-b5 | ":" find-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] find-9-b0)?
69
+ find-9-b5 ::= (":" find-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:9] find-9-b0)?
70
+ find-9 ::= "<<FIND9" tags? target line? ":" find-9-b0 ":FIND9"
71
+ read-b0 ::= (":" read-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] read-b0)?
72
+ read-b1 ::= ("R" read-b2 | ":" read-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:R] read-b0)?
73
+ read-b2 ::= ("E" read-b3 | ":" read-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] read-b0)?
74
+ read-b3 ::= ("A" read-b4 | ":" read-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:A] read-b0)?
75
+ read-b4 ::= (":" read-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] read-b0)?
76
+ read ::= "<<READ" tags? target line? ":" read-b0 ":READ"
77
+ read-1-b0 ::= (":" read-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] read-1-b0)?
78
+ read-1-b1 ::= ("R" read-1-b2 | ":" read-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:R] read-1-b0)?
79
+ read-1-b2 ::= ("E" read-1-b3 | ":" read-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] read-1-b0)?
80
+ read-1-b3 ::= ("A" read-1-b4 | ":" read-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:A] read-1-b0)?
81
+ read-1-b4 ::= ("D" read-1-b5 | ":" read-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] read-1-b0)?
82
+ read-1-b5 ::= (":" read-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:1] read-1-b0)?
83
+ read-1 ::= "<<READ1" tags? target line? ":" read-1-b0 ":READ1"
84
+ read-2-b0 ::= (":" read-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] read-2-b0)?
85
+ read-2-b1 ::= ("R" read-2-b2 | ":" read-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:R] read-2-b0)?
86
+ read-2-b2 ::= ("E" read-2-b3 | ":" read-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] read-2-b0)?
87
+ read-2-b3 ::= ("A" read-2-b4 | ":" read-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:A] read-2-b0)?
88
+ read-2-b4 ::= ("D" read-2-b5 | ":" read-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] read-2-b0)?
89
+ read-2-b5 ::= (":" read-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:2] read-2-b0)?
90
+ read-2 ::= "<<READ2" tags? target line? ":" read-2-b0 ":READ2"
91
+ read-3-b0 ::= (":" read-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] read-3-b0)?
92
+ read-3-b1 ::= ("R" read-3-b2 | ":" read-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:R] read-3-b0)?
93
+ read-3-b2 ::= ("E" read-3-b3 | ":" read-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] read-3-b0)?
94
+ read-3-b3 ::= ("A" read-3-b4 | ":" read-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:A] read-3-b0)?
95
+ read-3-b4 ::= ("D" read-3-b5 | ":" read-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] read-3-b0)?
96
+ read-3-b5 ::= (":" read-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:3] read-3-b0)?
97
+ read-3 ::= "<<READ3" tags? target line? ":" read-3-b0 ":READ3"
98
+ read-4-b0 ::= (":" read-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] read-4-b0)?
99
+ read-4-b1 ::= ("R" read-4-b2 | ":" read-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:R] read-4-b0)?
100
+ read-4-b2 ::= ("E" read-4-b3 | ":" read-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] read-4-b0)?
101
+ read-4-b3 ::= ("A" read-4-b4 | ":" read-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:A] read-4-b0)?
102
+ read-4-b4 ::= ("D" read-4-b5 | ":" read-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] read-4-b0)?
103
+ read-4-b5 ::= (":" read-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:4] read-4-b0)?
104
+ read-4 ::= "<<READ4" tags? target line? ":" read-4-b0 ":READ4"
105
+ read-5-b0 ::= (":" read-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] read-5-b0)?
106
+ read-5-b1 ::= ("R" read-5-b2 | ":" read-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:R] read-5-b0)?
107
+ read-5-b2 ::= ("E" read-5-b3 | ":" read-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] read-5-b0)?
108
+ read-5-b3 ::= ("A" read-5-b4 | ":" read-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:A] read-5-b0)?
109
+ read-5-b4 ::= ("D" read-5-b5 | ":" read-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] read-5-b0)?
110
+ read-5-b5 ::= (":" read-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:5] read-5-b0)?
111
+ read-5 ::= "<<READ5" tags? target line? ":" read-5-b0 ":READ5"
112
+ read-6-b0 ::= (":" read-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] read-6-b0)?
113
+ read-6-b1 ::= ("R" read-6-b2 | ":" read-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:R] read-6-b0)?
114
+ read-6-b2 ::= ("E" read-6-b3 | ":" read-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] read-6-b0)?
115
+ read-6-b3 ::= ("A" read-6-b4 | ":" read-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:A] read-6-b0)?
116
+ read-6-b4 ::= ("D" read-6-b5 | ":" read-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] read-6-b0)?
117
+ read-6-b5 ::= (":" read-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:6] read-6-b0)?
118
+ read-6 ::= "<<READ6" tags? target line? ":" read-6-b0 ":READ6"
119
+ read-7-b0 ::= (":" read-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] read-7-b0)?
120
+ read-7-b1 ::= ("R" read-7-b2 | ":" read-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:R] read-7-b0)?
121
+ read-7-b2 ::= ("E" read-7-b3 | ":" read-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] read-7-b0)?
122
+ read-7-b3 ::= ("A" read-7-b4 | ":" read-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:A] read-7-b0)?
123
+ read-7-b4 ::= ("D" read-7-b5 | ":" read-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] read-7-b0)?
124
+ read-7-b5 ::= (":" read-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:7] read-7-b0)?
125
+ read-7 ::= "<<READ7" tags? target line? ":" read-7-b0 ":READ7"
126
+ read-8-b0 ::= (":" read-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] read-8-b0)?
127
+ read-8-b1 ::= ("R" read-8-b2 | ":" read-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:R] read-8-b0)?
128
+ read-8-b2 ::= ("E" read-8-b3 | ":" read-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] read-8-b0)?
129
+ read-8-b3 ::= ("A" read-8-b4 | ":" read-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:A] read-8-b0)?
130
+ read-8-b4 ::= ("D" read-8-b5 | ":" read-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] read-8-b0)?
131
+ read-8-b5 ::= (":" read-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:8] read-8-b0)?
132
+ read-8 ::= "<<READ8" tags? target line? ":" read-8-b0 ":READ8"
133
+ read-9-b0 ::= (":" read-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] read-9-b0)?
134
+ read-9-b1 ::= ("R" read-9-b2 | ":" read-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:R] read-9-b0)?
135
+ read-9-b2 ::= ("E" read-9-b3 | ":" read-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] read-9-b0)?
136
+ read-9-b3 ::= ("A" read-9-b4 | ":" read-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:A] read-9-b0)?
137
+ read-9-b4 ::= ("D" read-9-b5 | ":" read-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] read-9-b0)?
138
+ read-9-b5 ::= (":" read-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:9] read-9-b0)?
139
+ read-9 ::= "<<READ9" tags? target line? ":" read-9-b0 ":READ9"
140
+ edit-b0 ::= (":" edit-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] edit-b0)?
141
+ edit-b1 ::= ("E" edit-b2 | ":" edit-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] edit-b0)?
142
+ edit-b2 ::= ("D" edit-b3 | ":" edit-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] edit-b0)?
143
+ edit-b3 ::= ("I" edit-b4 | ":" edit-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] edit-b0)?
144
+ edit-b4 ::= (":" edit-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:T] edit-b0)?
145
+ edit ::= "<<EDIT" tags? target line? ":" edit-b0 ":EDIT"
146
+ edit-1-b0 ::= (":" edit-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] edit-1-b0)?
147
+ edit-1-b1 ::= ("E" edit-1-b2 | ":" edit-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] edit-1-b0)?
148
+ edit-1-b2 ::= ("D" edit-1-b3 | ":" edit-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] edit-1-b0)?
149
+ edit-1-b3 ::= ("I" edit-1-b4 | ":" edit-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] edit-1-b0)?
150
+ edit-1-b4 ::= ("T" edit-1-b5 | ":" edit-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:T] edit-1-b0)?
151
+ edit-1-b5 ::= (":" edit-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:1] edit-1-b0)?
152
+ edit-1 ::= "<<EDIT1" tags? target line? ":" edit-1-b0 ":EDIT1"
153
+ edit-2-b0 ::= (":" edit-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] edit-2-b0)?
154
+ edit-2-b1 ::= ("E" edit-2-b2 | ":" edit-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] edit-2-b0)?
155
+ edit-2-b2 ::= ("D" edit-2-b3 | ":" edit-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] edit-2-b0)?
156
+ edit-2-b3 ::= ("I" edit-2-b4 | ":" edit-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] edit-2-b0)?
157
+ edit-2-b4 ::= ("T" edit-2-b5 | ":" edit-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:T] edit-2-b0)?
158
+ edit-2-b5 ::= (":" edit-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:2] edit-2-b0)?
159
+ edit-2 ::= "<<EDIT2" tags? target line? ":" edit-2-b0 ":EDIT2"
160
+ edit-3-b0 ::= (":" edit-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] edit-3-b0)?
161
+ edit-3-b1 ::= ("E" edit-3-b2 | ":" edit-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] edit-3-b0)?
162
+ edit-3-b2 ::= ("D" edit-3-b3 | ":" edit-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] edit-3-b0)?
163
+ edit-3-b3 ::= ("I" edit-3-b4 | ":" edit-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] edit-3-b0)?
164
+ edit-3-b4 ::= ("T" edit-3-b5 | ":" edit-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:T] edit-3-b0)?
165
+ edit-3-b5 ::= (":" edit-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:3] edit-3-b0)?
166
+ edit-3 ::= "<<EDIT3" tags? target line? ":" edit-3-b0 ":EDIT3"
167
+ edit-4-b0 ::= (":" edit-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] edit-4-b0)?
168
+ edit-4-b1 ::= ("E" edit-4-b2 | ":" edit-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] edit-4-b0)?
169
+ edit-4-b2 ::= ("D" edit-4-b3 | ":" edit-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] edit-4-b0)?
170
+ edit-4-b3 ::= ("I" edit-4-b4 | ":" edit-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] edit-4-b0)?
171
+ edit-4-b4 ::= ("T" edit-4-b5 | ":" edit-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:T] edit-4-b0)?
172
+ edit-4-b5 ::= (":" edit-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:4] edit-4-b0)?
173
+ edit-4 ::= "<<EDIT4" tags? target line? ":" edit-4-b0 ":EDIT4"
174
+ edit-5-b0 ::= (":" edit-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] edit-5-b0)?
175
+ edit-5-b1 ::= ("E" edit-5-b2 | ":" edit-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] edit-5-b0)?
176
+ edit-5-b2 ::= ("D" edit-5-b3 | ":" edit-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] edit-5-b0)?
177
+ edit-5-b3 ::= ("I" edit-5-b4 | ":" edit-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] edit-5-b0)?
178
+ edit-5-b4 ::= ("T" edit-5-b5 | ":" edit-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:T] edit-5-b0)?
179
+ edit-5-b5 ::= (":" edit-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:5] edit-5-b0)?
180
+ edit-5 ::= "<<EDIT5" tags? target line? ":" edit-5-b0 ":EDIT5"
181
+ edit-6-b0 ::= (":" edit-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] edit-6-b0)?
182
+ edit-6-b1 ::= ("E" edit-6-b2 | ":" edit-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] edit-6-b0)?
183
+ edit-6-b2 ::= ("D" edit-6-b3 | ":" edit-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] edit-6-b0)?
184
+ edit-6-b3 ::= ("I" edit-6-b4 | ":" edit-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] edit-6-b0)?
185
+ edit-6-b4 ::= ("T" edit-6-b5 | ":" edit-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:T] edit-6-b0)?
186
+ edit-6-b5 ::= (":" edit-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:6] edit-6-b0)?
187
+ edit-6 ::= "<<EDIT6" tags? target line? ":" edit-6-b0 ":EDIT6"
188
+ edit-7-b0 ::= (":" edit-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] edit-7-b0)?
189
+ edit-7-b1 ::= ("E" edit-7-b2 | ":" edit-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] edit-7-b0)?
190
+ edit-7-b2 ::= ("D" edit-7-b3 | ":" edit-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] edit-7-b0)?
191
+ edit-7-b3 ::= ("I" edit-7-b4 | ":" edit-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] edit-7-b0)?
192
+ edit-7-b4 ::= ("T" edit-7-b5 | ":" edit-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:T] edit-7-b0)?
193
+ edit-7-b5 ::= (":" edit-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:7] edit-7-b0)?
194
+ edit-7 ::= "<<EDIT7" tags? target line? ":" edit-7-b0 ":EDIT7"
195
+ edit-8-b0 ::= (":" edit-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] edit-8-b0)?
196
+ edit-8-b1 ::= ("E" edit-8-b2 | ":" edit-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] edit-8-b0)?
197
+ edit-8-b2 ::= ("D" edit-8-b3 | ":" edit-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] edit-8-b0)?
198
+ edit-8-b3 ::= ("I" edit-8-b4 | ":" edit-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] edit-8-b0)?
199
+ edit-8-b4 ::= ("T" edit-8-b5 | ":" edit-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:T] edit-8-b0)?
200
+ edit-8-b5 ::= (":" edit-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:8] edit-8-b0)?
201
+ edit-8 ::= "<<EDIT8" tags? target line? ":" edit-8-b0 ":EDIT8"
202
+ edit-9-b0 ::= (":" edit-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] edit-9-b0)?
203
+ edit-9-b1 ::= ("E" edit-9-b2 | ":" edit-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] edit-9-b0)?
204
+ edit-9-b2 ::= ("D" edit-9-b3 | ":" edit-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] edit-9-b0)?
205
+ edit-9-b3 ::= ("I" edit-9-b4 | ":" edit-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] edit-9-b0)?
206
+ edit-9-b4 ::= ("T" edit-9-b5 | ":" edit-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:T] edit-9-b0)?
207
+ edit-9-b5 ::= (":" edit-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:9] edit-9-b0)?
208
+ edit-9 ::= "<<EDIT9" tags? target line? ":" edit-9-b0 ":EDIT9"
209
+ copy-b0 ::= (":" copy-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] copy-b0)?
210
+ copy-b1 ::= ("C" copy-b2 | ":" copy-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] copy-b0)?
211
+ copy-b2 ::= ("O" copy-b3 | ":" copy-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] copy-b0)?
212
+ copy-b3 ::= ("P" copy-b4 | ":" copy-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:P] copy-b0)?
213
+ copy-b4 ::= (":" copy-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:Y] copy-b0)?
214
+ copy ::= "<<COPY" tags? target line? ":" copy-b0 ":COPY"
215
+ copy-1-b0 ::= (":" copy-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] copy-1-b0)?
216
+ copy-1-b1 ::= ("C" copy-1-b2 | ":" copy-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] copy-1-b0)?
217
+ copy-1-b2 ::= ("O" copy-1-b3 | ":" copy-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] copy-1-b0)?
218
+ copy-1-b3 ::= ("P" copy-1-b4 | ":" copy-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:P] copy-1-b0)?
219
+ copy-1-b4 ::= ("Y" copy-1-b5 | ":" copy-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:Y] copy-1-b0)?
220
+ copy-1-b5 ::= (":" copy-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:1] copy-1-b0)?
221
+ copy-1 ::= "<<COPY1" tags? target line? ":" copy-1-b0 ":COPY1"
222
+ copy-2-b0 ::= (":" copy-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] copy-2-b0)?
223
+ copy-2-b1 ::= ("C" copy-2-b2 | ":" copy-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] copy-2-b0)?
224
+ copy-2-b2 ::= ("O" copy-2-b3 | ":" copy-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] copy-2-b0)?
225
+ copy-2-b3 ::= ("P" copy-2-b4 | ":" copy-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:P] copy-2-b0)?
226
+ copy-2-b4 ::= ("Y" copy-2-b5 | ":" copy-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:Y] copy-2-b0)?
227
+ copy-2-b5 ::= (":" copy-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:2] copy-2-b0)?
228
+ copy-2 ::= "<<COPY2" tags? target line? ":" copy-2-b0 ":COPY2"
229
+ copy-3-b0 ::= (":" copy-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] copy-3-b0)?
230
+ copy-3-b1 ::= ("C" copy-3-b2 | ":" copy-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] copy-3-b0)?
231
+ copy-3-b2 ::= ("O" copy-3-b3 | ":" copy-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] copy-3-b0)?
232
+ copy-3-b3 ::= ("P" copy-3-b4 | ":" copy-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:P] copy-3-b0)?
233
+ copy-3-b4 ::= ("Y" copy-3-b5 | ":" copy-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:Y] copy-3-b0)?
234
+ copy-3-b5 ::= (":" copy-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:3] copy-3-b0)?
235
+ copy-3 ::= "<<COPY3" tags? target line? ":" copy-3-b0 ":COPY3"
236
+ copy-4-b0 ::= (":" copy-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] copy-4-b0)?
237
+ copy-4-b1 ::= ("C" copy-4-b2 | ":" copy-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] copy-4-b0)?
238
+ copy-4-b2 ::= ("O" copy-4-b3 | ":" copy-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] copy-4-b0)?
239
+ copy-4-b3 ::= ("P" copy-4-b4 | ":" copy-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:P] copy-4-b0)?
240
+ copy-4-b4 ::= ("Y" copy-4-b5 | ":" copy-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:Y] copy-4-b0)?
241
+ copy-4-b5 ::= (":" copy-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:4] copy-4-b0)?
242
+ copy-4 ::= "<<COPY4" tags? target line? ":" copy-4-b0 ":COPY4"
243
+ copy-5-b0 ::= (":" copy-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] copy-5-b0)?
244
+ copy-5-b1 ::= ("C" copy-5-b2 | ":" copy-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] copy-5-b0)?
245
+ copy-5-b2 ::= ("O" copy-5-b3 | ":" copy-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] copy-5-b0)?
246
+ copy-5-b3 ::= ("P" copy-5-b4 | ":" copy-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:P] copy-5-b0)?
247
+ copy-5-b4 ::= ("Y" copy-5-b5 | ":" copy-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:Y] copy-5-b0)?
248
+ copy-5-b5 ::= (":" copy-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:5] copy-5-b0)?
249
+ copy-5 ::= "<<COPY5" tags? target line? ":" copy-5-b0 ":COPY5"
250
+ copy-6-b0 ::= (":" copy-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] copy-6-b0)?
251
+ copy-6-b1 ::= ("C" copy-6-b2 | ":" copy-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] copy-6-b0)?
252
+ copy-6-b2 ::= ("O" copy-6-b3 | ":" copy-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] copy-6-b0)?
253
+ copy-6-b3 ::= ("P" copy-6-b4 | ":" copy-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:P] copy-6-b0)?
254
+ copy-6-b4 ::= ("Y" copy-6-b5 | ":" copy-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:Y] copy-6-b0)?
255
+ copy-6-b5 ::= (":" copy-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:6] copy-6-b0)?
256
+ copy-6 ::= "<<COPY6" tags? target line? ":" copy-6-b0 ":COPY6"
257
+ copy-7-b0 ::= (":" copy-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] copy-7-b0)?
258
+ copy-7-b1 ::= ("C" copy-7-b2 | ":" copy-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] copy-7-b0)?
259
+ copy-7-b2 ::= ("O" copy-7-b3 | ":" copy-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] copy-7-b0)?
260
+ copy-7-b3 ::= ("P" copy-7-b4 | ":" copy-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:P] copy-7-b0)?
261
+ copy-7-b4 ::= ("Y" copy-7-b5 | ":" copy-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:Y] copy-7-b0)?
262
+ copy-7-b5 ::= (":" copy-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:7] copy-7-b0)?
263
+ copy-7 ::= "<<COPY7" tags? target line? ":" copy-7-b0 ":COPY7"
264
+ copy-8-b0 ::= (":" copy-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] copy-8-b0)?
265
+ copy-8-b1 ::= ("C" copy-8-b2 | ":" copy-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] copy-8-b0)?
266
+ copy-8-b2 ::= ("O" copy-8-b3 | ":" copy-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] copy-8-b0)?
267
+ copy-8-b3 ::= ("P" copy-8-b4 | ":" copy-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:P] copy-8-b0)?
268
+ copy-8-b4 ::= ("Y" copy-8-b5 | ":" copy-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:Y] copy-8-b0)?
269
+ copy-8-b5 ::= (":" copy-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:8] copy-8-b0)?
270
+ copy-8 ::= "<<COPY8" tags? target line? ":" copy-8-b0 ":COPY8"
271
+ copy-9-b0 ::= (":" copy-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] copy-9-b0)?
272
+ copy-9-b1 ::= ("C" copy-9-b2 | ":" copy-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] copy-9-b0)?
273
+ copy-9-b2 ::= ("O" copy-9-b3 | ":" copy-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] copy-9-b0)?
274
+ copy-9-b3 ::= ("P" copy-9-b4 | ":" copy-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:P] copy-9-b0)?
275
+ copy-9-b4 ::= ("Y" copy-9-b5 | ":" copy-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:Y] copy-9-b0)?
276
+ copy-9-b5 ::= (":" copy-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:9] copy-9-b0)?
277
+ copy-9 ::= "<<COPY9" tags? target line? ":" copy-9-b0 ":COPY9"
278
+ move-b0 ::= (":" move-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] move-b0)?
279
+ move-b1 ::= ("M" move-b2 | ":" move-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:M] move-b0)?
280
+ move-b2 ::= ("O" move-b3 | ":" move-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] move-b0)?
281
+ move-b3 ::= ("V" move-b4 | ":" move-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:V] move-b0)?
282
+ move-b4 ::= (":" move-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] move-b0)?
283
+ move ::= "<<MOVE" tags? target line? ":" move-b0 ":MOVE"
284
+ move-1-b0 ::= (":" move-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] move-1-b0)?
285
+ move-1-b1 ::= ("M" move-1-b2 | ":" move-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:M] move-1-b0)?
286
+ move-1-b2 ::= ("O" move-1-b3 | ":" move-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] move-1-b0)?
287
+ move-1-b3 ::= ("V" move-1-b4 | ":" move-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:V] move-1-b0)?
288
+ move-1-b4 ::= ("E" move-1-b5 | ":" move-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] move-1-b0)?
289
+ move-1-b5 ::= (":" move-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:1] move-1-b0)?
290
+ move-1 ::= "<<MOVE1" tags? target line? ":" move-1-b0 ":MOVE1"
291
+ move-2-b0 ::= (":" move-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] move-2-b0)?
292
+ move-2-b1 ::= ("M" move-2-b2 | ":" move-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:M] move-2-b0)?
293
+ move-2-b2 ::= ("O" move-2-b3 | ":" move-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] move-2-b0)?
294
+ move-2-b3 ::= ("V" move-2-b4 | ":" move-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:V] move-2-b0)?
295
+ move-2-b4 ::= ("E" move-2-b5 | ":" move-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] move-2-b0)?
296
+ move-2-b5 ::= (":" move-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:2] move-2-b0)?
297
+ move-2 ::= "<<MOVE2" tags? target line? ":" move-2-b0 ":MOVE2"
298
+ move-3-b0 ::= (":" move-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] move-3-b0)?
299
+ move-3-b1 ::= ("M" move-3-b2 | ":" move-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:M] move-3-b0)?
300
+ move-3-b2 ::= ("O" move-3-b3 | ":" move-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] move-3-b0)?
301
+ move-3-b3 ::= ("V" move-3-b4 | ":" move-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:V] move-3-b0)?
302
+ move-3-b4 ::= ("E" move-3-b5 | ":" move-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] move-3-b0)?
303
+ move-3-b5 ::= (":" move-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:3] move-3-b0)?
304
+ move-3 ::= "<<MOVE3" tags? target line? ":" move-3-b0 ":MOVE3"
305
+ move-4-b0 ::= (":" move-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] move-4-b0)?
306
+ move-4-b1 ::= ("M" move-4-b2 | ":" move-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:M] move-4-b0)?
307
+ move-4-b2 ::= ("O" move-4-b3 | ":" move-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] move-4-b0)?
308
+ move-4-b3 ::= ("V" move-4-b4 | ":" move-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:V] move-4-b0)?
309
+ move-4-b4 ::= ("E" move-4-b5 | ":" move-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] move-4-b0)?
310
+ move-4-b5 ::= (":" move-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:4] move-4-b0)?
311
+ move-4 ::= "<<MOVE4" tags? target line? ":" move-4-b0 ":MOVE4"
312
+ move-5-b0 ::= (":" move-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] move-5-b0)?
313
+ move-5-b1 ::= ("M" move-5-b2 | ":" move-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:M] move-5-b0)?
314
+ move-5-b2 ::= ("O" move-5-b3 | ":" move-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] move-5-b0)?
315
+ move-5-b3 ::= ("V" move-5-b4 | ":" move-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:V] move-5-b0)?
316
+ move-5-b4 ::= ("E" move-5-b5 | ":" move-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] move-5-b0)?
317
+ move-5-b5 ::= (":" move-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:5] move-5-b0)?
318
+ move-5 ::= "<<MOVE5" tags? target line? ":" move-5-b0 ":MOVE5"
319
+ move-6-b0 ::= (":" move-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] move-6-b0)?
320
+ move-6-b1 ::= ("M" move-6-b2 | ":" move-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:M] move-6-b0)?
321
+ move-6-b2 ::= ("O" move-6-b3 | ":" move-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] move-6-b0)?
322
+ move-6-b3 ::= ("V" move-6-b4 | ":" move-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:V] move-6-b0)?
323
+ move-6-b4 ::= ("E" move-6-b5 | ":" move-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] move-6-b0)?
324
+ move-6-b5 ::= (":" move-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:6] move-6-b0)?
325
+ move-6 ::= "<<MOVE6" tags? target line? ":" move-6-b0 ":MOVE6"
326
+ move-7-b0 ::= (":" move-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] move-7-b0)?
327
+ move-7-b1 ::= ("M" move-7-b2 | ":" move-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:M] move-7-b0)?
328
+ move-7-b2 ::= ("O" move-7-b3 | ":" move-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] move-7-b0)?
329
+ move-7-b3 ::= ("V" move-7-b4 | ":" move-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:V] move-7-b0)?
330
+ move-7-b4 ::= ("E" move-7-b5 | ":" move-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] move-7-b0)?
331
+ move-7-b5 ::= (":" move-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:7] move-7-b0)?
332
+ move-7 ::= "<<MOVE7" tags? target line? ":" move-7-b0 ":MOVE7"
333
+ move-8-b0 ::= (":" move-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] move-8-b0)?
334
+ move-8-b1 ::= ("M" move-8-b2 | ":" move-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:M] move-8-b0)?
335
+ move-8-b2 ::= ("O" move-8-b3 | ":" move-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] move-8-b0)?
336
+ move-8-b3 ::= ("V" move-8-b4 | ":" move-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:V] move-8-b0)?
337
+ move-8-b4 ::= ("E" move-8-b5 | ":" move-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] move-8-b0)?
338
+ move-8-b5 ::= (":" move-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:8] move-8-b0)?
339
+ move-8 ::= "<<MOVE8" tags? target line? ":" move-8-b0 ":MOVE8"
340
+ move-9-b0 ::= (":" move-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] move-9-b0)?
341
+ move-9-b1 ::= ("M" move-9-b2 | ":" move-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:M] move-9-b0)?
342
+ move-9-b2 ::= ("O" move-9-b3 | ":" move-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] move-9-b0)?
343
+ move-9-b3 ::= ("V" move-9-b4 | ":" move-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:V] move-9-b0)?
344
+ move-9-b4 ::= ("E" move-9-b5 | ":" move-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] move-9-b0)?
345
+ move-9-b5 ::= (":" move-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:9] move-9-b0)?
346
+ move-9 ::= "<<MOVE9" tags? target line? ":" move-9-b0 ":MOVE9"
347
+ show-b0 ::= (":" show-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] show-b0)?
348
+ show-b1 ::= ("S" show-b2 | ":" show-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] show-b0)?
349
+ show-b2 ::= ("H" show-b3 | ":" show-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] show-b0)?
350
+ show-b3 ::= ("O" show-b4 | ":" show-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] show-b0)?
351
+ show-b4 ::= (":" show-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:W] show-b0)?
352
+ show ::= "<<SHOW" tags? target line? ":" show-b0 ":SHOW"
353
+ show-1-b0 ::= (":" show-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] show-1-b0)?
354
+ show-1-b1 ::= ("S" show-1-b2 | ":" show-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] show-1-b0)?
355
+ show-1-b2 ::= ("H" show-1-b3 | ":" show-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] show-1-b0)?
356
+ show-1-b3 ::= ("O" show-1-b4 | ":" show-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] show-1-b0)?
357
+ show-1-b4 ::= ("W" show-1-b5 | ":" show-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:W] show-1-b0)?
358
+ show-1-b5 ::= (":" show-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:1] show-1-b0)?
359
+ show-1 ::= "<<SHOW1" tags? target line? ":" show-1-b0 ":SHOW1"
360
+ show-2-b0 ::= (":" show-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] show-2-b0)?
361
+ show-2-b1 ::= ("S" show-2-b2 | ":" show-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] show-2-b0)?
362
+ show-2-b2 ::= ("H" show-2-b3 | ":" show-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] show-2-b0)?
363
+ show-2-b3 ::= ("O" show-2-b4 | ":" show-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] show-2-b0)?
364
+ show-2-b4 ::= ("W" show-2-b5 | ":" show-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:W] show-2-b0)?
365
+ show-2-b5 ::= (":" show-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:2] show-2-b0)?
366
+ show-2 ::= "<<SHOW2" tags? target line? ":" show-2-b0 ":SHOW2"
367
+ show-3-b0 ::= (":" show-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] show-3-b0)?
368
+ show-3-b1 ::= ("S" show-3-b2 | ":" show-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] show-3-b0)?
369
+ show-3-b2 ::= ("H" show-3-b3 | ":" show-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] show-3-b0)?
370
+ show-3-b3 ::= ("O" show-3-b4 | ":" show-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] show-3-b0)?
371
+ show-3-b4 ::= ("W" show-3-b5 | ":" show-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:W] show-3-b0)?
372
+ show-3-b5 ::= (":" show-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:3] show-3-b0)?
373
+ show-3 ::= "<<SHOW3" tags? target line? ":" show-3-b0 ":SHOW3"
374
+ show-4-b0 ::= (":" show-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] show-4-b0)?
375
+ show-4-b1 ::= ("S" show-4-b2 | ":" show-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] show-4-b0)?
376
+ show-4-b2 ::= ("H" show-4-b3 | ":" show-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] show-4-b0)?
377
+ show-4-b3 ::= ("O" show-4-b4 | ":" show-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] show-4-b0)?
378
+ show-4-b4 ::= ("W" show-4-b5 | ":" show-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:W] show-4-b0)?
379
+ show-4-b5 ::= (":" show-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:4] show-4-b0)?
380
+ show-4 ::= "<<SHOW4" tags? target line? ":" show-4-b0 ":SHOW4"
381
+ show-5-b0 ::= (":" show-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] show-5-b0)?
382
+ show-5-b1 ::= ("S" show-5-b2 | ":" show-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] show-5-b0)?
383
+ show-5-b2 ::= ("H" show-5-b3 | ":" show-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] show-5-b0)?
384
+ show-5-b3 ::= ("O" show-5-b4 | ":" show-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] show-5-b0)?
385
+ show-5-b4 ::= ("W" show-5-b5 | ":" show-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:W] show-5-b0)?
386
+ show-5-b5 ::= (":" show-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:5] show-5-b0)?
387
+ show-5 ::= "<<SHOW5" tags? target line? ":" show-5-b0 ":SHOW5"
388
+ show-6-b0 ::= (":" show-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] show-6-b0)?
389
+ show-6-b1 ::= ("S" show-6-b2 | ":" show-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] show-6-b0)?
390
+ show-6-b2 ::= ("H" show-6-b3 | ":" show-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] show-6-b0)?
391
+ show-6-b3 ::= ("O" show-6-b4 | ":" show-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] show-6-b0)?
392
+ show-6-b4 ::= ("W" show-6-b5 | ":" show-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:W] show-6-b0)?
393
+ show-6-b5 ::= (":" show-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:6] show-6-b0)?
394
+ show-6 ::= "<<SHOW6" tags? target line? ":" show-6-b0 ":SHOW6"
395
+ show-7-b0 ::= (":" show-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] show-7-b0)?
396
+ show-7-b1 ::= ("S" show-7-b2 | ":" show-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] show-7-b0)?
397
+ show-7-b2 ::= ("H" show-7-b3 | ":" show-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] show-7-b0)?
398
+ show-7-b3 ::= ("O" show-7-b4 | ":" show-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] show-7-b0)?
399
+ show-7-b4 ::= ("W" show-7-b5 | ":" show-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:W] show-7-b0)?
400
+ show-7-b5 ::= (":" show-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:7] show-7-b0)?
401
+ show-7 ::= "<<SHOW7" tags? target line? ":" show-7-b0 ":SHOW7"
402
+ show-8-b0 ::= (":" show-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] show-8-b0)?
403
+ show-8-b1 ::= ("S" show-8-b2 | ":" show-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] show-8-b0)?
404
+ show-8-b2 ::= ("H" show-8-b3 | ":" show-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] show-8-b0)?
405
+ show-8-b3 ::= ("O" show-8-b4 | ":" show-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] show-8-b0)?
406
+ show-8-b4 ::= ("W" show-8-b5 | ":" show-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:W] show-8-b0)?
407
+ show-8-b5 ::= (":" show-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:8] show-8-b0)?
408
+ show-8 ::= "<<SHOW8" tags? target line? ":" show-8-b0 ":SHOW8"
409
+ show-9-b0 ::= (":" show-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] show-9-b0)?
410
+ show-9-b1 ::= ("S" show-9-b2 | ":" show-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] show-9-b0)?
411
+ show-9-b2 ::= ("H" show-9-b3 | ":" show-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] show-9-b0)?
412
+ show-9-b3 ::= ("O" show-9-b4 | ":" show-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:O] show-9-b0)?
413
+ show-9-b4 ::= ("W" show-9-b5 | ":" show-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:W] show-9-b0)?
414
+ show-9-b5 ::= (":" show-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:9] show-9-b0)?
415
+ show-9 ::= "<<SHOW9" tags? target line? ":" show-9-b0 ":SHOW9"
416
+ hide-b0 ::= (":" hide-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] hide-b0)?
417
+ hide-b1 ::= ("H" hide-b2 | ":" hide-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] hide-b0)?
418
+ hide-b2 ::= ("I" hide-b3 | ":" hide-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] hide-b0)?
419
+ hide-b3 ::= ("D" hide-b4 | ":" hide-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] hide-b0)?
420
+ hide-b4 ::= (":" hide-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] hide-b0)?
421
+ hide ::= "<<HIDE" tags? target line? ":" hide-b0 ":HIDE"
422
+ hide-1-b0 ::= (":" hide-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] hide-1-b0)?
423
+ hide-1-b1 ::= ("H" hide-1-b2 | ":" hide-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] hide-1-b0)?
424
+ hide-1-b2 ::= ("I" hide-1-b3 | ":" hide-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] hide-1-b0)?
425
+ hide-1-b3 ::= ("D" hide-1-b4 | ":" hide-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] hide-1-b0)?
426
+ hide-1-b4 ::= ("E" hide-1-b5 | ":" hide-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] hide-1-b0)?
427
+ hide-1-b5 ::= (":" hide-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:1] hide-1-b0)?
428
+ hide-1 ::= "<<HIDE1" tags? target line? ":" hide-1-b0 ":HIDE1"
429
+ hide-2-b0 ::= (":" hide-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] hide-2-b0)?
430
+ hide-2-b1 ::= ("H" hide-2-b2 | ":" hide-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] hide-2-b0)?
431
+ hide-2-b2 ::= ("I" hide-2-b3 | ":" hide-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] hide-2-b0)?
432
+ hide-2-b3 ::= ("D" hide-2-b4 | ":" hide-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] hide-2-b0)?
433
+ hide-2-b4 ::= ("E" hide-2-b5 | ":" hide-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] hide-2-b0)?
434
+ hide-2-b5 ::= (":" hide-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:2] hide-2-b0)?
435
+ hide-2 ::= "<<HIDE2" tags? target line? ":" hide-2-b0 ":HIDE2"
436
+ hide-3-b0 ::= (":" hide-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] hide-3-b0)?
437
+ hide-3-b1 ::= ("H" hide-3-b2 | ":" hide-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] hide-3-b0)?
438
+ hide-3-b2 ::= ("I" hide-3-b3 | ":" hide-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] hide-3-b0)?
439
+ hide-3-b3 ::= ("D" hide-3-b4 | ":" hide-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] hide-3-b0)?
440
+ hide-3-b4 ::= ("E" hide-3-b5 | ":" hide-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] hide-3-b0)?
441
+ hide-3-b5 ::= (":" hide-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:3] hide-3-b0)?
442
+ hide-3 ::= "<<HIDE3" tags? target line? ":" hide-3-b0 ":HIDE3"
443
+ hide-4-b0 ::= (":" hide-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] hide-4-b0)?
444
+ hide-4-b1 ::= ("H" hide-4-b2 | ":" hide-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] hide-4-b0)?
445
+ hide-4-b2 ::= ("I" hide-4-b3 | ":" hide-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] hide-4-b0)?
446
+ hide-4-b3 ::= ("D" hide-4-b4 | ":" hide-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] hide-4-b0)?
447
+ hide-4-b4 ::= ("E" hide-4-b5 | ":" hide-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] hide-4-b0)?
448
+ hide-4-b5 ::= (":" hide-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:4] hide-4-b0)?
449
+ hide-4 ::= "<<HIDE4" tags? target line? ":" hide-4-b0 ":HIDE4"
450
+ hide-5-b0 ::= (":" hide-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] hide-5-b0)?
451
+ hide-5-b1 ::= ("H" hide-5-b2 | ":" hide-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] hide-5-b0)?
452
+ hide-5-b2 ::= ("I" hide-5-b3 | ":" hide-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] hide-5-b0)?
453
+ hide-5-b3 ::= ("D" hide-5-b4 | ":" hide-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] hide-5-b0)?
454
+ hide-5-b4 ::= ("E" hide-5-b5 | ":" hide-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] hide-5-b0)?
455
+ hide-5-b5 ::= (":" hide-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:5] hide-5-b0)?
456
+ hide-5 ::= "<<HIDE5" tags? target line? ":" hide-5-b0 ":HIDE5"
457
+ hide-6-b0 ::= (":" hide-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] hide-6-b0)?
458
+ hide-6-b1 ::= ("H" hide-6-b2 | ":" hide-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] hide-6-b0)?
459
+ hide-6-b2 ::= ("I" hide-6-b3 | ":" hide-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] hide-6-b0)?
460
+ hide-6-b3 ::= ("D" hide-6-b4 | ":" hide-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] hide-6-b0)?
461
+ hide-6-b4 ::= ("E" hide-6-b5 | ":" hide-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] hide-6-b0)?
462
+ hide-6-b5 ::= (":" hide-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:6] hide-6-b0)?
463
+ hide-6 ::= "<<HIDE6" tags? target line? ":" hide-6-b0 ":HIDE6"
464
+ hide-7-b0 ::= (":" hide-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] hide-7-b0)?
465
+ hide-7-b1 ::= ("H" hide-7-b2 | ":" hide-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] hide-7-b0)?
466
+ hide-7-b2 ::= ("I" hide-7-b3 | ":" hide-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] hide-7-b0)?
467
+ hide-7-b3 ::= ("D" hide-7-b4 | ":" hide-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] hide-7-b0)?
468
+ hide-7-b4 ::= ("E" hide-7-b5 | ":" hide-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] hide-7-b0)?
469
+ hide-7-b5 ::= (":" hide-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:7] hide-7-b0)?
470
+ hide-7 ::= "<<HIDE7" tags? target line? ":" hide-7-b0 ":HIDE7"
471
+ hide-8-b0 ::= (":" hide-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] hide-8-b0)?
472
+ hide-8-b1 ::= ("H" hide-8-b2 | ":" hide-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] hide-8-b0)?
473
+ hide-8-b2 ::= ("I" hide-8-b3 | ":" hide-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] hide-8-b0)?
474
+ hide-8-b3 ::= ("D" hide-8-b4 | ":" hide-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] hide-8-b0)?
475
+ hide-8-b4 ::= ("E" hide-8-b5 | ":" hide-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] hide-8-b0)?
476
+ hide-8-b5 ::= (":" hide-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:8] hide-8-b0)?
477
+ hide-8 ::= "<<HIDE8" tags? target line? ":" hide-8-b0 ":HIDE8"
478
+ hide-9-b0 ::= (":" hide-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] hide-9-b0)?
479
+ hide-9-b1 ::= ("H" hide-9-b2 | ":" hide-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:H] hide-9-b0)?
480
+ hide-9-b2 ::= ("I" hide-9-b3 | ":" hide-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] hide-9-b0)?
481
+ hide-9-b3 ::= ("D" hide-9-b4 | ":" hide-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] hide-9-b0)?
482
+ hide-9-b4 ::= ("E" hide-9-b5 | ":" hide-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] hide-9-b0)?
483
+ hide-9-b5 ::= (":" hide-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:9] hide-9-b0)?
484
+ hide-9 ::= "<<HIDE9" tags? target line? ":" hide-9-b0 ":HIDE9"
485
+ send-b0 ::= (":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-b0)?
486
+ send-b1 ::= ("S" send-b2 | ":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-b0)?
487
+ send-b2 ::= ("E" send-b3 | ":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-b0)?
488
+ send-b3 ::= ("N" send-b4 | ":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-b0)?
489
+ send-b4 ::= (":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-b0)?
490
+ send ::= "<<SEND" "[" status "]" target? ":" send-b0 ":SEND"
491
+ send-1-b0 ::= (":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-1-b0)?
492
+ send-1-b1 ::= ("S" send-1-b2 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-1-b0)?
493
+ send-1-b2 ::= ("E" send-1-b3 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-1-b0)?
494
+ send-1-b3 ::= ("N" send-1-b4 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-1-b0)?
495
+ send-1-b4 ::= ("D" send-1-b5 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-1-b0)?
496
+ send-1-b5 ::= (":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:1] send-1-b0)?
497
+ send-1 ::= "<<SEND1" "[" status "]" target? ":" send-1-b0 ":SEND1"
498
+ send-2-b0 ::= (":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-2-b0)?
499
+ send-2-b1 ::= ("S" send-2-b2 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-2-b0)?
500
+ send-2-b2 ::= ("E" send-2-b3 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-2-b0)?
501
+ send-2-b3 ::= ("N" send-2-b4 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-2-b0)?
502
+ send-2-b4 ::= ("D" send-2-b5 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-2-b0)?
503
+ send-2-b5 ::= (":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:2] send-2-b0)?
504
+ send-2 ::= "<<SEND2" "[" status "]" target? ":" send-2-b0 ":SEND2"
505
+ send-3-b0 ::= (":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-3-b0)?
506
+ send-3-b1 ::= ("S" send-3-b2 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-3-b0)?
507
+ send-3-b2 ::= ("E" send-3-b3 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-3-b0)?
508
+ send-3-b3 ::= ("N" send-3-b4 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-3-b0)?
509
+ send-3-b4 ::= ("D" send-3-b5 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-3-b0)?
510
+ send-3-b5 ::= (":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:3] send-3-b0)?
511
+ send-3 ::= "<<SEND3" "[" status "]" target? ":" send-3-b0 ":SEND3"
512
+ send-4-b0 ::= (":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-4-b0)?
513
+ send-4-b1 ::= ("S" send-4-b2 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-4-b0)?
514
+ send-4-b2 ::= ("E" send-4-b3 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-4-b0)?
515
+ send-4-b3 ::= ("N" send-4-b4 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-4-b0)?
516
+ send-4-b4 ::= ("D" send-4-b5 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-4-b0)?
517
+ send-4-b5 ::= (":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:4] send-4-b0)?
518
+ send-4 ::= "<<SEND4" "[" status "]" target? ":" send-4-b0 ":SEND4"
519
+ send-5-b0 ::= (":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-5-b0)?
520
+ send-5-b1 ::= ("S" send-5-b2 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-5-b0)?
521
+ send-5-b2 ::= ("E" send-5-b3 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-5-b0)?
522
+ send-5-b3 ::= ("N" send-5-b4 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-5-b0)?
523
+ send-5-b4 ::= ("D" send-5-b5 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-5-b0)?
524
+ send-5-b5 ::= (":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:5] send-5-b0)?
525
+ send-5 ::= "<<SEND5" "[" status "]" target? ":" send-5-b0 ":SEND5"
526
+ send-6-b0 ::= (":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-6-b0)?
527
+ send-6-b1 ::= ("S" send-6-b2 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-6-b0)?
528
+ send-6-b2 ::= ("E" send-6-b3 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-6-b0)?
529
+ send-6-b3 ::= ("N" send-6-b4 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-6-b0)?
530
+ send-6-b4 ::= ("D" send-6-b5 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-6-b0)?
531
+ send-6-b5 ::= (":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:6] send-6-b0)?
532
+ send-6 ::= "<<SEND6" "[" status "]" target? ":" send-6-b0 ":SEND6"
533
+ send-7-b0 ::= (":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-7-b0)?
534
+ send-7-b1 ::= ("S" send-7-b2 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-7-b0)?
535
+ send-7-b2 ::= ("E" send-7-b3 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-7-b0)?
536
+ send-7-b3 ::= ("N" send-7-b4 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-7-b0)?
537
+ send-7-b4 ::= ("D" send-7-b5 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-7-b0)?
538
+ send-7-b5 ::= (":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:7] send-7-b0)?
539
+ send-7 ::= "<<SEND7" "[" status "]" target? ":" send-7-b0 ":SEND7"
540
+ send-8-b0 ::= (":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-8-b0)?
541
+ send-8-b1 ::= ("S" send-8-b2 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-8-b0)?
542
+ send-8-b2 ::= ("E" send-8-b3 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-8-b0)?
543
+ send-8-b3 ::= ("N" send-8-b4 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-8-b0)?
544
+ send-8-b4 ::= ("D" send-8-b5 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-8-b0)?
545
+ send-8-b5 ::= (":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:8] send-8-b0)?
546
+ send-8 ::= "<<SEND8" "[" status "]" target? ":" send-8-b0 ":SEND8"
547
+ send-9-b0 ::= (":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-9-b0)?
548
+ send-9-b1 ::= ("S" send-9-b2 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-9-b0)?
549
+ send-9-b2 ::= ("E" send-9-b3 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-9-b0)?
550
+ send-9-b3 ::= ("N" send-9-b4 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-9-b0)?
551
+ send-9-b4 ::= ("D" send-9-b5 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-9-b0)?
552
+ send-9-b5 ::= (":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:9] send-9-b0)?
553
+ send-9 ::= "<<SEND9" "[" status "]" target? ":" send-9-b0 ":SEND9"
554
+ exec-b0 ::= (":" exec-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] exec-b0)?
555
+ exec-b1 ::= ("E" exec-b2 | ":" exec-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-b0)?
556
+ exec-b2 ::= ("X" exec-b3 | ":" exec-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:X] exec-b0)?
557
+ exec-b3 ::= ("E" exec-b4 | ":" exec-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-b0)?
558
+ exec-b4 ::= (":" exec-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] exec-b0)?
559
+ exec ::= "<<EXEC" exec-sig? target? ":" exec-b0 ":EXEC"
560
+ exec-1-b0 ::= (":" exec-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] exec-1-b0)?
561
+ exec-1-b1 ::= ("E" exec-1-b2 | ":" exec-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-1-b0)?
562
+ exec-1-b2 ::= ("X" exec-1-b3 | ":" exec-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:X] exec-1-b0)?
563
+ exec-1-b3 ::= ("E" exec-1-b4 | ":" exec-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-1-b0)?
564
+ exec-1-b4 ::= ("C" exec-1-b5 | ":" exec-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] exec-1-b0)?
565
+ exec-1-b5 ::= (":" exec-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:1] exec-1-b0)?
566
+ exec-1 ::= "<<EXEC1" exec-sig? target? ":" exec-1-b0 ":EXEC1"
567
+ exec-2-b0 ::= (":" exec-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] exec-2-b0)?
568
+ exec-2-b1 ::= ("E" exec-2-b2 | ":" exec-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-2-b0)?
569
+ exec-2-b2 ::= ("X" exec-2-b3 | ":" exec-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:X] exec-2-b0)?
570
+ exec-2-b3 ::= ("E" exec-2-b4 | ":" exec-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-2-b0)?
571
+ exec-2-b4 ::= ("C" exec-2-b5 | ":" exec-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] exec-2-b0)?
572
+ exec-2-b5 ::= (":" exec-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:2] exec-2-b0)?
573
+ exec-2 ::= "<<EXEC2" exec-sig? target? ":" exec-2-b0 ":EXEC2"
574
+ exec-3-b0 ::= (":" exec-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] exec-3-b0)?
575
+ exec-3-b1 ::= ("E" exec-3-b2 | ":" exec-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-3-b0)?
576
+ exec-3-b2 ::= ("X" exec-3-b3 | ":" exec-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:X] exec-3-b0)?
577
+ exec-3-b3 ::= ("E" exec-3-b4 | ":" exec-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-3-b0)?
578
+ exec-3-b4 ::= ("C" exec-3-b5 | ":" exec-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] exec-3-b0)?
579
+ exec-3-b5 ::= (":" exec-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:3] exec-3-b0)?
580
+ exec-3 ::= "<<EXEC3" exec-sig? target? ":" exec-3-b0 ":EXEC3"
581
+ exec-4-b0 ::= (":" exec-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] exec-4-b0)?
582
+ exec-4-b1 ::= ("E" exec-4-b2 | ":" exec-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-4-b0)?
583
+ exec-4-b2 ::= ("X" exec-4-b3 | ":" exec-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:X] exec-4-b0)?
584
+ exec-4-b3 ::= ("E" exec-4-b4 | ":" exec-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-4-b0)?
585
+ exec-4-b4 ::= ("C" exec-4-b5 | ":" exec-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] exec-4-b0)?
586
+ exec-4-b5 ::= (":" exec-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:4] exec-4-b0)?
587
+ exec-4 ::= "<<EXEC4" exec-sig? target? ":" exec-4-b0 ":EXEC4"
588
+ exec-5-b0 ::= (":" exec-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] exec-5-b0)?
589
+ exec-5-b1 ::= ("E" exec-5-b2 | ":" exec-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-5-b0)?
590
+ exec-5-b2 ::= ("X" exec-5-b3 | ":" exec-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:X] exec-5-b0)?
591
+ exec-5-b3 ::= ("E" exec-5-b4 | ":" exec-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-5-b0)?
592
+ exec-5-b4 ::= ("C" exec-5-b5 | ":" exec-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] exec-5-b0)?
593
+ exec-5-b5 ::= (":" exec-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:5] exec-5-b0)?
594
+ exec-5 ::= "<<EXEC5" exec-sig? target? ":" exec-5-b0 ":EXEC5"
595
+ exec-6-b0 ::= (":" exec-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] exec-6-b0)?
596
+ exec-6-b1 ::= ("E" exec-6-b2 | ":" exec-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-6-b0)?
597
+ exec-6-b2 ::= ("X" exec-6-b3 | ":" exec-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:X] exec-6-b0)?
598
+ exec-6-b3 ::= ("E" exec-6-b4 | ":" exec-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-6-b0)?
599
+ exec-6-b4 ::= ("C" exec-6-b5 | ":" exec-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] exec-6-b0)?
600
+ exec-6-b5 ::= (":" exec-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:6] exec-6-b0)?
601
+ exec-6 ::= "<<EXEC6" exec-sig? target? ":" exec-6-b0 ":EXEC6"
602
+ exec-7-b0 ::= (":" exec-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] exec-7-b0)?
603
+ exec-7-b1 ::= ("E" exec-7-b2 | ":" exec-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-7-b0)?
604
+ exec-7-b2 ::= ("X" exec-7-b3 | ":" exec-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:X] exec-7-b0)?
605
+ exec-7-b3 ::= ("E" exec-7-b4 | ":" exec-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-7-b0)?
606
+ exec-7-b4 ::= ("C" exec-7-b5 | ":" exec-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] exec-7-b0)?
607
+ exec-7-b5 ::= (":" exec-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:7] exec-7-b0)?
608
+ exec-7 ::= "<<EXEC7" exec-sig? target? ":" exec-7-b0 ":EXEC7"
609
+ exec-8-b0 ::= (":" exec-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] exec-8-b0)?
610
+ exec-8-b1 ::= ("E" exec-8-b2 | ":" exec-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-8-b0)?
611
+ exec-8-b2 ::= ("X" exec-8-b3 | ":" exec-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:X] exec-8-b0)?
612
+ exec-8-b3 ::= ("E" exec-8-b4 | ":" exec-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-8-b0)?
613
+ exec-8-b4 ::= ("C" exec-8-b5 | ":" exec-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] exec-8-b0)?
614
+ exec-8-b5 ::= (":" exec-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:8] exec-8-b0)?
615
+ exec-8 ::= "<<EXEC8" exec-sig? target? ":" exec-8-b0 ":EXEC8"
616
+ exec-9-b0 ::= (":" exec-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] exec-9-b0)?
617
+ exec-9-b1 ::= ("E" exec-9-b2 | ":" exec-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-9-b0)?
618
+ exec-9-b2 ::= ("X" exec-9-b3 | ":" exec-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:X] exec-9-b0)?
619
+ exec-9-b3 ::= ("E" exec-9-b4 | ":" exec-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-9-b0)?
620
+ exec-9-b4 ::= ("C" exec-9-b5 | ":" exec-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:C] exec-9-b0)?
621
+ exec-9-b5 ::= (":" exec-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:9] exec-9-b0)?
622
+ exec-9 ::= "<<EXEC9" exec-sig? target? ":" exec-9-b0 ":EXEC9"
623
+ root ::= "\n"* statement root-rest* "\n"*
624
+ root-rest ::= "\n"+ statement
625
+ 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 | show | show-1 | show-2 | show-3 | show-4 | show-5 | show-6 | show-7 | show-8 | show-9 | hide | hide-1 | hide-2 | hide-3 | hide-4 | hide-5 | hide-6 | hide-7 | hide-8 | hide-9 | send | send-1 | send-2 | send-3 | send-4 | send-5 | send-6 | send-7 | send-8 | send-9 | exec | exec-1 | exec-2 | exec-3 | exec-4 | exec-5 | exec-6 | exec-7 | exec-8 | exec-9
626
+ tags ::= "[" tag tag-rest* "]"
627
+ tag ::= [A-Za-z0-9_.-]+
628
+ tag-rest ::= "," tag
629
+ target ::= "(" path ")"
630
+ path ::= uri | bare
631
+ uri ::= scheme "://" [a-z0-9*.-]+ uri-rest?
632
+ scheme ::= [a-z] [a-z0-9+.-]*
633
+ uri-rest ::= [/?#] [A-Za-z0-9._~!$&'*+,;=:@%?#/\[\]-]*
634
+ bare ::= [A-Za-z0-9._~!$&'*+,;=@%?#/\[\]-]+
635
+ line ::= "<" int ">" | "<" int "," int ">"
636
+ int ::= "-"? [0-9]+
637
+ status ::= [0-9] [0-9] [0-9]
638
+ exec-sig ::= "[" [a-z] [a-z0-9_-]* "]"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-grammar",
3
- "version": "0.23.0",
3
+ "version": "0.25.0",
4
4
  "description": "ANTLR4 grammar for the Plurnk LLM agent protocol",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -15,7 +15,8 @@
15
15
  "types": "./dist/src/index.d.ts",
16
16
  "default": "./dist/src/index.js"
17
17
  },
18
- "./package.json": "./package.json"
18
+ "./package.json": "./package.json",
19
+ "./plurnk.gbnf": "./dist/plurnk.gbnf"
19
20
  },
20
21
  "bin": {
21
22
  "plurnk": "./bin/plurnk.js"
@@ -28,8 +29,9 @@
28
29
  "scripts": {
29
30
  "build:grammar": "antlr-ng -D language=TypeScript -o src/generated --generate-visitor true --generate-listener false plurnkLexer.g4 plurnkParser.g4 && node scriptify/fix-generated-imports.ts",
30
31
  "build:types": "node scriptify/generate-types.ts",
31
- "build:dist": "tsc -p tsconfig.build.json",
32
- "build": "npm run build:grammar && npm run build:types && npm run build:dist",
32
+ "build:dist": "rm -rf dist && tsc -p tsconfig.build.json",
33
+ "build:gbnf": "node scriptify/generate-gbnf.ts",
34
+ "build": "npm run build:grammar && npm run build:types && npm run build:dist && npm run build:gbnf",
33
35
  "antlr:tokens": "testrig src/generated/plurnk document --tokens",
34
36
  "antlr:trace": "testrig src/generated/plurnk document --trace",
35
37
  "antlr:parse": "testrig src/generated/plurnk document --tree",
@@ -38,6 +40,7 @@
38
40
  "test:intg": "node --test test/integration/*.test.ts",
39
41
  "test:demo": "node --test test/demo/*.test.ts",
40
42
  "test:smoke": "node scriptify/smoke-test.ts",
43
+ "test:llama": "node --test test/llama/*.test.ts",
41
44
  "test:all": "npm run test:lint && npm run test:unit && npm run test:intg && npm run test:demo",
42
45
  "prepare": "npm run build",
43
46
  "prepublishOnly": "npm run build && npm run test:all && npm run test:smoke"
package/plurnk.md CHANGED
@@ -84,11 +84,11 @@ Internal schemes:
84
84
 
85
85
  ## Suffix
86
86
 
87
- YOU MAY use an optional matching suffix on the opening and closing tags for disambiguation.
87
+ YOU MUST use a matching digit suffix on the opening and closing tags when quoting plurnk operations in a body.
88
88
 
89
- <<EDITouter(known://demo):
89
+ <<EDIT1(known://demo):
90
90
  quoted: <<EDIT(known://inner):hello:EDIT
91
- :EDITouter
91
+ :EDIT1
92
92
 
93
93
  ## Body
94
94
 
@@ -1,17 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://schemas.plurnk.dev/v0/Visibility.json",
4
- "title": "Visibility",
5
- "description": "Per-run, per-channel visibility row. Pairs an (entry, channel) with an `indexed` boolean — true means the channel appears in the run's Index (visible to the model); false means Archive (out of working memory but addressable). Allows fine-grained promotion (e.g. exec://run-tests#stdout indexed while #stderr archived).",
6
- "type": "object",
7
- "required": ["entry_id", "channel", "indexed"],
8
- "additionalProperties": false,
9
- "properties": {
10
- "entry_id": { "type": "integer", "minimum": 1 },
11
- "channel": {
12
- "type": "string",
13
- "pattern": "^[a-z][a-z0-9_-]*$"
14
- },
15
- "indexed": { "type": "boolean" }
16
- }
17
- }