@plurnk/plurnk-contracts 1.14.2 → 1.16.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.
Files changed (46) hide show
  1. package/SPEC.md +106 -123
  2. package/dist/plurnk.gemma.gbnf +62 -87
  3. package/dist/plurnk.qwen.gbnf +62 -87
  4. package/dist/schema/ClientStatement.json +114 -40
  5. package/dist/schema/PlurnkStatement.json +29 -199
  6. package/dist/schema/RangeExtent.json +1 -1
  7. package/dist/src/AstBuilder.d.ts +2 -2
  8. package/dist/src/AstBuilder.d.ts.map +1 -1
  9. package/dist/src/AstBuilder.js +68 -146
  10. package/dist/src/AstBuilder.js.map +1 -1
  11. package/dist/src/PlurnkErrorStrategy.d.ts +0 -1
  12. package/dist/src/PlurnkErrorStrategy.d.ts.map +1 -1
  13. package/dist/src/PlurnkErrorStrategy.js +72 -61
  14. package/dist/src/PlurnkErrorStrategy.js.map +1 -1
  15. package/dist/src/PlurnkParser.d.ts +1 -2
  16. package/dist/src/PlurnkParser.d.ts.map +1 -1
  17. package/dist/src/PlurnkParser.js +15 -104
  18. package/dist/src/PlurnkParser.js.map +1 -1
  19. package/dist/src/generated/plurnkLexer.d.ts +42 -69
  20. package/dist/src/generated/plurnkLexer.d.ts.map +1 -1
  21. package/dist/src/generated/plurnkLexer.js +495 -647
  22. package/dist/src/generated/plurnkLexer.js.map +1 -1
  23. package/dist/src/generated/plurnkParser.d.ts +76 -215
  24. package/dist/src/generated/plurnkParser.d.ts.map +1 -1
  25. package/dist/src/generated/plurnkParser.js +643 -1829
  26. package/dist/src/generated/plurnkParser.js.map +1 -1
  27. package/dist/src/generated/plurnkParserVisitor.d.ts +3 -87
  28. package/dist/src/generated/plurnkParserVisitor.d.ts.map +1 -1
  29. package/dist/src/generated/plurnkParserVisitor.js +2 -74
  30. package/dist/src/generated/plurnkParserVisitor.js.map +1 -1
  31. package/dist/src/index.d.ts +0 -2
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/index.js +0 -1
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/types.d.ts +1 -1
  36. package/dist/src/types.d.ts.map +1 -1
  37. package/dist/src/types.generated.d.ts +18 -50
  38. package/dist/src/types.generated.d.ts.map +1 -1
  39. package/dist/src/types.js +1 -1
  40. package/dist/src/types.js.map +1 -1
  41. package/package.json +1 -1
  42. package/plurnk.md +67 -73
  43. package/dist/src/TagSignal.d.ts +0 -15
  44. package/dist/src/TagSignal.d.ts.map +0 -1
  45. package/dist/src/TagSignal.js +0 -53
  46. package/dist/src/TagSignal.js.map +0 -1
@@ -2,12 +2,11 @@
2
2
  import { ParserRuleContext, TerminalNode } from "antlr4ng";
3
3
  import * as xpath from "xpath";
4
4
  import { JSONPathEnvironment } from "json-p3/dist/json-p3.esm.js";
5
- import { BodyContext, IdentSignalContext, LineMarkerContext, MetadataContext, PlanStatementContext, SendStatementContext, TargetContext, TagSignalContext, BranchSignalContext, } from "./generated/plurnkParser.js";
5
+ import { BodyContext, LineMarkerContext, MetadataContext, MidSendContext, PlanStatementContext, SendStatementContext, TargetContext, } from "./generated/plurnkParser.js";
6
6
  import { plurnkLexer } from "./generated/plurnkLexer.js";
7
7
  import PlurnkParseError from "./PlurnkParseError.js";
8
8
  import PathSyntax from "./PathSyntax.js";
