aontu 0.51.0 → 0.52.1

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 (182) hide show
  1. package/bin/aontu-lsp.js +6 -0
  2. package/bin/aontu.js +7 -0
  3. package/dist/aontu.d.ts +1 -1
  4. package/dist/aontu.js +53 -7
  5. package/dist/aontu.js.map +1 -1
  6. package/dist/cli.d.ts +0 -1
  7. package/dist/cli.js +10 -46
  8. package/dist/cli.js.map +1 -1
  9. package/dist/ctx.d.ts +3 -0
  10. package/dist/ctx.js +2 -1
  11. package/dist/ctx.js.map +1 -1
  12. package/dist/err.js +13 -3
  13. package/dist/err.js.map +1 -1
  14. package/dist/exactjson.js +1 -1
  15. package/dist/exactjson.js.map +1 -1
  16. package/dist/hints.d.ts +3 -1
  17. package/dist/hints.js +181 -1
  18. package/dist/hints.js.map +1 -1
  19. package/dist/keyorder.js +1 -1
  20. package/dist/keyorder.js.map +1 -1
  21. package/dist/lang.js +299 -42
  22. package/dist/lang.js.map +1 -1
  23. package/dist/lsp-server.d.ts +2 -2
  24. package/dist/lsp-server.js +10 -10
  25. package/dist/lsp-server.js.map +1 -1
  26. package/dist/lsp.js +28 -19
  27. package/dist/lsp.js.map +1 -1
  28. package/dist/site.js +1 -1
  29. package/dist/site.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/dist/unify.d.ts +2 -1
  32. package/dist/unify.js +103 -4
  33. package/dist/unify.js.map +1 -1
  34. package/dist/utility.js +3 -8
  35. package/dist/utility.js.map +1 -1
  36. package/dist/val/BagVal.js +1 -1
  37. package/dist/val/BagVal.js.map +1 -1
  38. package/dist/val/BigDecimalVal.js +2 -2
  39. package/dist/val/BigDecimalVal.js.map +1 -1
  40. package/dist/val/BigIntegerVal.js +2 -2
  41. package/dist/val/BigIntegerVal.js.map +1 -1
  42. package/dist/val/BooleanVal.js +1 -1
  43. package/dist/val/BooleanVal.js.map +1 -1
  44. package/dist/val/CloseFuncVal.js +1 -1
  45. package/dist/val/CloseFuncVal.js.map +1 -1
  46. package/dist/val/ConjunctVal.js +1 -1
  47. package/dist/val/ConjunctVal.js.map +1 -1
  48. package/dist/val/ConstraintVal.d.ts +97 -0
  49. package/dist/val/ConstraintVal.js +1348 -0
  50. package/dist/val/ConstraintVal.js.map +1 -0
  51. package/dist/val/CopyFuncVal.js +1 -1
  52. package/dist/val/CopyFuncVal.js.map +1 -1
  53. package/dist/val/Decimal.js +1 -1
  54. package/dist/val/Decimal.js.map +1 -1
  55. package/dist/val/DisjunctVal.js +1 -29
  56. package/dist/val/DisjunctVal.js.map +1 -1
  57. package/dist/val/ExpectVal.d.ts +1 -0
  58. package/dist/val/ExpectVal.js +15 -1
  59. package/dist/val/ExpectVal.js.map +1 -1
  60. package/dist/val/FeatureVal.js +1 -1
  61. package/dist/val/FeatureVal.js.map +1 -1
  62. package/dist/val/FuncBaseVal.js +8 -2
  63. package/dist/val/FuncBaseVal.js.map +1 -1
  64. package/dist/val/HideFuncVal.js +1 -1
  65. package/dist/val/HideFuncVal.js.map +1 -1
  66. package/dist/val/IntegerVal.js +2 -2
  67. package/dist/val/IntegerVal.js.map +1 -1
  68. package/dist/val/JunctionVal.js +1 -1
  69. package/dist/val/JunctionVal.js.map +1 -1
  70. package/dist/val/KeyFuncVal.js +1 -1
  71. package/dist/val/KeyFuncVal.js.map +1 -1
  72. package/dist/val/ListVal.js +24 -11
  73. package/dist/val/ListVal.js.map +1 -1
  74. package/dist/val/LowerFuncVal.js +1 -1
  75. package/dist/val/LowerFuncVal.js.map +1 -1
  76. package/dist/val/MapVal.js +20 -9
  77. package/dist/val/MapVal.js.map +1 -1
  78. package/dist/val/MoveFuncVal.js +1 -1
  79. package/dist/val/MoveFuncVal.js.map +1 -1
  80. package/dist/val/NilVal.d.ts +1 -0
  81. package/dist/val/NilVal.js +10 -3
  82. package/dist/val/NilVal.js.map +1 -1
  83. package/dist/val/NullVal.js +1 -1
  84. package/dist/val/NullVal.js.map +1 -1
  85. package/dist/val/NumberVal.js +2 -2
  86. package/dist/val/NumberVal.js.map +1 -1
  87. package/dist/val/OpBaseVal.js +15 -9
  88. package/dist/val/OpBaseVal.js.map +1 -1
  89. package/dist/val/OpenFuncVal.js +1 -1
  90. package/dist/val/OpenFuncVal.js.map +1 -1
  91. package/dist/val/PathFuncVal.js +1 -1
  92. package/dist/val/PathFuncVal.js.map +1 -1
  93. package/dist/val/PlusOpVal.js +1 -1
  94. package/dist/val/PlusOpVal.js.map +1 -1
  95. package/dist/val/PrefFuncVal.js +1 -1
  96. package/dist/val/PrefFuncVal.js.map +1 -1
  97. package/dist/val/PrefVal.js +4 -3
  98. package/dist/val/PrefVal.js.map +1 -1
  99. package/dist/val/RefVal.d.ts +2 -0
  100. package/dist/val/RefVal.js +124 -9
  101. package/dist/val/RefVal.js.map +1 -1
  102. package/dist/val/ScalarKindVal.js +8 -2
  103. package/dist/val/ScalarKindVal.js.map +1 -1
  104. package/dist/val/ScalarVal.js +2 -2
  105. package/dist/val/ScalarVal.js.map +1 -1
  106. package/dist/val/StringVal.js +1 -1
  107. package/dist/val/StringVal.js.map +1 -1
  108. package/dist/val/SuperFuncVal.js +1 -1
  109. package/dist/val/SuperFuncVal.js.map +1 -1
  110. package/dist/val/TopVal.js +1 -1
  111. package/dist/val/TopVal.js.map +1 -1
  112. package/dist/val/TypeFuncVal.js +1 -1
  113. package/dist/val/TypeFuncVal.js.map +1 -1
  114. package/dist/val/UpperFuncVal.js +1 -1
  115. package/dist/val/UpperFuncVal.js.map +1 -1
  116. package/dist/val/Val.d.ts +2 -2
  117. package/dist/val/Val.js +11 -24
  118. package/dist/val/Val.js.map +1 -1
  119. package/dist/val/VarVal.js +1 -1
  120. package/dist/val/VarVal.js.map +1 -1
  121. package/dist/val/numcmp.d.ts +14 -0
  122. package/dist/val/numcmp.js +134 -0
  123. package/dist/val/numcmp.js.map +1 -0
  124. package/dist/val/numkind.js +1 -1
  125. package/dist/val/numkind.js.map +1 -1
  126. package/package.json +15 -13
  127. package/src/aontu.ts +61 -8
  128. package/src/cli.ts +12 -13
  129. package/src/ctx.ts +10 -1
  130. package/src/err.ts +14 -4
  131. package/src/exactjson.ts +1 -1
  132. package/src/hints.ts +202 -0
  133. package/src/keyorder.ts +1 -1
  134. package/src/lang.ts +333 -43
  135. package/src/lsp-server.ts +17 -15
  136. package/src/lsp.ts +28 -12
  137. package/src/site.ts +1 -1
  138. package/src/type.ts +1 -1
  139. package/src/unify.ts +111 -3
  140. package/src/utility.ts +3 -9
  141. package/src/val/BagVal.ts +1 -1
  142. package/src/val/BigDecimalVal.ts +2 -2
  143. package/src/val/BigIntegerVal.ts +2 -2
  144. package/src/val/BooleanVal.ts +1 -1
  145. package/src/val/CloseFuncVal.ts +1 -1
  146. package/src/val/ConjunctVal.ts +1 -1
  147. package/src/val/ConstraintVal.ts +1645 -0
  148. package/src/val/CopyFuncVal.ts +1 -1
  149. package/src/val/Decimal.ts +1 -1
  150. package/src/val/DisjunctVal.ts +1 -37
  151. package/src/val/ExpectVal.ts +16 -1
  152. package/src/val/FeatureVal.ts +1 -1
  153. package/src/val/FuncBaseVal.ts +9 -3
  154. package/src/val/HideFuncVal.ts +1 -1
  155. package/src/val/IntegerVal.ts +2 -2
  156. package/src/val/JunctionVal.ts +1 -1
  157. package/src/val/KeyFuncVal.ts +1 -1
  158. package/src/val/ListVal.ts +21 -9
  159. package/src/val/LowerFuncVal.ts +1 -1
  160. package/src/val/MapVal.ts +18 -5
  161. package/src/val/MoveFuncVal.ts +1 -1
  162. package/src/val/NilVal.ts +13 -3
  163. package/src/val/NullVal.ts +1 -1
  164. package/src/val/NumberVal.ts +2 -2
  165. package/src/val/OpBaseVal.ts +16 -12
  166. package/src/val/OpenFuncVal.ts +1 -1
  167. package/src/val/PathFuncVal.ts +1 -1
  168. package/src/val/PlusOpVal.ts +1 -1
  169. package/src/val/PrefFuncVal.ts +1 -1
  170. package/src/val/PrefVal.ts +4 -3
  171. package/src/val/RefVal.ts +132 -9
  172. package/src/val/ScalarKindVal.ts +8 -2
  173. package/src/val/ScalarVal.ts +2 -2
  174. package/src/val/StringVal.ts +1 -1
  175. package/src/val/SuperFuncVal.ts +1 -1
  176. package/src/val/TopVal.ts +1 -1
  177. package/src/val/TypeFuncVal.ts +1 -1
  178. package/src/val/UpperFuncVal.ts +1 -1
  179. package/src/val/Val.ts +21 -9
  180. package/src/val/VarVal.ts +1 -1
  181. package/src/val/numcmp.ts +189 -0
  182. package/src/val/numkind.ts +1 -1
