@rcrsr/rill 0.8.6 → 0.10.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 (191) hide show
  1. package/dist/ast-nodes.d.ts +189 -49
  2. package/dist/ast-nodes.d.ts.map +1 -1
  3. package/dist/ast-unions.d.ts +1 -1
  4. package/dist/ast-unions.d.ts.map +1 -1
  5. package/dist/constants.d.ts +14 -0
  6. package/dist/constants.d.ts.map +1 -0
  7. package/dist/constants.js +30 -0
  8. package/dist/constants.js.map +1 -0
  9. package/dist/error-classes.d.ts +3 -1
  10. package/dist/error-classes.d.ts.map +1 -1
  11. package/dist/error-classes.js +11 -5
  12. package/dist/error-classes.js.map +1 -1
  13. package/dist/error-registry.d.ts.map +1 -1
  14. package/dist/error-registry.js +313 -11
  15. package/dist/error-registry.js.map +1 -1
  16. package/dist/ext/crypto/index.d.ts +2 -1
  17. package/dist/ext/crypto/index.d.ts.map +1 -1
  18. package/dist/ext/crypto/index.js +7 -0
  19. package/dist/ext/crypto/index.js.map +1 -1
  20. package/dist/ext/exec/index.d.ts +2 -1
  21. package/dist/ext/exec/index.d.ts.map +1 -1
  22. package/dist/ext/exec/index.js +6 -0
  23. package/dist/ext/exec/index.js.map +1 -1
  24. package/dist/ext/fetch/index.d.ts +2 -1
  25. package/dist/ext/fetch/index.d.ts.map +1 -1
  26. package/dist/ext/fetch/index.js +6 -0
  27. package/dist/ext/fetch/index.js.map +1 -1
  28. package/dist/ext/fs/index.d.ts +2 -1
  29. package/dist/ext/fs/index.d.ts.map +1 -1
  30. package/dist/ext/fs/index.js +3 -0
  31. package/dist/ext/fs/index.js.map +1 -1
  32. package/dist/ext/kv/index.d.ts +2 -1
  33. package/dist/ext/kv/index.d.ts.map +1 -1
  34. package/dist/ext/kv/index.js +5 -1
  35. package/dist/ext/kv/index.js.map +1 -1
  36. package/dist/generated/introspection-data.d.ts +1 -1
  37. package/dist/generated/introspection-data.d.ts.map +1 -1
  38. package/dist/generated/introspection-data.js +194 -185
  39. package/dist/generated/introspection-data.js.map +1 -1
  40. package/dist/generated/version-data.d.ts +1 -1
  41. package/dist/generated/version-data.d.ts.map +1 -1
  42. package/dist/generated/version-data.js +3 -3
  43. package/dist/generated/version-data.js.map +1 -1
  44. package/dist/highlight-map.d.ts.map +1 -1
  45. package/dist/highlight-map.js +8 -2
  46. package/dist/highlight-map.js.map +1 -1
  47. package/dist/index.d.ts +2 -1
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +5 -1
  50. package/dist/index.js.map +1 -1
  51. package/dist/lexer/operators.d.ts.map +1 -1
  52. package/dist/lexer/operators.js +0 -2
  53. package/dist/lexer/operators.js.map +1 -1
  54. package/dist/lexer/readers.d.ts +18 -1
  55. package/dist/lexer/readers.d.ts.map +1 -1
  56. package/dist/lexer/readers.js +55 -0
  57. package/dist/lexer/readers.js.map +1 -1
  58. package/dist/parser/helpers.d.ts +8 -13
  59. package/dist/parser/helpers.d.ts.map +1 -1
  60. package/dist/parser/helpers.js +42 -35
  61. package/dist/parser/helpers.js.map +1 -1
  62. package/dist/parser/index.d.ts +1 -0
  63. package/dist/parser/index.d.ts.map +1 -1
  64. package/dist/parser/index.js +1 -0
  65. package/dist/parser/index.js.map +1 -1
  66. package/dist/parser/parser-collect.d.ts.map +1 -1
  67. package/dist/parser/parser-collect.js +34 -5
  68. package/dist/parser/parser-collect.js.map +1 -1
  69. package/dist/parser/parser-control.d.ts +1 -1
  70. package/dist/parser/parser-control.d.ts.map +1 -1
  71. package/dist/parser/parser-control.js +11 -2
  72. package/dist/parser/parser-control.js.map +1 -1
  73. package/dist/parser/parser-expr.d.ts +3 -1
  74. package/dist/parser/parser-expr.d.ts.map +1 -1
  75. package/dist/parser/parser-expr.js +377 -100
  76. package/dist/parser/parser-expr.js.map +1 -1
  77. package/dist/parser/parser-extract.d.ts +3 -5
  78. package/dist/parser/parser-extract.d.ts.map +1 -1
  79. package/dist/parser/parser-extract.js +37 -69
  80. package/dist/parser/parser-extract.js.map +1 -1
  81. package/dist/parser/parser-functions.d.ts +2 -2
  82. package/dist/parser/parser-functions.d.ts.map +1 -1
  83. package/dist/parser/parser-functions.js +112 -36
  84. package/dist/parser/parser-functions.js.map +1 -1
  85. package/dist/parser/parser-literals.d.ts +5 -4
  86. package/dist/parser/parser-literals.d.ts.map +1 -1
  87. package/dist/parser/parser-literals.js +316 -47
  88. package/dist/parser/parser-literals.js.map +1 -1
  89. package/dist/parser/parser-script.d.ts.map +1 -1
  90. package/dist/parser/parser-script.js +25 -12
  91. package/dist/parser/parser-script.js.map +1 -1
  92. package/dist/parser/parser-shape.d.ts +13 -0
  93. package/dist/parser/parser-shape.d.ts.map +1 -0
  94. package/dist/parser/parser-shape.js +72 -0
  95. package/dist/parser/parser-shape.js.map +1 -0
  96. package/dist/parser/parser-types.d.ts +31 -0
  97. package/dist/parser/parser-types.d.ts.map +1 -0
  98. package/dist/parser/parser-types.js +78 -0
  99. package/dist/parser/parser-types.js.map +1 -0
  100. package/dist/parser/parser-variables.d.ts.map +1 -1
  101. package/dist/parser/parser-variables.js +10 -1
  102. package/dist/parser/parser-variables.js.map +1 -1
  103. package/dist/runtime/core/callable.d.ts +27 -22
  104. package/dist/runtime/core/callable.d.ts.map +1 -1
  105. package/dist/runtime/core/callable.js +30 -26
  106. package/dist/runtime/core/callable.js.map +1 -1
  107. package/dist/runtime/core/context.d.ts.map +1 -1
  108. package/dist/runtime/core/context.js +8 -8
  109. package/dist/runtime/core/context.js.map +1 -1
  110. package/dist/runtime/core/equals.d.ts.map +1 -1
  111. package/dist/runtime/core/equals.js +179 -30
  112. package/dist/runtime/core/equals.js.map +1 -1
  113. package/dist/runtime/core/eval/base.d.ts +2 -2
  114. package/dist/runtime/core/eval/base.d.ts.map +1 -1
  115. package/dist/runtime/core/eval/evaluator.d.ts.map +1 -1
  116. package/dist/runtime/core/eval/evaluator.js +3 -1
  117. package/dist/runtime/core/eval/evaluator.js.map +1 -1
  118. package/dist/runtime/core/eval/index.d.ts +18 -3
  119. package/dist/runtime/core/eval/index.d.ts.map +1 -1
  120. package/dist/runtime/core/eval/index.js +22 -2
  121. package/dist/runtime/core/eval/index.js.map +1 -1
  122. package/dist/runtime/core/eval/mixins/annotations.d.ts.map +1 -1
  123. package/dist/runtime/core/eval/mixins/annotations.js +14 -8
  124. package/dist/runtime/core/eval/mixins/annotations.js.map +1 -1
  125. package/dist/runtime/core/eval/mixins/closures.d.ts +0 -2
  126. package/dist/runtime/core/eval/mixins/closures.d.ts.map +1 -1
  127. package/dist/runtime/core/eval/mixins/closures.js +341 -105
  128. package/dist/runtime/core/eval/mixins/closures.js.map +1 -1
  129. package/dist/runtime/core/eval/mixins/collections.d.ts.map +1 -1
  130. package/dist/runtime/core/eval/mixins/collections.js +65 -25
  131. package/dist/runtime/core/eval/mixins/collections.js.map +1 -1
  132. package/dist/runtime/core/eval/mixins/control-flow.d.ts.map +1 -1
  133. package/dist/runtime/core/eval/mixins/control-flow.js +21 -17
  134. package/dist/runtime/core/eval/mixins/control-flow.js.map +1 -1
  135. package/dist/runtime/core/eval/mixins/conversion.d.ts +30 -0
  136. package/dist/runtime/core/eval/mixins/conversion.d.ts.map +1 -0
  137. package/dist/runtime/core/eval/mixins/conversion.js +212 -0
  138. package/dist/runtime/core/eval/mixins/conversion.js.map +1 -0
  139. package/dist/runtime/core/eval/mixins/core.d.ts.map +1 -1
  140. package/dist/runtime/core/eval/mixins/core.js +101 -32
  141. package/dist/runtime/core/eval/mixins/core.js.map +1 -1
  142. package/dist/runtime/core/eval/mixins/extraction.d.ts.map +1 -1
  143. package/dist/runtime/core/eval/mixins/extraction.js +136 -30
  144. package/dist/runtime/core/eval/mixins/extraction.js.map +1 -1
  145. package/dist/runtime/core/eval/mixins/list-dispatch.d.ts +17 -0
  146. package/dist/runtime/core/eval/mixins/list-dispatch.d.ts.map +1 -0
  147. package/dist/runtime/core/eval/mixins/list-dispatch.js +97 -0
  148. package/dist/runtime/core/eval/mixins/list-dispatch.js.map +1 -0
  149. package/dist/runtime/core/eval/mixins/literals.d.ts.map +1 -1
  150. package/dist/runtime/core/eval/mixins/literals.js +73 -83
  151. package/dist/runtime/core/eval/mixins/literals.js.map +1 -1
  152. package/dist/runtime/core/eval/mixins/types.d.ts +4 -0
  153. package/dist/runtime/core/eval/mixins/types.d.ts.map +1 -1
  154. package/dist/runtime/core/eval/mixins/types.js +323 -3
  155. package/dist/runtime/core/eval/mixins/types.js.map +1 -1
  156. package/dist/runtime/core/eval/mixins/variables.d.ts.map +1 -1
  157. package/dist/runtime/core/eval/mixins/variables.js +45 -7
  158. package/dist/runtime/core/eval/mixins/variables.js.map +1 -1
  159. package/dist/runtime/core/execute.d.ts.map +1 -1
  160. package/dist/runtime/core/execute.js +3 -16
  161. package/dist/runtime/core/execute.js.map +1 -1
  162. package/dist/runtime/core/field-descriptor.d.ts +29 -0
  163. package/dist/runtime/core/field-descriptor.d.ts.map +1 -0
  164. package/dist/runtime/core/field-descriptor.js +27 -0
  165. package/dist/runtime/core/field-descriptor.js.map +1 -0
  166. package/dist/runtime/core/types.d.ts +15 -6
  167. package/dist/runtime/core/types.d.ts.map +1 -1
  168. package/dist/runtime/core/types.js.map +1 -1
  169. package/dist/runtime/core/values.d.ts +114 -9
  170. package/dist/runtime/core/values.d.ts.map +1 -1
  171. package/dist/runtime/core/values.js +529 -43
  172. package/dist/runtime/core/values.js.map +1 -1
  173. package/dist/runtime/ext/builtins.d.ts.map +1 -1
  174. package/dist/runtime/ext/builtins.js +47 -107
  175. package/dist/runtime/ext/builtins.js.map +1 -1
  176. package/dist/runtime/ext/extensions.d.ts +21 -2
  177. package/dist/runtime/ext/extensions.d.ts.map +1 -1
  178. package/dist/runtime/ext/extensions.js.map +1 -1
  179. package/dist/runtime/index.d.ts +6 -4
  180. package/dist/runtime/index.d.ts.map +1 -1
  181. package/dist/runtime/index.js +7 -2
  182. package/dist/runtime/index.js.map +1 -1
  183. package/dist/token-types.d.ts +7 -2
  184. package/dist/token-types.d.ts.map +1 -1
  185. package/dist/token-types.js +9 -2
  186. package/dist/token-types.js.map +1 -1
  187. package/dist/value-types.d.ts +32 -1
  188. package/dist/value-types.d.ts.map +1 -1
  189. package/dist/value-types.js +1 -1
  190. package/dist/value-types.js.map +1 -1
  191. package/package.json +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"parser-functions.js","sourceRoot":"","sources":["../../src/parser/parser-functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser-functions.js","sourceRoot":"","sources":["../../src/parser/parser-functions.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * Parser Extension: Literal Parsing
3
3
  * Strings, numbers, booleans, tuples, dicts, and closures
4
4
  */
5
- import type { ClosureNode, ClosureParamNode, DictEntryNode, DictNode, ExpressionNode, InterpolationNode, LiteralNode, ListSpreadNode, BodyNode, SourceLocation, StringLiteralNode, TupleNode } from '../types.js';
5
+ import type { ClosureNode, ClosureParamNode, DictEntryNode, DictLiteralNode, DictNode, ExpressionNode, InterpolationNode, ListLiteralNode, LiteralNode, ListSpreadNode, BodyNode, OrderedLiteralNode, SourceLocation, StringLiteralNode, TupleLiteralNode } from '../types.js';
6
6
  declare module './parser.js' {
7
7
  interface Parser {
8
8
  parseLiteral(): LiteralNode;
@@ -10,14 +10,15 @@ declare module './parser.js' {
10
10
  parseStringParts(raw: string, baseLocation: SourceLocation, isTokenMultiline: boolean): (string | InterpolationNode)[];
11
11
  parseInterpolationExpr(source: string, baseLocation: SourceLocation): InterpolationNode;
12
12
  unescapeBraces(s: string): string;
13
- parseTupleOrDict(): TupleNode | DictNode;
14
- parseTuple(start: SourceLocation): TupleNode;
13
+ parseTuple(start: SourceLocation): ListLiteralNode;
14
+ parseTupleOrDict(): ListLiteralNode | DictNode;
15
15
  parseTupleElement(): ExpressionNode | ListSpreadNode;
16
16
  parseDict(start: SourceLocation): DictNode;
17
17
  parseDictEntry(): DictEntryNode;
18
18
  parseClosure(): ClosureNode;
19
- parseBody(): BodyNode;
19
+ parseBody(allowEmptyBlock?: boolean): BodyNode;
20
20
  parseClosureParam(): ClosureParamNode;
21
+ parseCollectionLiteral(collectionType: 'list' | 'dict' | 'tuple' | 'ordered'): ListLiteralNode | DictLiteralNode | TupleLiteralNode | OrderedLiteralNode;
21
22
  }
22
23
  }
23
24
  //# sourceMappingURL=parser-literals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser-literals.d.ts","sourceRoot":"","sources":["../../src/parser/parser-literals.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAEV,WAAW,EACX,gBAAgB,EAChB,aAAa,EAGb,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,cAAc,EACd,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,SAAS,EACV,MAAM,aAAa,CAAC;AAmBrB,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,MAAM;QACd,YAAY,IAAI,WAAW,CAAC;QAC5B,WAAW,IAAI,iBAAiB,CAAC;QACjC,gBAAgB,CACd,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,cAAc,EAC5B,gBAAgB,EAAE,OAAO,GACxB,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC;QAClC,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,cAAc,GAC3B,iBAAiB,CAAC;QACrB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAClC,gBAAgB,IAAI,SAAS,GAAG,QAAQ,CAAC;QACzC,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;QAC7C,iBAAiB,IAAI,cAAc,GAAG,cAAc,CAAC;QACrD,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,QAAQ,CAAC;QAC3C,cAAc,IAAI,aAAa,CAAC;QAChC,YAAY,IAAI,WAAW,CAAC;QAC5B,SAAS,IAAI,QAAQ,CAAC;QACtB,iBAAiB,IAAI,gBAAgB,CAAC;KACvC;CACF"}
1
+ {"version":3,"file":"parser-literals.d.ts","sourceRoot":"","sources":["../../src/parser/parser-literals.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAEV,WAAW,EACX,gBAAgB,EAChB,aAAa,EAGb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,aAAa,CAAC;AAgBrB,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,MAAM;QACd,YAAY,IAAI,WAAW,CAAC;QAC5B,WAAW,IAAI,iBAAiB,CAAC;QACjC,gBAAgB,CACd,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,cAAc,EAC5B,gBAAgB,EAAE,OAAO,GACxB,CAAC,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC;QAClC,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,cAAc,GAC3B,iBAAiB,CAAC;QACrB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAClC,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAAC;QACnD,gBAAgB,IAAI,eAAe,GAAG,QAAQ,CAAC;QAC/C,iBAAiB,IAAI,cAAc,GAAG,cAAc,CAAC;QACrD,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,QAAQ,CAAC;QAC3C,cAAc,IAAI,aAAa,CAAC;QAChC,YAAY,IAAI,WAAW,CAAC;QAC5B,SAAS,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC/C,iBAAiB,IAAI,gBAAgB,CAAC;QACtC,sBAAsB,CACpB,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAEnD,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,kBAAkB,CAAC;KACxB;CACF"}
@@ -5,8 +5,9 @@
5
5
  import { Parser } from './parser.js';
6
6
  import { ParseError, TOKEN_TYPES } from '../types.js';
7
7
  import { tokenize } from '../lexer/index.js';
8
- import { check, advance, expect, current, skipNewlines, makeSpan, } from './state.js';
9
- import { isDictStart, FUNC_PARAM_TYPES, parseTypeName, isNegativeNumber, } from './helpers.js';
8
+ import { check, advance, expect, current, peek, skipNewlines, makeSpan, } from './state.js';
9
+ import { isDictStart, isNegativeNumber, VALID_TYPE_NAMES } from './helpers.js';
10
+ import { parseTypeRef } from './parser-types.js';
10
11
  // ============================================================
11
12
  // LITERAL PARSING
12
13
  // ============================================================
@@ -182,28 +183,50 @@ Parser.prototype.parseInterpolationExpr = function (source, baseLocation) {
182
183
  // ============================================================
183
184
  // TUPLE & DICT PARSING
184
185
  // ============================================================
186
+ Parser.prototype.parseTuple = function (start) {
187
+ const elements = [];
188
+ elements.push(this.parseTupleElement());
189
+ skipNewlines(this.state);
190
+ while (check(this.state, TOKEN_TYPES.COMMA)) {
191
+ advance(this.state);
192
+ skipNewlines(this.state);
193
+ if (check(this.state, TOKEN_TYPES.RBRACKET))
194
+ break;
195
+ elements.push(this.parseTupleElement());
196
+ skipNewlines(this.state);
197
+ }
198
+ const rbracket = expect(this.state, TOKEN_TYPES.RBRACKET, 'Expected ]', 'RILL-P005');
199
+ return {
200
+ type: 'ListLiteral',
201
+ elements: elements,
202
+ defaultValue: null,
203
+ span: makeSpan(start, rbracket.span.end),
204
+ };
205
+ };
185
206
  Parser.prototype.parseTupleOrDict = function () {
186
207
  const start = current(this.state).span.start;
187
208
  expect(this.state, TOKEN_TYPES.LBRACKET, 'Expected [');
188
209
  skipNewlines(this.state);
210
+ // [] → empty list
189
211
  if (check(this.state, TOKEN_TYPES.RBRACKET)) {
190
- advance(this.state);
212
+ const rbracket = advance(this.state);
191
213
  return {
192
- type: 'Tuple',
214
+ type: 'ListLiteral',
193
215
  elements: [],
194
216
  defaultValue: null,
195
- span: makeSpan(start, current(this.state).span.end),
217
+ span: makeSpan(start, rbracket.span.end),
196
218
  };
197
219
  }
220
+ // [:] → empty dict
198
221
  if (check(this.state, TOKEN_TYPES.COLON) &&
199
222
  this.state.tokens[this.state.pos + 1]?.type === TOKEN_TYPES.RBRACKET) {
200
- advance(this.state);
201
- advance(this.state);
223
+ advance(this.state); // consume :
224
+ const rbracket = advance(this.state); // consume ]
202
225
  return {
203
226
  type: 'Dict',
204
227
  entries: [],
205
228
  defaultValue: null,
206
- span: makeSpan(start, current(this.state).span.end),
229
+ span: makeSpan(start, rbracket.span.end),
207
230
  };
208
231
  }
209
232
  if (isDictStart(this.state)) {
@@ -211,31 +234,12 @@ Parser.prototype.parseTupleOrDict = function () {
211
234
  }
212
235
  return this.parseTuple(start);
213
236
  };
214
- Parser.prototype.parseTuple = function (start) {
215
- const elements = [];
216
- elements.push(this.parseTupleElement());
217
- skipNewlines(this.state);
218
- while (check(this.state, TOKEN_TYPES.COMMA)) {
219
- advance(this.state);
220
- skipNewlines(this.state);
221
- if (check(this.state, TOKEN_TYPES.RBRACKET))
222
- break;
223
- elements.push(this.parseTupleElement());
224
- skipNewlines(this.state);
225
- }
226
- const rbracket = expect(this.state, TOKEN_TYPES.RBRACKET, 'Expected ]', 'RILL-P005');
227
- return {
228
- type: 'Tuple',
229
- elements,
230
- defaultValue: null,
231
- span: makeSpan(start, rbracket.span.end),
232
- };
233
- };
234
237
  Parser.prototype.parseTupleElement = function () {
235
238
  // Check for spread operator (ELLIPSIS token: ...)
236
239
  if (check(this.state, TOKEN_TYPES.ELLIPSIS)) {
237
240
  const start = current(this.state).span.start;
238
241
  advance(this.state); // consume ELLIPSIS
242
+ skipNewlines(this.state);
239
243
  // ELLIPSIS must be followed by an expression
240
244
  if (check(this.state, TOKEN_TYPES.COMMA) ||
241
245
  check(this.state, TOKEN_TYPES.RBRACKET) ||
@@ -306,13 +310,33 @@ Parser.prototype.parseDictEntry = function () {
306
310
  };
307
311
  }
308
312
  else if (check(this.state, TOKEN_TYPES.LBRACKET)) {
309
- // Parse list literal as key (tuple for multi-key)
310
- const literal = this.parseTupleOrDict();
311
- if (literal.type !== 'Tuple') {
312
- throw new ParseError('RILL-P004', 'Dict entry key must be identifier or list, not dict', literal.span.start);
313
+ // Parse bare [a, b] or [] as multi-key
314
+ const tupleStart = current(this.state).span.start;
315
+ advance(this.state); // consume [
316
+ skipNewlines(this.state);
317
+ if (check(this.state, TOKEN_TYPES.RBRACKET)) {
318
+ const rbracket = advance(this.state);
319
+ key = {
320
+ type: 'ListLiteral',
321
+ elements: [],
322
+ defaultValue: null,
323
+ span: makeSpan(tupleStart, rbracket.span.end),
324
+ };
313
325
  }
326
+ else {
327
+ key = this.parseTuple(tupleStart);
328
+ }
329
+ }
330
+ else if (check(this.state, TOKEN_TYPES.LIST_LBRACKET)) {
331
+ // Parse list[...] literal as multi-key: dict[list["a", "b"]: value]
332
+ advance(this.state); // consume list[
333
+ const literal = this.parseCollectionLiteral('list');
314
334
  key = literal;
315
335
  }
336
+ else if (check(this.state, TOKEN_TYPES.DICT_LBRACKET)) {
337
+ // dict[...] is not a valid key — reject with clear error
338
+ throw new ParseError('RILL-P004', 'Dict entry key must be identifier or list, not dict', current(this.state).span.start);
339
+ }
316
340
  else if (check(this.state, TOKEN_TYPES.STRING)) {
317
341
  // Parse string literal as key
318
342
  const keyToken = advance(this.state);
@@ -360,39 +384,117 @@ Parser.prototype.parseDictEntry = function () {
360
384
  // ============================================================
361
385
  // CLOSURE PARSING
362
386
  // ============================================================
387
+ /**
388
+ * Parse the optional postfix `:type-target` after a closure body.
389
+ *
390
+ * Grammar: [ ":" , type-target ]
391
+ * type-target = shape(...) | type-ref
392
+ *
393
+ * Returns the parsed TypeRef or ShapeLiteralNode, or undefined if absent.
394
+ * Follows the same disambiguation logic as parsePostfixTypeOperation.
395
+ */
396
+ function parseClosureReturnTypeTarget(parser) {
397
+ skipNewlines(parser.state);
398
+ if (!check(parser.state, TOKEN_TYPES.COLON)) {
399
+ return undefined;
400
+ }
401
+ advance(parser.state); // consume ':'
402
+ skipNewlines(parser.state);
403
+ // Default: plain type name or dynamic type reference
404
+ return parseTypeRef(parser.state);
405
+ }
363
406
  Parser.prototype.parseClosure = function () {
364
407
  const start = current(this.state).span.start;
365
408
  if (check(this.state, TOKEN_TYPES.OR)) {
366
409
  advance(this.state);
367
- const body = this.parseBody();
410
+ skipNewlines(this.state);
411
+ const body = this.parseBody(true);
412
+ const returnTypeTarget = parseClosureReturnTypeTarget(this);
368
413
  return {
369
414
  type: 'Closure',
370
415
  params: [],
371
416
  body,
372
- span: makeSpan(start, body.span.end),
417
+ returnTypeTarget,
418
+ span: makeSpan(start, returnTypeTarget ? current(this.state).span.end : body.span.end),
373
419
  };
374
420
  }
375
421
  expect(this.state, TOKEN_TYPES.PIPE_BAR, 'Expected |');
422
+ skipNewlines(this.state);
423
+ // Anonymous typed closure detection: |type| body or |$typeVar| body
424
+ // Static: current is IDENTIFIER in VALID_TYPE_NAMES, next non-newline is PIPE_BAR
425
+ // Dynamic: current is DOLLAR ($typeVar form)
426
+ const isAnonymousTyped = (() => {
427
+ if (check(this.state, TOKEN_TYPES.DOLLAR)) {
428
+ // Dynamic type ref: $identifier — next non-newline after $ and name must be PIPE_BAR.
429
+ // Delegate detection to lookahead: offset 1 is identifier, offset 2 is PIPE_BAR (skip newlines).
430
+ let lookahead = 2;
431
+ while (peek(this.state, lookahead).type === TOKEN_TYPES.NEWLINE) {
432
+ lookahead++;
433
+ }
434
+ return peek(this.state, lookahead).type === TOKEN_TYPES.PIPE_BAR;
435
+ }
436
+ if (check(this.state, TOKEN_TYPES.IDENTIFIER) &&
437
+ VALID_TYPE_NAMES.includes(current(this.state).value)) {
438
+ // Parameterized type name: list(string), dict(name: type), etc.
439
+ // Next token is LPAREN — this is an anonymous typed closure with type args.
440
+ if (peek(this.state, 1).type === TOKEN_TYPES.LPAREN) {
441
+ return true;
442
+ }
443
+ // Static type name: peek past any newlines to find PIPE_BAR (not COLON)
444
+ let lookahead = 1;
445
+ while (peek(this.state, lookahead).type === TOKEN_TYPES.NEWLINE) {
446
+ lookahead++;
447
+ }
448
+ return peek(this.state, lookahead).type === TOKEN_TYPES.PIPE_BAR;
449
+ }
450
+ return false;
451
+ })();
452
+ if (isAnonymousTyped) {
453
+ const paramStart = current(this.state).span.start;
454
+ const typeRef = parseTypeRef(this.state);
455
+ expect(this.state, TOKEN_TYPES.PIPE_BAR, 'Expected |', 'RILL-P005');
456
+ skipNewlines(this.state);
457
+ const body = this.parseBody(true);
458
+ const returnTypeTarget = parseClosureReturnTypeTarget(this);
459
+ const param = {
460
+ type: 'ClosureParam',
461
+ name: '$',
462
+ typeRef,
463
+ defaultValue: null,
464
+ span: makeSpan(paramStart, current(this.state).span.start),
465
+ };
466
+ return {
467
+ type: 'Closure',
468
+ params: [param],
469
+ body,
470
+ returnTypeTarget,
471
+ span: makeSpan(start, returnTypeTarget ? current(this.state).span.end : body.span.end),
472
+ };
473
+ }
376
474
  const params = [];
377
475
  if (!check(this.state, TOKEN_TYPES.PIPE_BAR)) {
378
476
  params.push(this.parseClosureParam());
379
477
  while (check(this.state, TOKEN_TYPES.COMMA)) {
380
478
  advance(this.state);
479
+ skipNewlines(this.state);
381
480
  params.push(this.parseClosureParam());
382
481
  }
383
482
  }
384
483
  expect(this.state, TOKEN_TYPES.PIPE_BAR, 'Expected |', 'RILL-P005');
385
- const body = this.parseBody();
484
+ skipNewlines(this.state);
485
+ const body = this.parseBody(true);
486
+ const returnTypeTarget = parseClosureReturnTypeTarget(this);
386
487
  return {
387
488
  type: 'Closure',
388
489
  params,
389
490
  body,
390
- span: makeSpan(start, body.span.end),
491
+ returnTypeTarget,
492
+ span: makeSpan(start, returnTypeTarget ? current(this.state).span.end : body.span.end),
391
493
  };
392
494
  };
393
- Parser.prototype.parseBody = function () {
495
+ Parser.prototype.parseBody = function (allowEmptyBlock) {
394
496
  if (check(this.state, TOKEN_TYPES.LBRACE)) {
395
- return this.parseBlock();
497
+ return this.parseBlock(allowEmptyBlock);
396
498
  }
397
499
  if (check(this.state, TOKEN_TYPES.LPAREN)) {
398
500
  return this.parseGrouped();
@@ -405,32 +507,199 @@ Parser.prototype.parseBody = function () {
405
507
  };
406
508
  Parser.prototype.parseClosureParam = function () {
407
509
  const start = current(this.state).span.start;
408
- const nameToken = expect(this.state, TOKEN_TYPES.IDENTIFIER, 'Expected parameter name');
409
- let typeName = null;
410
- let defaultValue = null;
411
510
  let annotations = undefined;
412
- if (check(this.state, TOKEN_TYPES.COLON)) {
413
- advance(this.state);
414
- typeName = parseTypeName(this.state, FUNC_PARAM_TYPES);
415
- }
416
- // Parse parameter annotations (after type, before default)
511
+ // Parse parameter annotations before the name: ^(annots) name : type = default
417
512
  if (check(this.state, TOKEN_TYPES.CARET)) {
418
513
  advance(this.state); // consume ^
419
514
  expect(this.state, TOKEN_TYPES.LPAREN, 'Expected ( after ^');
420
515
  annotations = this.parseAnnotationArgs();
421
516
  expect(this.state, TOKEN_TYPES.RPAREN, 'Expected )', 'RILL-P005');
422
517
  }
518
+ const nameToken = expect(this.state, TOKEN_TYPES.IDENTIFIER, 'Expected parameter name');
519
+ if (VALID_TYPE_NAMES.includes(nameToken.value)) {
520
+ throw new ParseError('RILL-P003', `Reserved type keyword cannot be used as parameter name: ${nameToken.value}`, nameToken.span.start);
521
+ }
522
+ let typeRef = null;
523
+ let defaultValue = null;
524
+ skipNewlines(this.state);
525
+ if (check(this.state, TOKEN_TYPES.COLON)) {
526
+ advance(this.state);
527
+ skipNewlines(this.state);
528
+ typeRef = parseTypeRef(this.state);
529
+ }
530
+ skipNewlines(this.state);
423
531
  if (check(this.state, TOKEN_TYPES.ASSIGN)) {
424
532
  advance(this.state);
533
+ skipNewlines(this.state);
425
534
  defaultValue = this.parseLiteral();
426
535
  }
427
536
  return {
428
537
  type: 'ClosureParam',
429
538
  name: nameToken.value,
430
- typeName,
539
+ typeRef,
431
540
  defaultValue,
432
541
  annotations,
433
542
  span: makeSpan(start, current(this.state).span.end),
434
543
  };
435
544
  };
545
+ // ============================================================
546
+ // KEYWORD-PREFIXED COLLECTION LITERAL PARSING
547
+ // ============================================================
548
+ /**
549
+ * Track seen keys for dict/ordered literals to enforce key uniqueness.
550
+ * Returns the string form of a key for comparison purposes.
551
+ */
552
+ function keyToString(key) {
553
+ if (typeof key === 'string' ||
554
+ typeof key === 'number' ||
555
+ typeof key === 'boolean') {
556
+ return String(key);
557
+ }
558
+ if ('kind' in key && key.kind === 'variable') {
559
+ return `$${key.variableName}`;
560
+ }
561
+ if ('kind' in key && key.kind === 'computed') {
562
+ return '(computed)';
563
+ }
564
+ // TupleNode key — use type tag to avoid collisions; uniqueness not enforced for tuple keys
565
+ return '(tuple-key)';
566
+ }
567
+ /**
568
+ * Parse a keyword-prefixed collection literal.
569
+ *
570
+ * Called after consuming LIST_LBRACKET, DICT_LBRACKET, TUPLE_LBRACKET, or
571
+ * ORDERED_LBRACKET. The opening token is already consumed by the caller.
572
+ *
573
+ * Grammar (all variants close with `]`):
574
+ * list[ expr ("," expr)* [","] "]"
575
+ * tuple[ expr ("," expr)* [","] "]"
576
+ * dict[ (key ":" expr) ("," key ":" expr)* [","] "]"
577
+ * ordered[ (key ":" expr) ("," key ":" expr)* [","] "]"
578
+ *
579
+ * Spread (`...$x`) is valid inside all four variants.
580
+ */
581
+ Parser.prototype.parseCollectionLiteral = function (collectionType) {
582
+ const start = current(this.state).span.start;
583
+ skipNewlines(this.state);
584
+ const isValueOnly = collectionType === 'list' || collectionType === 'tuple';
585
+ if (isValueOnly) {
586
+ // list[ ... ] or tuple[ ... ]
587
+ const elements = [];
588
+ while (!check(this.state, TOKEN_TYPES.RBRACKET)) {
589
+ if (check(this.state, TOKEN_TYPES.EOF)) {
590
+ throw new ParseError('RILL-P005', `expected ']' to close ${collectionType} literal`, current(this.state).span.start);
591
+ }
592
+ // Spread element: ...$other
593
+ if (check(this.state, TOKEN_TYPES.ELLIPSIS)) {
594
+ const spreadStart = current(this.state).span.start;
595
+ advance(this.state); // consume ELLIPSIS
596
+ skipNewlines(this.state);
597
+ if (check(this.state, TOKEN_TYPES.COMMA) ||
598
+ check(this.state, TOKEN_TYPES.RBRACKET) ||
599
+ check(this.state, TOKEN_TYPES.EOF)) {
600
+ throw new ParseError('RILL-P004', "Expected expression after '...'", current(this.state).span.start);
601
+ }
602
+ const spreadExpr = this.parseExpression();
603
+ elements.push({
604
+ type: 'ListSpread',
605
+ expression: spreadExpr,
606
+ span: makeSpan(spreadStart, spreadExpr.span.end),
607
+ });
608
+ skipNewlines(this.state);
609
+ }
610
+ else {
611
+ // Check for key: value pair — not allowed in list/tuple
612
+ // Lookahead: IDENTIFIER COLON (or STRING COLON, etc.) → error
613
+ if ((check(this.state, TOKEN_TYPES.IDENTIFIER) ||
614
+ check(this.state, TOKEN_TYPES.STRING) ||
615
+ check(this.state, TOKEN_TYPES.NUMBER)) &&
616
+ this.state.tokens[this.state.pos + 1]?.type === TOKEN_TYPES.COLON) {
617
+ throw new ParseError('RILL-P004', `unexpected key-value pair in ${collectionType} literal`, current(this.state).span.start);
618
+ }
619
+ elements.push(this.parseExpression());
620
+ skipNewlines(this.state);
621
+ }
622
+ if (check(this.state, TOKEN_TYPES.COMMA)) {
623
+ advance(this.state);
624
+ skipNewlines(this.state);
625
+ }
626
+ else {
627
+ break;
628
+ }
629
+ }
630
+ const rbracket = expect(this.state, TOKEN_TYPES.RBRACKET, `expected ']' to close ${collectionType} literal`, 'RILL-P005');
631
+ const span = makeSpan(start, rbracket.span.end);
632
+ if (collectionType === 'list') {
633
+ return {
634
+ type: 'ListLiteral',
635
+ elements,
636
+ defaultValue: null,
637
+ span,
638
+ };
639
+ }
640
+ return { type: 'TupleLiteral', elements, span };
641
+ }
642
+ // dict[ ... ] or ordered[ ... ]
643
+ const entries = [];
644
+ const seenKeys = new Set();
645
+ while (!check(this.state, TOKEN_TYPES.RBRACKET)) {
646
+ if (check(this.state, TOKEN_TYPES.EOF)) {
647
+ throw new ParseError('RILL-P005', `expected ']' to close ${collectionType} literal`, current(this.state).span.start);
648
+ }
649
+ // Spread entry: ...$other
650
+ if (check(this.state, TOKEN_TYPES.ELLIPSIS)) {
651
+ const spreadStart = current(this.state).span.start;
652
+ advance(this.state); // consume ELLIPSIS
653
+ skipNewlines(this.state);
654
+ if (check(this.state, TOKEN_TYPES.COMMA) ||
655
+ check(this.state, TOKEN_TYPES.RBRACKET) ||
656
+ check(this.state, TOKEN_TYPES.EOF)) {
657
+ throw new ParseError('RILL-P004', "Expected expression after '...'", current(this.state).span.start);
658
+ }
659
+ const spreadExpr = this.parseExpression();
660
+ entries.push({
661
+ type: 'DictEntry',
662
+ key: '...',
663
+ value: spreadExpr,
664
+ span: makeSpan(spreadStart, spreadExpr.span.end),
665
+ });
666
+ skipNewlines(this.state);
667
+ }
668
+ else {
669
+ // Require key: value pair
670
+ const entryStart = current(this.state).span.start;
671
+ // Detect missing key (e.g. dict[1] without colon after)
672
+ // LIST_LBRACKET and LBRACKET keys are multi-token, skip this check for them
673
+ if (this.state.tokens[this.state.pos + 1]?.type !== TOKEN_TYPES.COLON &&
674
+ !check(this.state, TOKEN_TYPES.DOLLAR) &&
675
+ !check(this.state, TOKEN_TYPES.LPAREN) &&
676
+ !check(this.state, TOKEN_TYPES.LIST_LBRACKET) &&
677
+ !check(this.state, TOKEN_TYPES.LBRACKET) &&
678
+ !check(this.state, TOKEN_TYPES.DICT_LBRACKET)) {
679
+ throw new ParseError('RILL-P004', `expected 'key: value' pair in ${collectionType} literal`, entryStart);
680
+ }
681
+ const entry = this.parseDictEntry();
682
+ const keyStr = keyToString(entry.key);
683
+ if (seenKeys.has(keyStr)) {
684
+ throw new ParseError('RILL-P004', `duplicate key '${keyStr}' in ${collectionType} literal`, entryStart);
685
+ }
686
+ seenKeys.add(keyStr);
687
+ entries.push(entry);
688
+ skipNewlines(this.state);
689
+ }
690
+ if (check(this.state, TOKEN_TYPES.COMMA)) {
691
+ advance(this.state);
692
+ skipNewlines(this.state);
693
+ }
694
+ else {
695
+ break;
696
+ }
697
+ }
698
+ const rbracket = expect(this.state, TOKEN_TYPES.RBRACKET, `expected ']' to close ${collectionType} literal`, 'RILL-P005');
699
+ const span = makeSpan(start, rbracket.span.end);
700
+ if (collectionType === 'dict') {
701
+ return { type: 'DictLiteral', entries, span };
702
+ }
703
+ return { type: 'OrderedLiteral', entries, span };
704
+ };
436
705
  //# sourceMappingURL=parser-literals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser-literals.js","sourceRoot":"","sources":["../../src/parser/parser-literals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser-literals.js","sourceRoot":"","sources":["../../src/parser/parser-literals.ts"],"names":[],"mappings":"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"}