9
9
  import PlanValue from "./PlanValue.js";
10
- import TagSignal, { InvalidTagSignalError } from "./TagSignal.js";
11
10
  export default class AstBuilder {
12
11
  // {§misplaced-annotation-advisory} — advisories raised while building one statement; the
13
12
  // parser drains them right after the statement so the model sees WHAT it did on the first try.
@@ -39,6 +38,11 @@ export default class AstBuilder {
39
38
  return AstBuilder.#buildPlan(ctx);
40
39
  if (ctx instanceof SendStatementContext)
41
40
  return AstBuilder.#buildSend(ctx);
41
+ if (ctx instanceof MidSendContext)
42
+ return AstBuilder.#buildMidSend(ctx);
43
+ const midSend = ctx.midSend();
44
+ if (midSend)
45
+ return AstBuilder.#buildMidSend(midSend);
42
46
  const find = ctx.findStatement();
43
47
  if (find)
44
48
  return AstBuilder.#buildFind(find);
@@ -54,22 +58,6 @@ export default class AstBuilder {
54
58
  const move = ctx.moveStatement();
55
59
  if (move)
56
60
  return AstBuilder.#buildMove(move);
57
- const open = ctx.openStatement();
58
- if (open)
59
- return AstBuilder.#buildOpen(open);
60
- const fold = ctx.foldStatement();
61
- if (fold)
62
- return AstBuilder.#buildFold(fold);
63
- const midSend = ctx.midSend();
64
- if (midSend)
65
- return AstBuilder.#buildSend(midSend);
66
- // `sendStatement` (the disposition-coded terminal) appears in `statement` (teaching
67
- // corpora) but NOT in `midStatement` — guard the accessor before calling it.
68
- if ("sendStatement" in ctx) {
69
- const send = ctx.sendStatement();
70
- if (send)
71
- return AstBuilder.#buildSend(send);
72
- }
73
61
  const exec = ctx.execStatement();
74
62
  if (exec)
75
63
  return AstBuilder.#buildExec(exec);
@@ -91,6 +79,9 @@ export default class AstBuilder {
91
79
  const plan = ctx.planStatement();
92
80
  if (plan)
93
81
  return AstBuilder.#buildPlan(plan);
82
+ const send = ctx.sendStatement();
83
+ if (send)
84
+ return AstBuilder.#buildSend(send);
94
85
  }
95
86
  throw new Error("statement context has no recognized alternative");
96
87
  }
@@ -101,8 +92,7 @@ export default class AstBuilder {
101
92
  }
102
93
  static #buildFindFrom(ctx, annotation, raw) {
103
94
  const position = AstBuilder.#positionOf(ctx);
104
- const slots = AstBuilder.#extractTagSlots(ctx.tagOpModifiers(), position);
105
- AstBuilder.#assertAppliedTags(slots.signal, position);
95
+ const slots = AstBuilder.#extractSlots(ctx.slotModifiers(), position);
106
96
  return {
107
97
  op: "FIND",
108
98
  delimiter: AstBuilder.#splitDelimiter(ctx.OPEN_FIND().getText(), "FIND"),
@@ -132,7 +122,7 @@ export default class AstBuilder {
132
122
  // and parse matcher bodies directly for their client-owned lifecycles.
133
123
  static #buildLook(ctx) {
134
124
  const position = AstBuilder.#positionOf(ctx);
135
- const slots = AstBuilder.#extractTextTagSlots(ctx.tagOpModifiers(), position);
125
+ const slots = AstBuilder.#extractTextSlots(ctx.slotModifiers(), position);
136
126
  const raw = AstBuilder.#bodyTextOf(ctx);
137
127
  return {
138
128
  op: "LOOK",
@@ -145,7 +135,7 @@ export default class AstBuilder {
145
135
  }
146
136
  static #buildBuff(ctx) {
147
137
  const position = AstBuilder.#positionOf(ctx);
148
- const slots = AstBuilder.#extractTagSlots(ctx.tagOpModifiers(), position);
138
+ const slots = AstBuilder.#extractSlots(ctx.slotModifiers(), position);
149
139
  const raw = AstBuilder.#bodyTextOf(ctx);
150
140
  return {
151
141
  op: "BUFF",
@@ -158,8 +148,7 @@ export default class AstBuilder {
158
148
  }
159
149
  static #buildRead(ctx) {
160
150
  const position = AstBuilder.#positionOf(ctx);
161
- const slots = AstBuilder.#extractTextTagSlots(ctx.tagOpModifiers(), position);
162
- AstBuilder.#assertAppliedTags(slots.signal, position);
151
+ const slots = AstBuilder.#extractTextSlots(ctx.slotModifiers(), position);
163
152
  const delimiter = AstBuilder.#splitDelimiter(ctx.OPEN_READ().getText(), "READ");
164
153
  const bodied = AstBuilder.#annotationBody("READ", delimiter, AstBuilder.#annotationOf(ctx), AstBuilder.#bodyTextOf(ctx), position);
165
154
  const annotation = bodied.annotation;
@@ -191,44 +180,9 @@ export default class AstBuilder {
191
180
  position,
192
181
  };
193
182
  }
194
- static #buildOpen(ctx) {
195
- const position = AstBuilder.#positionOf(ctx);
196
- const slots = AstBuilder.#extractCurationSlots(ctx.tagOpModifiers(), position);
197
- const raw = AstBuilder.#bodyTextOf(ctx);
198
- const tags = AstBuilder.#curationTags(slots.signal, position);
199
- if (slots.target === null && raw === null && tags.filter.length === 0 && (tags.add.length > 0 || tags.remove.length > 0)) {
200
- throw new PlurnkParseError(position.line, position.column, "visitor", "signed tags modify selected log items but do not select them - add a path, body pattern, or unsigned tag");
201
- }
202
- return {
203
- op: "OPEN",
204
- delimiter: AstBuilder.#splitDelimiter(ctx.OPEN_OPEN().getText(), "OPEN"),
205
- annotation: AstBuilder.#annotationOf(ctx),
206
- ...slots,
207
- body: raw !== null ? AstBuilder.#parseMatcherBody(raw, position) : null,
208
- position,
209
- };
210
- }
211
- static #buildFold(ctx) {
212
- const position = AstBuilder.#positionOf(ctx);
213
- const slots = AstBuilder.#extractCurationSlots(ctx.tagOpModifiers(), position);
214
- const raw = AstBuilder.#bodyTextOf(ctx);
215
- const tags = AstBuilder.#curationTags(slots.signal, position);
216
- if (slots.target === null && raw === null && tags.filter.length === 0 && (tags.add.length > 0 || tags.remove.length > 0)) {
217
- throw new PlurnkParseError(position.line, position.column, "visitor", "signed tags modify selected log items but do not select them - add a path, body pattern, or unsigned tag");
218
- }
219
- return {
220
- op: "FOLD",
221
- delimiter: AstBuilder.#splitDelimiter(ctx.OPEN_FOLD().getText(), "FOLD"),
222
- annotation: AstBuilder.#annotationOf(ctx),
223
- ...slots,
224
- body: raw !== null ? AstBuilder.#parseMatcherBody(raw, position) : null,
225
- position,
226
- };
227
- }
228
183
  static #buildEdit(ctx) {
229
184
  const position = AstBuilder.#positionOf(ctx);
230
- const slots = AstBuilder.#extractTextTagSlots(ctx.tagOpModifiers(), position);
231
- AstBuilder.#assertAppliedTags(slots.signal, position);
185
+ const slots = AstBuilder.#extractTextSlots(ctx.slotModifiers(), position);
232
186
  return {
233
187
  op: "EDIT",
234
188
  delimiter: AstBuilder.#splitDelimiter(ctx.OPEN_EDIT().getText(), "EDIT"),
@@ -241,8 +195,6 @@ export default class AstBuilder {
241
195
  static #buildCopy(ctx) {
242
196
  const position = AstBuilder.#positionOf(ctx);
243
197
  const modifier = ctx.transferModifiers();
244
- const signal = AstBuilder.#tagsFromSignal(AstBuilder.#findFirst(modifier, TagSignalContext));
245
- AstBuilder.#assertAppliedTags(signal, position);
246
198
  const selections = modifier.resourceSelection();
247
199
  if (selections.length !== 2)
248
200
  throw new Error("COPY grammar did not produce two resource selections");
@@ -250,7 +202,6 @@ export default class AstBuilder {
250
202
  op: "COPY",
251
203
  delimiter: AstBuilder.#splitDelimiter(ctx.OPEN_COPY().getText(), "COPY"),
252
204
  annotation: AstBuilder.#annotationOf(ctx),
253
- signal,
254
205
  source: AstBuilder.#resourceSelectionFromCtx(selections[0], position),
255
206
  destination: AstBuilder.#resourceSelectionFromCtx(selections[1], position),
256
207
  position,
@@ -259,8 +210,6 @@ export default class AstBuilder {
259
210
  static #buildMove(ctx) {
260
211
  const position = AstBuilder.#positionOf(ctx);
261
212
  const modifier = ctx.transferModifiers();
262
- const signal = AstBuilder.#tagsFromSignal(AstBuilder.#findFirst(modifier, TagSignalContext));
263
- AstBuilder.#assertAppliedTags(signal, position);
264
213
  const selections = modifier.resourceSelection();
265
214
  if (selections.length !== 2)
266
215
  throw new Error("MOVE grammar did not produce two resource selections");
@@ -268,50 +217,79 @@ export default class AstBuilder {
268
217
  op: "MOVE",
269
218
  delimiter: AstBuilder.#splitDelimiter(ctx.OPEN_MOVE().getText(), "MOVE"),
270
219
  annotation: AstBuilder.#annotationOf(ctx),
271
- signal,
272
220
  source: AstBuilder.#resourceSelectionFromCtx(selections[0], position),
273
221
  destination: AstBuilder.#resourceSelectionFromCtx(selections[1], position),
274
222
  position,
275
223
  };
276
224
  }
225
+ // {§send-label} — a disposition label makes the SEND terminal and names no recipient.
226
+ static #SEND_LABELS = Object.freeze({ NEXT: 102, WAIT: 202, TERM: 200, FAIL: 499 });
277
227
  static #buildSend(ctx) {
278
228
  const position = AstBuilder.#positionOf(ctx);
279
- const slots = AstBuilder.#extractIntSlots(ctx, position);
229
+ const label = ctx.SEND_LABEL().getText().slice(1, -1);
230
+ const status = AstBuilder.#SEND_LABELS[label];
231
+ if (status === undefined)
232
+ throw new Error(`the lexer admitted an unknown SEND label: ${label}`);
280
233
  const raw = AstBuilder.#bodyTextOf(ctx);
281
234
  return {
282
235
  op: "SEND",
283
236
  delimiter: AstBuilder.#splitDelimiter(ctx.OPEN_SEND().getText(), "SEND"),
284
237
  annotation: AstBuilder.#annotationOf(ctx),
285
- ...slots,
286
- // Preserve a terminal wait scope; the dispatcher owns which disposition
287
- // accepts it. Only the terminal rule carries a marker (midSend → null).
288
- lineMarker: AstBuilder.#lineMarkerFromCtx(AstBuilder.#findFirst(ctx, LineMarkerContext)),
238
+ status,
239
+ target: null,
240
+ metadata: null,
241
+ // A WAIT keeps its scope ({§send-wait-scope}); the dispatcher owns what it accepts.
242
+ lineMarker: AstBuilder.#lineMarkerFromCtx(ctx.lineMarker()),
243
+ body: raw !== null ? AstBuilder.#parseSendBody(raw) : null,
244
+ position,
245
+ };
246
+ }
247
+ // A mid-turn SEND is a message to its recipient path, or to the user when it names none.
248
+ static #buildMidSend(ctx) {
249
+ const position = AstBuilder.#positionOf(ctx);
250
+ const slots = AstBuilder.#extractBranchSlots(ctx.targetWithMetadata(), position);
251
+ const raw = AstBuilder.#bodyTextOf(ctx);
252
+ return {
253
+ op: "SEND",
254
+ delimiter: AstBuilder.#splitDelimiter(ctx.OPEN_SEND().getText(), "SEND"),
255
+ annotation: AstBuilder.#annotationOf(ctx),
256
+ status: null,
257
+ target: slots.target,
258
+ metadata: slots.metadata,
259
+ lineMarker: null,
289
260
  body: raw !== null ? AstBuilder.#parseSendBody(raw) : null,
290
261
  position,
291
262
  };
292
263
  }
293
264
  static #buildExec(ctx) {
294
265
  const position = AstBuilder.#positionOf(ctx);
295
- const { tags, ...slots } = AstBuilder.#extractExecSlots(ctx.execModifiers(), position);
266
+ const slots = AstBuilder.#extractExecSlots(ctx.execModifiers(), position);
296
267
  return {
297
268
  op: "EXEC",
298
269
  delimiter: AstBuilder.#splitDelimiter(ctx.OPEN_EXEC().getText(), "EXEC"),
299
270
  annotation: AstBuilder.#annotationOf(ctx),
271
+ executor: AstBuilder.#executorOf(ctx, position),
300
272
  ...slots,
301
- ...(tags === null ? {} : { tags }),
302
273
  body: AstBuilder.#bodyTextOf(ctx),
303
274
  position,
304
275
  };
305
276
  }
277
+ // {§exec-executor-slot} — the executor may lead the heading or trail the path (once, unambiguous:
278
+ // no other slot after a path uses `[...]`); two executors are the one rejected shape.
279
+ static #executorOf(ctx, pos) {
280
+ const found = ctx.EXECUTOR();
281
+ const list = Array.isArray(found) ? found : found === null || found === undefined ? [] : [found];
282
+ if (list.length > 1) {
283
+ throw new PlurnkParseError(pos.line, pos.column, "visitor", "`### EXEC0` accepts one `[executor]`");
284
+ }
285
+ return list[0]?.getText().slice(1, -1) ?? null;
286
+ }
306
287
  static #buildBare(ctx) {
307
288
  const position = AstBuilder.#positionOf(ctx);
308
- const signal = AstBuilder.#tagsFromSignal(ctx.tagSignal());
309
- AstBuilder.#assertAppliedTags(signal, position);
310
289
  return {
311
290
  op: "BARE",
312
291
  delimiter: AstBuilder.#splitDelimiter(ctx.OPEN_BARE().getText(), "BARE"),
313
292
  annotation: AstBuilder.#annotationOf(ctx),
314
- signal,
315
293
  target: null,
316
294
  metadata: null,
317
295
  lineMarker: null,
@@ -321,9 +299,8 @@ export default class AstBuilder {
321
299
  }
322
300
  static #buildPlan(ctx) {
323
301
  const position = AstBuilder.#positionOf(ctx);
324
- const slots = AstBuilder.#extractTagSlots(ctx.tagOpModifiers(), position);
302
+ const slots = AstBuilder.#extractSlots(ctx.slotModifiers(), position);
325
303
  const rejected = [
326
- slots.signal !== null ? "[signal]" : null,
327
304
  slots.target !== null ? "(path)" : null,
328
305
  slots.metadata !== null ? "{metadata}" : null,
329
306
  slots.lineMarker !== null ? "<scope>" : null,
@@ -335,7 +312,6 @@ export default class AstBuilder {
335
312
  op: "PLAN",
336
313
  delimiter: AstBuilder.#splitDelimiter(ctx.OPEN_PLAN().getText(), "PLAN"),
337
314
  annotation: AstBuilder.#annotationOf(ctx),
338
- signal: null,
339
315
  target: null,
340
316
  metadata: null,
341
317
  lineMarker: null,
@@ -352,20 +328,21 @@ export default class AstBuilder {
352
328
  }
353
329
  static #buildKill(ctx) {
354
330
  const position = AstBuilder.#positionOf(ctx);
355
- const slots = AstBuilder.#extractIntSlots(ctx, position);
331
+ // {§kill-scope} the scope names lines of a log body or of an entry; null kills the whole target.
332
+ const slots = AstBuilder.#extractTextSlots(ctx.slotModifiers(), position);
333
+ const raw = AstBuilder.#bodyTextOf(ctx);
356
334
  return {
357
335
  op: "KILL",
358
336
  delimiter: AstBuilder.#splitDelimiter(ctx.OPEN_KILL().getText(), "KILL"),
359
337
  annotation: AstBuilder.#annotationOf(ctx),
360
338
  ...slots,
361
- lineMarker: null,
362
- body: AstBuilder.#bodyTextOf(ctx),
339
+ body: raw !== null ? AstBuilder.#parseMatcherBody(raw, position) : null,
363
340
  position,
364
341
  };
365
342
  }
366
343
  static #buildWork(ctx) {
367
344
  const position = AstBuilder.#positionOf(ctx);
368
- const slots = AstBuilder.#extractBranchSlots(ctx.branchModifiers(), position);
345
+ const slots = AstBuilder.#extractBranchSlots(ctx.targetWithMetadata(), position);
369
346
  return {
370
347
  op: "WORK",
371
348
  delimiter: AstBuilder.#splitDelimiter(ctx.OPEN_WORK().getText(), "WORK"),
@@ -378,7 +355,7 @@ export default class AstBuilder {
378
355
  }
379
356
  static #buildFork(ctx) {
380
357
  const position = AstBuilder.#positionOf(ctx);
381
- const slots = AstBuilder.#extractBranchSlots(ctx.branchModifiers(), position);
358
+ const slots = AstBuilder.#extractBranchSlots(ctx.targetWithMetadata(), position);
382
359
  return {
383
360
  op: "FORK",
384
361
  delimiter: AstBuilder.#splitDelimiter(ctx.OPEN_FORK().getText(), "FORK"),
@@ -390,49 +367,25 @@ export default class AstBuilder {
390
367
  };
391
368
  }
392
369
  static #extractBranchSlots(ctx, pos) {
393
- const signal = AstBuilder.#findFirst(ctx, BranchSignalContext)?.TAG()?.getText() ?? null;
394
370
  return {
395
- signal,
396
371
  target: AstBuilder.#targetFromCtx(AstBuilder.#findFirst(ctx, TargetContext), pos),
397
372
  metadata: AstBuilder.#metadataFromCtx(ctx),
398
373
  };
399
374
  }
400
- static #extractTagSlots(modCtx, pos) {
375
+ static #extractSlots(modCtx, pos) {
401
376
  return {
402
- signal: AstBuilder.#tagsFromSignal(AstBuilder.#findFirst(modCtx, TagSignalContext)),
403
377
  target: AstBuilder.#targetFromCtx(AstBuilder.#findFirst(modCtx, TargetContext), pos),
404
378
  metadata: AstBuilder.#metadataFromCtx(modCtx),
405
379
  lineMarker: AstBuilder.#lineMarkerFromCtx(AstBuilder.#findFirst(modCtx, LineMarkerContext)),
406
380
  };
407
381
  }
408
- static #extractTextTagSlots(modCtx, pos) {
409
- return {
410
- signal: AstBuilder.#tagsFromSignal(AstBuilder.#findFirst(modCtx, TagSignalContext)),
411
- target: AstBuilder.#targetFromCtx(AstBuilder.#findFirst(modCtx, TargetContext), pos),
412
- metadata: AstBuilder.#metadataFromCtx(modCtx),
413
- lineMarker: AstBuilder.#textLineMarkerFromCtx(AstBuilder.#findFirst(modCtx, LineMarkerContext)),
414
- };
415
- }
416
- static #extractCurationSlots(modCtx, pos) {
382
+ static #extractTextSlots(modCtx, pos) {
417
383
  return {
418
- signal: AstBuilder.#tagsFromSignal(AstBuilder.#findFirst(modCtx, TagSignalContext)),
419
384
  target: AstBuilder.#targetFromCtx(AstBuilder.#findFirst(modCtx, TargetContext), pos),
420
385
  metadata: AstBuilder.#metadataFromCtx(modCtx),
421
386
  lineMarker: AstBuilder.#textLineMarkerFromCtx(AstBuilder.#findFirst(modCtx, LineMarkerContext)),
422
387
  };
423
388
  }
424
- // A SEND/KILL signal is one signed-integer literal, tokenized as INT (mid-comms SEND, KILL)
425
- // or DISPOSITION (the terminal SEND — the parser tokenizes {102,200,202,300,499} distinctly
426
- // so a disposition-coded SEND is structurally terminal). `ctx` is the whole SEND/KILL
427
- // statement; the only INT/DISPOSITION token is the signal, the only target the recipient.
428
- static #extractIntSlots(ctx, pos) {
429
- const sig = AstBuilder.#findToken(ctx, plurnkLexer.INT) ?? AstBuilder.#findToken(ctx, plurnkLexer.DISPOSITION);
430
- return {
431
- signal: sig !== null ? Number.parseInt(sig, 10) : null,
432
- target: AstBuilder.#targetFromCtx(AstBuilder.#findFirst(ctx, TargetContext), pos),
433
- metadata: AstBuilder.#metadataFromCtx(ctx),
434
- };
435
- }
436
389
  // Depth-first search for the first terminal of `tokenType`; returns its text or null.