package/dist/lang.js CHANGED
@@ -47,6 +47,7 @@ const PrefFuncVal_1 = require("./val/PrefFuncVal");
47
47
  const CloseFuncVal_1 = require("./val/CloseFuncVal");
48
48
  const OpenFuncVal_1 = require("./val/OpenFuncVal");
49
49
  const SuperFuncVal_1 = require("./val/SuperFuncVal");
50
+ const ConstraintVal_1 = require("./val/ConstraintVal");
50
51
  const asPlugin = (p) => p;
51
52
  // Build the Val for a matched `0d` literal (see the `0d` value matcher
52
53
  // below). Leaf by source: digits only is a biginteger, a `.` or an
@@ -61,7 +62,11 @@ const asPlugin = (p) => p;
61
62
  // not part of the literal, so the text has to be rebuilt here to keep
62
63
  // `src` meaning "how this value is spelled" (see bigVal).
63
64
  function negsrc(src) {
64
- return '' === src ? '' : src.startsWith('-') ? src.slice(1) : '-' + src;
65
+ // src is never empty here: it is a BIG_LITERAL_RE match (at minimum
66
+ // the two chars `0d`) or an already-negated spelling. Computed exact
67
+ // values do carry src '', but they are built at unify time, long
68
+ // after this parse-time opmap.
69
+ return src.startsWith('-') ? src.slice(1) : '-' + src;
65
70
  }