437
390
  // Lets the SEND/KILL signal read work regardless of which signal rule wrapped it.
438
391
  static #findToken(root, tokenType) {
@@ -450,21 +403,16 @@ export default class AstBuilder {
450
403
  return null;
451
404
  }
452
405
  static #extractExecSlots(modCtx, pos) {
453
- // {§exec-tag-signal} — every slot at most once; the grammar admits any order.
406
+ // {§exec-executor-slot} — every slot at most once; the grammar admits any order.
454
407
  const once = (type, slot) => {
455
408
  const found = AstBuilder.#findAll(modCtx, type);
456
409
  if (found.length > 1) {
457
- throw new PlurnkParseError(pos.line, pos.column, "visitor", `\`## EXEC0\` accepts ${slot} at most once`);
410
+ throw new PlurnkParseError(pos.line, pos.column, "visitor", `\`### EXEC0\` accepts ${slot} at most once`);
458
411
  }
459
412
  return found[0] ?? null;
460
413
  };
461
- const identNode = once(IdentSignalContext, "one `[runtime]`")?.IDENT() ?? null;
462
- const tags = AstBuilder.#tagsFromSignal(once(TagSignalContext, "one `[+tag]` signal"));
463
- AstBuilder.#assertAppliedTags(tags, pos);
464
414
  return {
465
- signal: identNode !== null ? identNode.getText() : null,
466
- tags,
467
- target: AstBuilder.#targetFromCtx(once(TargetContext, "one `(target)`"), pos),
415
+ target: AstBuilder.#targetFromCtx(once(TargetContext, "one `(program)` path"), pos),
468
416
  metadata: AstBuilder.#metadataFromCtx(modCtx),
469
417
  lineMarker: AstBuilder.#lineMarkerFromCtx(once(LineMarkerContext, "one `<scope>`")),
470
418
  };
@@ -493,32 +441,6 @@ export default class AstBuilder {
493
441
  }
494
442
  return null;
495
443
  }
496
- static #tagsFromSignal(ctx) {
497
- if (ctx === null)
498
- return null;
499
- const tags = ctx.TAG();
500
- return Array.isArray(tags) ? tags.map((t) => t.getText()) : [];
501
- }
502
- static #assertAppliedTags(signal, position) {
503
- try {
504
- TagSignal.applied(signal);
505
- }
506
- catch (cause) {
507
- if (!(cause instanceof InvalidTagSignalError))
508
- throw cause;
509
- throw new PlurnkParseError(position.line, position.column, "visitor", cause.message);
510
- }
511
- }
512
- static #curationTags(signal, position) {
513
- try {
514
- return TagSignal.curation(signal);
515
- }
516
- catch (cause) {
517
- if (!(cause instanceof InvalidTagSignalError))
518
- throw cause;
519
- throw new PlurnkParseError(position.line, position.column, "visitor", cause.message);
520
- }
521
- }
522
444
  static #targetFromCtx(ctx, pos) {
523
445
  if (ctx === null)
524
446
  return null;
@@ -574,7 +496,7 @@ export default class AstBuilder {
574
496
  return AstBuilder.#bodyTextOf(ctx) ?? "";
575
497
  }