66
71
  function bigVal(res) {
67
72
  const lit = (0, Decimal_1.readBigLiteral)(res);
@@ -85,6 +90,12 @@ let AontuJsonic = function AontuLang(jsonic) {
85
90
  // docs/reference-language.md; go/lang.go sets the same). Clear the
86
91
  // underlying jsonic comment markers entirely, then define # directly,
87
92
  // so the comment set is hash-only regardless of those defaults.
93
+ let dotRef = (r, ctx, terms, prefix) => {
94
+ terms = dropUnfilled(terms);
95
+ if (0 === terms.length)
96
+ return incompleteNil(r, ctx);
97
+ return addsite(new RefVal_1.RefVal({ peg: terms, prefix }), r, ctx);
98
+ };
88
99
  jsonic.options({ comment: { def: null } });
89
100
  jsonic.options({
90
101
  comment: {
@@ -190,7 +201,8 @@ let AontuJsonic = function AontuLang(jsonic) {
190
201
  v.site.row = null == r.o0 ? -1 : r.o0.rI;
191
202
  v.site.col = null == r.o0 ? -1 : r.o0.cI;
192
203
  v.site.url = ctx.meta.multisource ? ctx.meta.multisource.path : '';
193
- v.path = r.k ? [...(r.k.path || [])] : [];
204
+ // A keyed rule always carries a path array; a keyless one has none.
205
+ v.path = r.k ? [...r.k.path] : [];
194
206
  return v;
195
207
  };
196
208
  jsonic.options({
@@ -295,6 +307,29 @@ help isolate the syntax error.`,
295
307
  close: CloseFuncVal_1.CloseFuncVal,
296
308
  open: OpenFuncVal_1.OpenFuncVal,
297
309
  super: SuperFuncVal_1.SuperFuncVal,
310
+ // The constraint algebra's Band A atoms (G1 phase 1;
311
+ // docs/reference-language.md, "The constraint algebra"): bounds
312
+ // and exclusion enter through the function registry — the
313
+ // established extension point — with zero grammar change.
314
+ min: ConstraintVal_1.MinConstraintVal,
315
+ max: ConstraintVal_1.MaxConstraintVal,
316
+ above: ConstraintVal_1.AboveConstraintVal,
317
+ below: ConstraintVal_1.BelowConstraintVal,
318
+ neq: ConstraintVal_1.NeqConstraintVal,
319
+ // G1 phase 2: pattern membership, over the portable subset both
320
+ // host regex engines agree on (nonPortableRe in ConstraintVal.ts).
321
+ re: ConstraintVal_1.ReConstraintVal,
322
+ // G1 phase 3: the sizing atoms. Both are properties of a CONTAINER
323
+ // (or, for length, of a string) rather than comparisons against a
324
+ // value, which is why `unique` is the one built-in taking no
325
+ // argument at all.
326
+ length: ConstraintVal_1.LengthConstraintVal,
327
+ unique: ConstraintVal_1.UniqueConstraintVal,
328
+ // G1 phase 5: Band B. `must` is the one atom the algebra does not
329
+ // reason about -- it is checked against the finished value and
330
+ // reported with the author's own message, never simplified and
331
+ // never consulted for emptiness or subsumption.
332
+ must: ConstraintVal_1.MustConstraintVal,
298
333
  };
299
334
  // A dangling operator (`a:1|`, `a:$`, `a:*` at end of input) leaves
300
335
  // null/undefined unfilled terms. Junction ops drop them (so `a:1&`
@@ -306,18 +341,11 @@ help isolate the syntax error.`,
306
341
  let opmap = {
307
342
  'conjunct-infix': (r, ctx, _op, terms) => addsite(new ConjunctVal_1.ConjunctVal({ peg: dropUnfilled(terms) }), r, ctx),
308
343
  'disjunct-infix': (r, ctx, _op, terms) => addsite(new DisjunctVal_1.DisjunctVal({ peg: dropUnfilled(terms) }), r, ctx),
309
- 'dot-prefix': (r, ctx, _op, terms) => {
310
- terms = dropUnfilled(terms);
311
- if (0 === terms.length)
312
- return incompleteNil(r, ctx);
313
- return addsite(new RefVal_1.RefVal({ peg: terms, prefix: true }), r, ctx);
314
- },
315
- 'dot-infix': (r, ctx, _op, terms) => {
316
- terms = dropUnfilled(terms);
317
- if (0 === terms.length)
318
- return incompleteNil(r, ctx);
319
- return addsite(new RefVal_1.RefVal({ peg: terms }), r, ctx);
320
- },
344
+ // `.a` (prefix) and `a.b` (infix) build the same reference; only the
345
+ // prefix flag differs, and both need the same missing-operand guard,
346
+ // so they share one builder.
347
+ 'dot-prefix': (r, ctx, _op, terms) => dotRef(r, ctx, terms, true),
348
+ 'dot-infix': (r, ctx, _op, terms) => dotRef(r, ctx, terms, false),
321
349
  'star-prefix': (r, ctx, _op, terms) => {
322
350
  if (null == terms[0])
323
351
  return incompleteNil(r, ctx);
@@ -385,7 +413,44 @@ help isolate the syntax error.`,
385
413
  const fname = terms[0];
386
414
  if ('' !== fname) {
387
415
  const funcval = funcMap[fname];
388
- const args = terms.slice(1);
416
+ // Arity is known for every built-in, so a surplus or missing
417
+ // argument is a mistake in the SOURCE, refused here where the
418
+ // author can see it (issue #51). It was previously left to each
419
+ // function to notice or not: the two ports disagreed on `upper()`
420
+ // and on `close()`, and `min(1,2)` noticed nothing at all -- it
421
+ // built a constraint that merely refused to generate later, with
422
+ // a message about the map rather than about the call.
423
+ //
424
+ // Counted BEFORE the rawToVal pass below, which is what makes the
425
+ // count possible: a comma group arrives as a RAW array and a
426
+ // written list literal as a ListVal, and rawToVal turns the first
427
+ // into the second.
428
+ const arity = funcArity[fname];
429
+ if (null != arity) {
430
+ const got = writtenArgCount(terms.slice(1));
431
+ if (got < arity[0] || (-1 !== arity[1] && got > arity[1])) {
432
+ // details is assigned AFTER construction: the NilVal
433
+ // constructor does not read it from its spec (only
434
+ // NilVal.make does), so passing it in the spec left the
435
+ // hint's {func}/{want}/{got} placeholders un-injected and
436
+ // printed literally.
437
+ const nil = new NilVal_1.NilVal({ why: 'func_arity' });
438
+ nil.details = {
439
+ func: fname,
440
+ want: arityText(arity[0], arity[1]),
441
+ got: '' + got,
442
+ };
443
+ return addsite(nil, r, ctx);
444
+ }
445
+ }
446
+ // rawToVal EVERY argument. A degenerate expression can hand this
447
+ // handler raw parse values rather than Vals -- `pref(1-3)` arrives
448
+ // as the plain numbers 1 and -3 -- and a func's peg is unified
449
+ // element by element, so a raw one reached `arg.unify(...)` and
450
+ // threw. The unifier's catch-all turned that into an `internal`
451
+ // verdict: a crash reported as a unification result (issue #49).
452
+ // The Go port has always converted here (asVal in evaluate).
453
+ const args = terms.slice(1).map(rawToVal);
389
454
  val = null == funcval ?
390
455
  new NilVal_1.NilVal({ why: 'unknown_function' }) :
391
456
  new funcval({
@@ -395,7 +460,11 @@ help isolate the syntax error.`,
395
460
  // `a:()` — grouping parens with nothing inside.
396
461
  if (null == val)
397
462
  return incompleteNil(r, ctx);
398
- const out = addsite(val, r, ctx);
463
+ // ... and the same for a GROUPING paren, whose value is passed
464
+ // straight through: `(([]%))` yielded a raw array, and addsite went
465
+ // on to write a site onto it, throwing a TypeError that escaped the
466
+ // unifier entirely ("Cannot set properties of undefined").
467
+ const out = addsite(rawToVal(val), r, ctx);
399
468
  return out;
400
469
  },
401
470
  };
@@ -607,12 +676,56 @@ help isolate the syntax error.`,
607
676
  const optionalKeys = r.u.aontu_optional_keys ?? [];
608
677
  let mo = r.node;
609
678
  // An elided value (`a:`) leaves a raw null/undefined that never
610
- // passed through the val rule; make it an explicit NullVal.
679
+ // passed through the val rule. It is REFUSED rather than made a
680
+ // null (issue #48): a key with nothing after the colon is a
681
+ // mistake in the source, and turning it into a value made that
682
+ // mistake indistinguishable from a deliberate `a:null`.
683
+ //
684
+ // A colon chain (`a: b:1`) is not an elision -- the value is the
685
+ // nested pair, which the val rule does produce -- and neither is
686
+ // a trailing comma.
611
687
  for (const k in mo) {
612
688
  if (null == mo[k] && '___merge' !== k) {
613
- mo[k] = addsite(new NullVal_1.NullVal({ peg: null }), r, ctx);
689
+ // Pathed at the KEY, not at the enclosing map. addsite takes
690
+ // the rule's path, which here is the map's, so the error
691
+ // would otherwise name the container and leave the reader to
692
+ // work out which key was elided.
693
+ const en = addsite(new NilVal_1.NilVal({ why: 'elided_value' }), r, ctx);
694
+ en.path = [...(r.k?.path ?? []), k];
695
+ mo[k] = en;
696
+ // An elided value under an OPTIONAL key stops being optional.
697
+ // Optionality is about a value that may be absent at
698
+ // GENERATE; it does not excuse a source that stops after the
699
+ // colon. Left optional, the refusal was dropped with the key
700
+ // and `a?:` generated `{}` -- a silent nothing, which is
701
+ // worse than either the old null or the error.
702
+ const oi = optionalKeys.indexOf(k);
703
+ if (-1 !== oi) {
704
+ optionalKeys.splice(oi, 1);
705
+ }
706
+ }
707
+ }
708
+ // ... and the OPTIONAL spelling, `a?:`, which does not leave a
709
+ // null behind to be found: its value never reaches the node at
710
+ // all, so the key is simply absent and the map generated without
711
+ // it. A key recorded as optional but missing from the node was
712
+ // written with nothing after its colon.
713
+ for (const k of optionalKeys) {
714
+ if (!(k in mo)) {
715
+ mo[k] = addsite(new NilVal_1.NilVal({ why: 'elided_value' }), r, ctx);
614
716
  }
615
717
  }
718
+ // An elided SPREAD (`x:$obj&:` with nothing after the colon)
719
+ // refuses the whole map, not a key (issue #48). A spread is not a
720
+ // child, so a refusal stored in its place has nothing to attach
721
+ // to: `x:&:` has no children for the spread to apply to, and the
722
+ // map would generate as `{}` with the mistake silently gone.
723
+ // Refusing the container is what makes it visible at all.
724
+ const sp = mo[type_1.SPREAD];
725
+ if (sp && sp.v.some((sv) => null == sv)) {
726
+ r.node = addsite(new NilVal_1.NilVal({ why: 'elided_value' }), r, ctx);
727
+ return undefined;
728
+ }
616
729
  // Handle defered conjuncts, e.g. `{x:1 @"foo"}`
617
730
  if (mo.___merge) {
618
731
  let mop = { ...mo };
@@ -638,23 +751,21 @@ help isolate the syntax error.`,
638
751
  .bc((r, ctx) => {
639
752
  const optionalKeys = r.u.aontu_optional_keys ?? [];
640
753
  let ao = r.node;
641
- // An elided element (`[,]`) is a raw null that never passed
642
- // through the val rule; make it an explicit NullVal.
754
+ // An elided ELEMENT (`[,]`, `[1,,2]`) is refused for the same
755
+ // reason as an elided map value (issue #48). A trailing comma
756
+ // (`[1,]`) is not an elision and never reaches here.
643
757
  for (let i = 0; i < ao.length; i++) {
644
758
  if (null == ao[i]) {
645
- ao[i] = addsite(new NullVal_1.NullVal({ peg: null }), r, ctx);
759
+ // Pathed at the INDEX, for the same reason as the map case.
760
+ const en = addsite(new NilVal_1.NilVal({ why: 'elided_value' }), r, ctx);
761
+ en.path = [...(r.k?.path ?? []), '' + i];
762
+ ao[i] = en;
646
763
  }
647
764
  }
648
- if (ao.___merge) {
649
- let aop = [...ao];
650
- delete aop.___merge;
651
- // TODO: needs addpath?
652
- let aopv = new ListVal_1.ListVal({ peg: aop });
653
- aopv.optionalKeys = optionalKeys;
654
- r.node =
655
- addsite(new ConjunctVal_1.ConjunctVal({ peg: [aopv, ...ao.___merge] }), r, ctx);
656
- }
657
- else {
765
+ // No ___merge arm here: the deferred map.merge that writes it
766
+ // only ever fires for a `pair` rule, whose parent is always a
767
+ // `map` rule with a plain-object node — never a list.
768
+ {
658
769
  r.node = addsite(new ListVal_1.ListVal({ peg: ao }), r, ctx);
659
770
  r.node.optionalKeys = optionalKeys;
660
771
  }
@@ -673,6 +784,47 @@ help isolate the syntax error.`,
673
784
  : key_token.src; // Was number, use original text
674
785
  r.u.key = key;
675
786
  };
787
+ // A pair in LIST position writes its value at `node[key]` like any
788
+ // other pair, and the enclosing list's node is an ARRAY -- so a numeric
789
+ // key lands on an index and becomes an element, and may land on an
790
+ // index a real element already holds (`[5,0:1]`). Since the pair must
791
+ // contribute nothing (issue #40), the slot is photographed before the
792
+ // value is parsed and put back afterwards. Restoring beats deleting for
793
+ // exactly the overwrite case: deleting `[5,0:1]`'s index 0 would take
794
+ // the 5 with it, where restoring gives back the list the pair was
795
+ // never part of.
796
+ //
797
+ // `length` is saved too: writing past the end grows an array, and
798
+ // `[5,1?:9]` must be [5] again and not [5, <hole>].
799
+ // Typed as a string bag deliberately: the slot may be named by a
800
+ // non-numeric key (`[x:1]`), which the array type would refuse. Both
801
+ // helpers run only from the elem rule, whose node is the enclosing
802
+ // list, so neither guards against a non-array node — a guard there
803
+ // proved unreachable and dead code is worse than none.
804
+ const asSlots = (r) => r.node;
805
+ const snapshotPairSlot = (r, key) => {
806
+ const node = asSlots(r);
807
+ r.u.aontu_pair_slot = {
808
+ key,
809
+ had: Object.prototype.hasOwnProperty.call(node, key),
810
+ was: node[key],
811
+ len: node.length,
812
+ };
813
+ };
814
+ const restorePairSlot = (r) => {
815
+ const slot = r.u.aontu_pair_slot;
816
+ if (null == slot) {
817
+ return;
818
+ }
819
+ const node = asSlots(r);
820
+ if (slot.had) {
821
+ node[slot.key] = slot.was;
822
+ }
823
+ else {
824
+ delete node[slot.key];
825
+ }
826
+ node.length = slot.len;
827
+ };
676
828
  jsonic.rule('pair', (rs) => {
677
829
  rs
678
830
  .open([
@@ -748,10 +900,30 @@ help isolate the syntax error.`,
748
900
  a: (r) => {
749
901
  pairkey(r.prev);
750
902
  r.u.key = r.prev.u.key;
751
- r.parent.u.aontu_optional_keys = (r.parent.u.aontu_optional_keys || []);
752
- r.parent.u.aontu_optional_keys.push('' + r.u.key);
903
+ snapshotPairSlot(r, '' + r.u.key);
753
904
  },
754
905
  g: 'aontu-optional-elem'
906
+ },
907
+ // A PLAIN pair in list position, `[k:v]`. It contributes no
908
+ // element either -- a key:value pair is simply not a list element,
909
+ // which is the rule the optional form above already followed, and
910
+ // the two spellings must not disagree (issue #40).
911
+ //
912
+ // It needed an alt of its own because only a NON-NUMERIC key was
913
+ // already inert: jsonic writes the pair at `node[key]`, and the
914
+ // node is an array, so `[x:1]` set a property that never showed up
915
+ // (`length` stays 0) while `[0:1]` set an INDEX and became an
916
+ // element -- `[1:2]` even filling the gap with a null. That is the
917
+ // shape of a JavaScript array, not a decision about the language,
918
+ // and it made the two ports disagree on generate as well as canon.
919
+ {
920
+ s: [OPTKEY, CL], p: 'val',
921
+ u: { spread: true, done: true, list: true, pair: true },
922
+ a: (r) => {
923
+ pairkey(r);
924
+ snapshotPairSlot(r, '' + r.u.key);
925
+ },
926
+ g: 'aontu-plain-pair-elem'
755
927
  }
756
928
  ])
757
929
  .bc((rule) => {
@@ -761,6 +933,7 @@ help isolate the syntax error.`,
761
933
  (rule.node[type_1.SPREAD] || { o: rule.o0.src, v: [] });
762
934
  rule.node[type_1.SPREAD].v.push(rule.child.node);
763
935
  }
936
+ restorePairSlot(rule);
764
937
  return undefined;
765
938
  })
766
939
  .close([{ s: [CJ, CL], r: 'elem', b: 2, g: 'spread,json,more' }]);
@@ -788,7 +961,10 @@ function makeModelResolver(options) {
788
961
  ...(options.resolver?.pkg || {})
789
962
  });
790
963
  return function ModelResolver(spec, popts, rule, ctx, jsonic) {
791
- let path = 'string' === typeof spec ? spec : spec?.peg;
964
+ // The aontu val rule's ac has already wrapped every raw string node
965
+ // as a StringVal, so spec is a Val here (or a raw object from a
966
+ // .json/.js include, whose peg is undefined -> not found).
967
+ let path = spec?.peg;
792
968
  // A bare `@` with no path (`a:@`) has nothing to resolve; report
793
969
  // not-found instead of crashing in the underlying resolvers.
794
970
  if (null == path || '' === path) {
@@ -816,11 +992,98 @@ function makeModelResolver(options) {
816
992
  return res;
817
993
  };
818
994
  }
995
+ // funcArity is the permitted WRITTEN argument count of each built-in, as
996
+ // [min, max]; a max of -1 is unbounded. Every name in funcMap has an
997
+ // entry, and the arity is a property of the language rather than of
998
+ // either port -- go/func.go carries the same table.
999
+ //
1000
+ // Nearly everything takes exactly one. The four exceptions earn their
1001
+ // place: key() names how many levels UP the path to read, defaulting to
1002
+ // the parent when omitted, neq takes a whole set of exclusions,
1003
+ // unique() is a property of the container rather than a comparison
1004
+ // against anything, so there is nothing for it to take, and must()
1005
+ // takes a check AND the author's message for when it fails.
1006
+ const funcArity = {
1007
+ upper: [1, 1], lower: [1, 1], copy: [1, 1], pref: [1, 1],
1008
+ super: [1, 1], type: [1, 1], hide: [1, 1], close: [1, 1],
1009
+ open: [1, 1], move: [1, 1], path: [1, 1],
1010
+ min: [1, 1], max: [1, 1], above: [1, 1], below: [1, 1], re: [1, 1],
1011
+ length: [1, 1],
1012
+ key: [0, 1],
1013
+ unique: [0, 0],
1014
+ neq: [1, -1],
1015
+ must: [2, 2],
1016
+ };
1017
+ // writtenArgCount counts the arguments as the AUTHOR wrote them.
1018
+ //
1019
+ // It cannot simply be terms.length: a comma group reaches the func-paren
1020
+ // handler as ONE term holding a raw array, so `upper("a","b")` and
1021
+ // `upper(["a","b"])` both arrive as a single argument. They are still
1022
+ // distinguishable, and that is what makes an arity check possible at
1023
+ // all -- the comma group is a RAW array, while a written list literal
1024
+ // has already been built into a ListVal by the list rule.
1025
+ function writtenArgCount(terms) {
1026
+ if (1 === terms.length) {
1027
+ // `terms[0]` is re-read rather than reusing a narrowed local:
1028
+ // Array.isArray narrows an `any` to `any[]`, which then has no
1029
+ // `isVal` to test.
1030
+ const t = terms[0];
1031
+ if (Array.isArray(t) && true !== terms[0].isVal) {
1032
+ return t.length;
1033
+ }
1034
+ }
1035
+ return terms.length;
1036
+ }
1037
+ // arityText renders a built-in's permitted count for the error message.
1038
+ // The fixed-arity case says "one" outright rather than counting: every
1039
+ // fixed arity in the table IS one, and a phrasing for a count no entry
1040
+ // carries would be untested prose pretending to be tested.
1041
+ function arityText(lo, hi) {
1042
+ if (-1 === hi) {
1043
+ return 'one or more arguments';
1044
+ }
1045
+ if (lo !== hi) {
1046
+ return 'no arguments or one';
1047
+ }
1048
+ if (0 === hi) {
1049
+ return 'no arguments';
1050
+ }
1051
+ if (2 === hi) {
1052
+ return 'exactly two arguments';
1053
+ }
1054
+ return 'exactly one argument';
1055
+ }
819
1056
  // rawToVal converts a raw parse node (or raw elements inside one) into
820
1057
  // the matching Val. Used for implicit top-level lists, whose nodes skip
821
1058
  // the aontu val rule conversions (mirrors asVal in go/lang.go; like
822
1059
  // there, source text is unavailable, so an integral number is an
823
1060
  // integer).
1061
+ // The targeted parse hint for CUE-trained authors and models: `>` and
1062
+ // `<` are not Aontu operators (the op-chars reservation stands), and an
1063
+ // agent that emits `number > 0` should be redirected to the bound
1064
+ // atoms, not left with a bare "unexpected character". Appended to a
1065
+ // parse error's message when the source carries an unquoted `<` or
1066
+ // `>`; the Go twin is opCharHint in go/lang.go, byte-identical text.
1067
+ function opCharHint(src) {
1068
+ let q = '';
1069
+ for (let i = 0; i < src.length; i++) {
1070
+ const c = src[i];
1071
+ if ('' !== q) {
1072
+ if (c === q && '\\' !== src[i - 1]) {
1073
+ q = '';
1074
+ }
1075
+ continue;
1076
+ }
1077
+ if ('"' === c || '\'' === c || '`' === c) {
1078
+ q = c;
1079
+ }
1080
+ else if ('<' === c || '>' === c) {
1081
+ return '\nThe > and < characters are not Aontu operators: write the ' +
1082
+ 'bound functions min(x), max(x), above(x), below(x) instead.';
1083
+ }
1084
+ }
1085
+ return '';
1086
+ }
824
1087
  function rawToVal(n) {
825
1088
  if (null == n) {
826
1089
  return new NullVal_1.NullVal({ peg: null });
@@ -846,12 +1109,6 @@ function rawToVal(n) {
846
1109
  return new BooleanVal_1.BooleanVal({ peg: n });
847
1110
  }
848
1111
  if ('object' === t) {
849
- // An expr-plugin internal (operator descriptor) leaking through a
850
- // degenerate parse (`k2.b K:1`) is not data — reject it rather
851
- // than emitting raw internals in generated output.
852
- if (undefined !== n.OP_MARK) {
853
- return new NilVal_1.NilVal({ why: 'parse_unknown' });
854
- }
855
1112
  const peg = {};
856
1113
  for (const k in n) {
857
1114
  peg[k] = rawToVal(n[k]);
@@ -922,7 +1179,7 @@ class Lang {
922
1179
  why: 'parse',
923
1180
  err: new NilVal_1.NilVal({
924
1181
  why: 'syntax',
925
- msg: e.message,
1182
+ msg: e.message + opCharHint(src),
926
1183
  err: e,
927
1184
  })
928
1185
  });
@@ -933,6 +1190,6 @@ class Lang {
933
1190
  }
934
1191
  return val;
935
1192
  }
936
- }
1193
+ } /* node:coverage ignore next 6 */
937
1194
  exports.Lang = Lang;
938
1195
  //# sourceMappingURL=lang.js.map
package/dist/lang.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lang.js","sourceRoot":"","sources":["../src/lang.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lang.js","sourceRoot":"","sources":["../src/lang.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env node
2
1
  import { LspHandler } from './lsp';
3
2
  declare class FrameCodec {
4
3
  private handler;
@@ -11,4 +10,5 @@ declare class FrameCodec {
11
10
  private drain;
12
11
  private send;
13
12
  }
14
- export { FrameCodec, };
13
+ declare function main(stdin?: NodeJS.ReadableStream, write?: (chunk: Buffer) => void, exit?: (code: number) => void): FrameCodec;
14
+ export { FrameCodec, main, };