576
498
  static #splitDelimiter(headingText, op) {
577
- const marker = op === "PLAN" ? "# " : "## ";
499
+ const marker = op === "PLAN" ? "## " : "### ";
578
500
  return headingText.slice(marker.length + op.length);
579
501
  }
580
502
  static #isDigit(c) {
@@ -715,7 +637,7 @@ export default class AstBuilder {
715
637
  if (regex.ok)
716
638
  return { dialect: "regex", raw, pattern: regex.pattern, flags: regex.flags };
717
639
  if (regex.reason === "invalid" && /^[\t ]/u.test(regex.flags)) {
718
- throw new PlurnkParseError(pos.line, pos.column, "visitor", "Regex matcher has trailing text after its closing `/`; operation modifiers precede the line ending, and the matcher occupies the next line.");
640
+ throw new PlurnkParseError(pos.line, pos.column, "visitor", "Regex matcher has trailing text after its closing `/`; operation modifiers precede the line ending, and the matcher occupies the next line: `### FIND0 (path) <scope>` above, `/pattern/` below.");
719
641
  }
720
642
  const slashRecovery = regex.reason === "invalid"
721
643
  && regex.detail.includes("Invalid flags supplied")
@@ -1 +1 @@
1
- {"version":3,"file":"AstBuilder.js","sourceRoot":"","sources":["../../src/AstBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AstBuilder.js","sourceRoot":"","sources":["../../src/AstBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { DefaultErrorStrategy, type Parser, type RecognitionException } from "antlr4ng";
2
2
  import { plurnkLexer } from "./generated/plurnkLexer.ts";
3
- export declare const COMBINED_ANCHOR_LINE_DIAGNOSTIC = "a scope position accepts one line coordinate; use the `@hash` anchor without its displayed line number";
4
3
  export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
5
4
  #private;
6
5
  static translateLexerMessage(lexer: plurnkLexer, originalMsg: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"PlurnkErrorStrategy.d.ts","sourceRoot":"","sources":["../../src/PlurnkErrorStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EAIpB,KAAK,MAAM,EACX,KAAK,oBAAoB,EAC5B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,eAAO,MAAM,+BAA+B,2GACgE,CAAC;AAE7G,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,oBAAoB;;IAkDjE,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAwB5E;IA8He,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,oBAAoB,GAAG,IAAI,CAoB1E;IAEe,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,oBAAoB,GAAG,IAAI,CA+B7E;IAEe,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAiB3D;IAEe,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAkC5D;CACJ"}
1
+ {"version":3,"file":"PlurnkErrorStrategy.d.ts","sourceRoot":"","sources":["../../src/PlurnkErrorStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EAIpB,KAAK,MAAM,EACX,KAAK,oBAAoB,EAC5B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAKzD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,oBAAoB;;IAwCjE,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CA8B5E;IA0Ie,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,oBAAoB,GAAG,IAAI,CAoB1E;IAEe,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAoC7E;IAEe,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAiB3D;IAEe,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAuC5D;CACJ"}