@aster-cloud/aster-lang-ts 0.0.29 → 0.0.31

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 (43) hide show
  1. package/dist/scripts/aster.js +0 -0
  2. package/dist/scripts/emit-core.js +0 -0
  3. package/dist/src/cli/policy-converter.js +0 -0
  4. package/dist/src/config/lexicons/en-US.d.ts.map +1 -1
  5. package/dist/src/config/lexicons/en-US.js +2 -0
  6. package/dist/src/config/lexicons/en-US.js.map +1 -1
  7. package/dist/src/config/lexicons/types.d.ts +4 -0
  8. package/dist/src/config/lexicons/types.d.ts.map +1 -1
  9. package/dist/src/config/lexicons/types.js.map +1 -1
  10. package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
  11. package/dist/src/frontend/canonicalizer.js +12 -1
  12. package/dist/src/frontend/canonicalizer.js.map +1 -1
  13. package/dist/src/frontend/keyword-translator.d.ts.map +1 -1
  14. package/dist/src/frontend/keyword-translator.js +50 -14
  15. package/dist/src/frontend/keyword-translator.js.map +1 -1
  16. package/dist/src/frontend/transformers.d.ts +28 -0
  17. package/dist/src/frontend/transformers.d.ts.map +1 -0
  18. package/dist/src/frontend/transformers.js +86 -0
  19. package/dist/src/frontend/transformers.js.map +1 -0
  20. package/dist/src/lsp/server.js +0 -0
  21. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  22. package/dist/src/parser/expr-stmt-parser.js +23 -20
  23. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  24. package/dist/src/parser/field-variant-parser.d.ts.map +1 -1
  25. package/dist/src/parser/field-variant-parser.js +3 -4
  26. package/dist/src/parser/field-variant-parser.js.map +1 -1
  27. package/dist/test/integration/lsp/lsp-diagnostics.test.js +3 -3
  28. package/dist/test/integration/lsp/lsp-diagnostics.test.js.map +1 -1
  29. package/dist/test/integration/lsp/lsp-navigation.test.js +6 -6
  30. package/dist/test/integration/pipeline/pipeline.test.js +13 -13
  31. package/dist/test/unit/async/async-discipline.test.js +72 -72
  32. package/dist/test/unit/async/async-schedule.test.js +12 -12
  33. package/dist/test/unit/keyword-translator.test.js +2 -2
  34. package/dist/test/unit/keyword-translator.test.js.map +1 -1
  35. package/dist/test/unit/lowering/lowering.test.js +6 -6
  36. package/dist/test/unit/parser/parser.test.js +81 -63
  37. package/dist/test/unit/parser/parser.test.js.map +1 -1
  38. package/dist/test/unit/provenance-integration.test.js +6 -6
  39. package/dist/test/unit/typecheck/async-discipline-extended.test.js +4 -4
  40. package/dist/test/unit/typecheck/type-inference.test.js +11 -11
  41. package/dist/test/unit/typecheck/typecheck-advanced.test.js +6 -6
  42. package/dist/test/unit/validator.test.js +4 -4
  43. package/package.json +43 -45
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"en-US.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/en-US.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,KAAK,EAAE,OAiHnB,CAAC"}
1
+ {"version":3,"file":"en-US.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/en-US.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,KAAK,EAAE,OAmHnB,CAAC"}
@@ -100,6 +100,8 @@ export const EN_US = {
100
100
  [SemanticTokenKind.LESS_THAN, SemanticTokenKind.UNDER],
101
101
  [SemanticTokenKind.OVER, SemanticTokenKind.GREATER_THAN, SemanticTokenKind.MORE_THAN],
102
102
  ],
103
+ preTranslationTransformers: ['english-possessive'],
104
+ postTranslationTransformers: ['result-is'],
103
105
  },
104
106
  messages: {
105
107
  unexpectedToken: 'Unexpected token: {token}',
@@ -1 +1 @@
1
- {"version":3,"file":"en-US.js","sourceRoot":"","sources":["../../../../src/config/lexicons/en-US.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en-US.js","sourceRoot":"","sources":["../../../../src/config/lexicons/en-US.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,10 @@ export interface CanonicalizationConfig {
97
97
  * 提供元数据,并在错误上下文使用关键词时提供更清晰的诊断信息。
98
98
  */
99
99
  readonly compoundPatterns?: readonly CompoundPattern[];
100
+ /** 翻译前变换器名称列表(在关键字翻译之前应用) */
101
+ readonly preTranslationTransformers?: readonly string[];
102
+ /** 翻译后变换器名称列表(在关键字翻译之后应用) */
103
+ readonly postTranslationTransformers?: readonly string[];
100
104
  }
101
105
  /**
102
106
  * 自定义规范化规则。
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/config/lexicons/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA+LH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,EAA6B,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,IAAyB,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SACnC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SAChH,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,OAAe;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,IAAyB,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,IAAY;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;AAChF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/config/lexicons/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAqMH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,EAA6B,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,IAAyB,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SACnC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SAChH,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,OAAe;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,IAAyB,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,IAAY;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;AAChF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalizer.d.ts","sourceRoot":"","sources":["../../../src/frontend/canonicalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAM3D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAwFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,MAAM,CA0IrG"}
1
+ {"version":3,"file":"canonicalizer.d.ts","sourceRoot":"","sources":["../../../src/frontend/canonicalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAO3D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAyFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,OAAO,GAAG,oBAAoB,GAAG,MAAM,CAqJrG"}
@@ -22,6 +22,7 @@
22
22
  import { getMultiWordKeywords } from '../config/lexicons/types.js';
23
23
  import { LexiconRegistry, initializeDefaultLexicons } from '../config/lexicons/index.js';
24
24
  import { vocabularyRegistry, initBuiltinVocabularies } from '../config/lexicons/identifiers/registry.js';
25
+ import { applyTransformers } from './transformers.js';
25
26
  // 默认正则表达式(英语)
26
27
  const LINE_COMMENT_RE = /^\s*(?:\/\/|#)/;
27
28
  const SPACE_RUN_RE = /[ \t]+/g;
@@ -61,7 +62,8 @@ function getArticleRegex(lexicon) {
61
62
  if (!articles || articles.length === 0) {
62
63
  return null;
63
64
  }
64
- const pattern = `\\b(${articles.join('|')})\\b(?=\\s)`;
65
+ // 冠词后面跟 'as' 关键字时不移除(如 `a as Int` 中的 `a` 是参数名)
66
+ const pattern = `\\b(${articles.join('|')})\\b(?=\\s)(?!\\s+as\\b)`;
65
67
  return new RegExp(pattern, 'gi');
66
68
  }
67
69
  /**
@@ -189,6 +191,10 @@ export function canonicalize(input, lexiconOrOptions) {
189
191
  s = s.replace(re, rule.replacement);
190
192
  }
191
193
  }
194
+ // 翻译前变换器(如英语所有格 driver's age → driver.age)
195
+ if (effectiveLexicon.canonicalization.preTranslationTransformers?.length) {
196
+ s = applyTransformers(s, effectiveLexicon.canonicalization.preTranslationTransformers);
197
+ }
192
198
  // 全角转半角(如果配置启用)
193
199
  if (effectiveLexicon.canonicalization.fullWidthToHalf) {
194
200
  s = fullWidthToHalfWidth(s);
@@ -238,6 +244,11 @@ export function canonicalize(input, lexiconOrOptions) {
238
244
  return marker;
239
245
  });
240
246
  }
247
+ // Step 1.5: 翻译后变换器(如 "The result is X" → "Return X", "Set X to Y" → "Let X be Y")
248
+ // 必须在冠词移除之前执行,否则 "The" 会被先移除导致 result-is 无法匹配
249
+ if (effectiveLexicon.canonicalization.postTranslationTransformers?.length) {
250
+ marked = applyTransformers(marked, effectiveLexicon.canonicalization.postTranslationTransformers);
251
+ }
241
252
  // Step 2: Remove articles in allowed contexts (lightweight; parser will enforce correctness)
242
253
  if (articleRe) {
243
254
  marked = segmentString(marked, quotes)
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalizer.js","sourceRoot":"","sources":["../../../src/frontend/canonicalizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonicalizer.js","sourceRoot":"","sources":["../../../src/frontend/canonicalizer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"keyword-translator.d.ts","sourceRoot":"","sources":["../../../src/frontend/keyword-translator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAI3D;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD;;;;;;;;GAQG;AACH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,4BAA4B;IAC5B,KAAK,EAAE,uBAAuB,CAAC;IAC/B,8BAA8B;IAC9B,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,OAAO,EACtB,aAAa,GAAE,OAAe,GAC7B,uBAAuB,CAGzB;AAqBD,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,OAAO,EACtB,aAAa,GAAE,OAAe,GAC7B,sBAAsB,CA2DxB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,GAAG,KAAK,CAsBlF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,KAAK,EAAE,uBAAuB,GAC7B,KAAK,EAAE,CAET;AAaD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,KAAK,EAAE,uBAAuB,EAC9B,WAAW,EAAE,kBAAkB,GAC9B,KAAK,EAAE,CAuMT;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,OAAO,EACtB,aAAa,GAAE,OAAe,GAC7B;IACD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC;IACxC,eAAe,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,KAAK,KAAK,EAAE,CAAC;IACvD,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACtD,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC7D,CA6BA;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,OAAO,EACtB,aAAa,GAAE,OAAe,GAC7B,OAAO,CAET"}
1
+ {"version":3,"file":"keyword-translator.d.ts","sourceRoot":"","sources":["../../../src/frontend/keyword-translator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAI3D;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD;;;;;;;;GAQG;AACH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,4BAA4B;IAC5B,KAAK,EAAE,uBAAuB,CAAC;IAC/B,8BAA8B;IAC9B,WAAW,EAAE,kBAAkB,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,OAAO,EACtB,aAAa,GAAE,OAAe,GAC7B,uBAAuB,CAGzB;AAqBD,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,OAAO,EACtB,aAAa,GAAE,OAAe,GAC7B,sBAAsB,CAgGxB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,GAAG,KAAK,CAsBlF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,KAAK,EAAE,uBAAuB,GAC7B,KAAK,EAAE,CAET;AAaD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,KAAK,EAAE,uBAAuB,EAC9B,WAAW,EAAE,kBAAkB,GAC9B,KAAK,EAAE,CAuMT;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,OAAO,EACtB,aAAa,GAAE,OAAe,GAC7B;IACD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC;IACxC,eAAe,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,KAAK,KAAK,EAAE,CAAC;IACvD,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACtD,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC7D,CA6BA;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,OAAO,EACtB,aAAa,GAAE,OAAe,GAC7B,OAAO,CAET"}
@@ -57,6 +57,54 @@ export function buildFullTranslationIndex(sourceLexicon, targetLexicon = EN_US)
57
57
  const markers = sourceLexicon.punctuation.markers;
58
58
  const markerOpen = markers?.open || '【';
59
59
  const markerClose = markers?.close || '】';
60
+ // 构建规范化规则(从词法表的 customRules 中提取简单替换规则)
61
+ const canonRules = [];
62
+ if (sourceLexicon.canonicalization?.customRules) {
63
+ for (const rule of sourceLexicon.canonicalization.customRules) {
64
+ if (rule.pattern && rule.replacement) {
65
+ try {
66
+ canonRules.push({ pattern: new RegExp(rule.pattern, 'g'), replacement: rule.replacement });
67
+ }
68
+ catch {
69
+ // 跳过无效的正则表达式
70
+ }
71
+ }
72
+ }
73
+ }
74
+ /**
75
+ * 应用词法表的规范化规则(如 ue→ü, oe→ö, ae→ä)到关键词,
76
+ * 使翻译索引同时包含 ASCII 形式和规范化形式。
77
+ */
78
+ function applyCanonRules(text) {
79
+ let result = text;
80
+ for (const rule of canonRules) {
81
+ rule.pattern.lastIndex = 0;
82
+ result = result.replace(rule.pattern, rule.replacement);
83
+ }
84
+ return result;
85
+ }
86
+ /**
87
+ * 向索引中添加映射,遵循优先级规则。
88
+ * 同时添加规范化变体(如 "zurueck" 和 "zurück")。
89
+ */
90
+ function addToIndex(srcLower, target, isHighPriority) {
91
+ const existingPriority = indexPriority.get(srcLower);
92
+ if (!index.has(srcLower) || (isHighPriority && !existingPriority)) {
93
+ index.set(srcLower, target);
94
+ indexPriority.set(srcLower, isHighPriority);
95
+ }
96
+ // 同时添加规范化变体
97
+ if (canonRules.length > 0) {
98
+ const canonicalized = applyCanonRules(srcLower);
99
+ if (canonicalized !== srcLower) {
100
+ const canonExistingPriority = indexPriority.get(canonicalized);
101
+ if (!index.has(canonicalized) || (isHighPriority && !canonExistingPriority)) {
102
+ index.set(canonicalized, target);
103
+ indexPriority.set(canonicalized, isHighPriority);
104
+ }
105
+ }
106
+ }
107
+ }
60
108
  // 遍历所有 SemanticTokenKind
61
109
  for (const kind of Object.values(SemanticTokenKind)) {
62
110
  const sourceKeyword = sourceLexicon.keywords[kind];
@@ -71,14 +119,7 @@ export function buildFullTranslationIndex(sourceLexicon, targetLexicon = EN_US)
71
119
  }
72
120
  else {
73
121
  const srcLower = sourceKeyword.toLowerCase();
74
- const existingPriority = indexPriority.get(srcLower);
75
- // 只在以下情况添加映射:
76
- // 1. 源词尚未有映射
77
- // 2. 当前是高优先级且现有不是高优先级
78
- if (!index.has(srcLower) || (isHighPriority && !existingPriority)) {
79
- index.set(srcLower, targetKeyword);
80
- indexPriority.set(srcLower, isHighPriority);
81
- }
122
+ addToIndex(srcLower, targetKeyword, isHighPriority);
82
123
  // 对于多词关键词短语,同时添加逐词映射
83
124
  // 例如 "Dieses Modul ist" -> "this module is"
84
125
  // 会分解为 "dieses" -> "this", "modul" -> "module", "ist" -> "is"
@@ -88,13 +129,8 @@ export function buildFullTranslationIndex(sourceLexicon, targetLexicon = EN_US)
88
129
  for (let i = 0; i < sourceParts.length; i++) {
89
130
  const srcWord = sourceParts[i];
90
131
  const tgtWord = targetParts[i];
91
- const existingWordPriority = indexPriority.get(srcWord);
92
- // 添加逐词映射(遵循相同的优先级规则)
93
132
  if (srcWord !== tgtWord) {
94
- if (!index.has(srcWord) || (isHighPriority && !existingWordPriority)) {
95
- index.set(srcWord, tgtWord);
96
- indexPriority.set(srcWord, isHighPriority);
97
- }
133
+ addToIndex(srcWord, tgtWord, isHighPriority);
98
134
  }
99
135
  }
100
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keyword-translator.js","sourceRoot":"","sources":["../../../src/frontend/keyword-translator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyword-translator.js","sourceRoot":"","sources":["../../../src/frontend/keyword-translator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * 语法变换器(Syntax Transformers)
3
+ *
4
+ * 将自然语言风格的表达式转换为规范化的 CNL 语法。
5
+ * 对应 Java 端 aster-lang-core 的 SyntaxTransformer 体系。
6
+ *
7
+ * 变换器分两个阶段执行:
8
+ * - preTranslationTransformers: 关键字翻译前(处理源语言特有的语法糖)
9
+ * - postTranslationTransformers: 关键字翻译后(处理规范化形式的语法糖)
10
+ */
11
+ /** 变换器接口:接收源代码行,返回变换后的行 */
12
+ export interface SyntaxTransformer {
13
+ readonly name: string;
14
+ transform(source: string): string;
15
+ }
16
+ /**
17
+ * 根据名称获取变换器。
18
+ */
19
+ export declare function getTransformer(name: string): SyntaxTransformer | undefined;
20
+ /**
21
+ * 注册自定义变换器(供语言包扩展使用)。
22
+ */
23
+ export declare function registerTransformer(transformer: SyntaxTransformer): void;
24
+ /**
25
+ * 按名称列表依次应用变换器到源代码。
26
+ */
27
+ export declare function applyTransformers(source: string, names: readonly string[]): string;
28
+ //# sourceMappingURL=transformers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../../src/frontend/transformers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,2BAA2B;AAC3B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACnC;AA6DD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAExE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CASlF"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * 语法变换器(Syntax Transformers)
3
+ *
4
+ * 将自然语言风格的表达式转换为规范化的 CNL 语法。
5
+ * 对应 Java 端 aster-lang-core 的 SyntaxTransformer 体系。
6
+ *
7
+ * 变换器分两个阶段执行:
8
+ * - preTranslationTransformers: 关键字翻译前(处理源语言特有的语法糖)
9
+ * - postTranslationTransformers: 关键字翻译后(处理规范化形式的语法糖)
10
+ */
11
+ // ============================================================
12
+ // 内置变换器实现
13
+ // ============================================================
14
+ /**
15
+ * 英语所有格变换器:`driver's age` → `driver.age`
16
+ *
17
+ * 将英语所有格语法转换为成员访问语法,
18
+ * 使 "The driver's name" 等自然语言表达可被解析为字段访问。
19
+ */
20
+ const POSSESSIVE_RE = /([\p{L}][\p{L}0-9_]*)'s\s+([\p{L}][\p{L}0-9_]*)/gu;
21
+ const englishPossessive = {
22
+ name: 'english-possessive',
23
+ transform(source) {
24
+ return source.replace(POSSESSIVE_RE, '$1.$2');
25
+ },
26
+ };
27
+ /**
28
+ * Set-To 变换器:`Set x to expr` → `Let x be expr`
29
+ *
30
+ * 将命令式赋值语法转换为声明式绑定语法。
31
+ */
32
+ const SET_TO_RE = /^(\s*)Set\s+([\p{L}][\p{L}0-9_]*)\s+to\s+/gmu;
33
+ const setTo = {
34
+ name: 'set-to',
35
+ transform(source) {
36
+ SET_TO_RE.lastIndex = 0;
37
+ return source.replace(SET_TO_RE, '$1Let $2 be ');
38
+ },
39
+ };
40
+ /**
41
+ * Result-Is 变换器:`The result is expr` → `Return expr`
42
+ *
43
+ * 将描述式返回语法转换为规范的 Return 语句。
44
+ * 注意:必须在冠词移除之前执行,否则 "The" 会被先移除。
45
+ */
46
+ const RESULT_IS_RE = /^(\s*)The result is\s+/gmu;
47
+ const resultIs = {
48
+ name: 'result-is',
49
+ transform(source) {
50
+ RESULT_IS_RE.lastIndex = 0;
51
+ return source.replace(RESULT_IS_RE, '$1Return ');
52
+ },
53
+ };
54
+ // ============================================================
55
+ // 变换器注册表
56
+ // ============================================================
57
+ const registry = new Map();
58
+ registry.set('english-possessive', englishPossessive);
59
+ registry.set('set-to', setTo);
60
+ registry.set('result-is', resultIs);
61
+ /**
62
+ * 根据名称获取变换器。
63
+ */
64
+ export function getTransformer(name) {
65
+ return registry.get(name);
66
+ }
67
+ /**
68
+ * 注册自定义变换器(供语言包扩展使用)。
69
+ */
70
+ export function registerTransformer(transformer) {
71
+ registry.set(transformer.name, transformer);
72
+ }
73
+ /**
74
+ * 按名称列表依次应用变换器到源代码。
75
+ */
76
+ export function applyTransformers(source, names) {
77
+ let result = source;
78
+ for (const name of names) {
79
+ const t = registry.get(name);
80
+ if (t) {
81
+ result = t.transform(result);
82
+ }
83
+ }
84
+ return result;
85
+ }
86
+ //# sourceMappingURL=transformers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformers.js","sourceRoot":"","sources":["../../../src/frontend/transformers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,+DAA+D;AAC/D,UAAU;AACV,+DAA+D;AAE/D;;;;;GAKG;AACH,MAAM,aAAa,GAAG,mDAAmD,CAAC;AAE1E,MAAM,iBAAiB,GAAsB;IAC3C,IAAI,EAAE,oBAAoB;IAC1B,SAAS,CAAC,MAAc;QACtB,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,SAAS,GAAG,8CAA8C,CAAC;AAEjE,MAAM,KAAK,GAAsB;IAC/B,IAAI,EAAE,QAAQ;IACd,SAAS,CAAC,MAAc;QACtB,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACnD,CAAC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,YAAY,GAAG,2BAA2B,CAAC;AAEjD,MAAM,QAAQ,GAAsB;IAClC,IAAI,EAAE,WAAW;IACjB,SAAS,CAAC,MAAc;QACtB,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;QAC3B,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;CACF,CAAC;AAEF,+DAA+D;AAC/D,SAAS;AACT,+DAA+D;AAE/D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;AACtD,QAAQ,CAAC,GAAG,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;AACtD,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9B,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAEpC;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAA8B;IAChE,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,KAAwB;IACxE,IAAI,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"expr-stmt-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/expr-stmt-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAGL,UAAU,EACV,SAAS,EACT,OAAO,EAEP,SAAS,EAGT,IAAI,EAIL,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAsDlD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,KAAK,CAkDP;AAiCD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,SAAS,CA2LX;AA2ND;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,UAAU,CAEZ;AAweD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,UAAU,EAAE,CAcd;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,OAAO,CAiDT;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,aAAa,EAAE,KAAK,KAAK,KAAK,GAC/D,SAAS,EAAE,CAoIb;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CA2BzD"}
1
+ {"version":3,"file":"expr-stmt-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/expr-stmt-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAGL,UAAU,EACV,SAAS,EACT,OAAO,EAEP,SAAS,EAGT,IAAI,EAIL,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAsDlD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,KAAK,CAkDP;AAiCD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,SAAS,CAwLX;AA2ND;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,UAAU,CAEZ;AA2eD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,UAAU,EAAE,CAcd;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,OAAO,CAiDT;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,aAAa,EAAE,KAAK,KAAK,KAAK,GAC/D,SAAS,EAAE,CAsIb;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CA2BzD"}
@@ -227,19 +227,16 @@ export function parseStatement(ctx, error) {
227
227
  const ifTok = ctx.peek();
228
228
  ctx.nextWord();
229
229
  const cond = parseExpr(ctx, error);
230
- // CNL 改进: 移除冗余逗号,只保留冒号 (If condition: → 更自然)
231
- if (!ctx.at(TokenKind.COLON))
232
- error("Expected ':' after condition in If");
233
- ctx.next();
230
+ // 可选逗号分隔(If condition, If condition
231
+ if (ctx.at(TokenKind.COMMA))
232
+ ctx.next();
234
233
  expectNewline(ctx, error);
235
234
  const thenBlock = parseBlock(ctx, error);
236
235
  let elseBlock = null;
237
236
  if (ctx.isKeyword(KW.OTHERWISE)) {
238
237
  ctx.nextWord();
239
- // CNL 改进: 移除冗余逗号,只保留冒号 (Otherwise: → 更自然)
240
- if (!ctx.at(TokenKind.COLON))
241
- error("Expected ':' after Otherwise");
242
- ctx.next();
238
+ if (ctx.at(TokenKind.COMMA))
239
+ ctx.next();
243
240
  expectNewline(ctx, error);
244
241
  elseBlock = parseBlock(ctx, error);
245
242
  }
@@ -789,8 +786,9 @@ function parsePrimary(ctx, error) {
789
786
  let ptype;
790
787
  let colonTok;
791
788
  let typeInferred = false;
792
- if (ctx.at(TokenKind.COLON)) {
793
- colonTok = ctx.next();
789
+ if (ctx.isKeyword(KW.AS)) {
790
+ colonTok = ctx.peek();
791
+ ctx.nextWord();
794
792
  ptype = parseType(ctx, error);
795
793
  }
796
794
  else {
@@ -938,10 +936,13 @@ function parsePrimary(ctx, error) {
938
936
  while (hasMore) {
939
937
  const nameTok = ctx.peek();
940
938
  const name = parseIdent(ctx, error);
941
- if (!ctx.at(TokenKind.EQUALS))
942
- error("Expected '=' in construction");
939
+ if (!ctx.isKeyword(KW.SET))
940
+ error("Expected 'set to' in construction");
943
941
  const equalsTok = ctx.peek();
944
- ctx.next();
942
+ ctx.nextWord();
943
+ if (!ctx.isKeyword(KW.TO_WORD))
944
+ error("Expected 'to' after 'set' in construction");
945
+ ctx.nextWord();
945
946
  const e = parseExpr(ctx, error);
946
947
  const fld = {
947
948
  name,
@@ -1125,7 +1126,7 @@ export function parsePattern(ctx, error) {
1125
1126
  */
1126
1127
  export function parseParamList(ctx, error) {
1127
1128
  const params = [];
1128
- // 'with' / 'given' params
1129
+ // 'with' / 'given' params — type annotation uses 'as' keyword
1129
1130
  if (ctx.isKeyword(KW.WITH) || ctx.isKeyword(KW.GIVEN)) {
1130
1131
  ctx.nextWord();
1131
1132
  let hasMore = true;
@@ -1138,8 +1139,9 @@ export function parseParamList(ctx, error) {
1138
1139
  let type;
1139
1140
  let colonTok;
1140
1141
  let typeInferred = false;
1141
- if (ctx.at(TokenKind.COLON)) {
1142
- colonTok = ctx.next();
1142
+ if (ctx.isKeyword(KW.AS)) {
1143
+ colonTok = ctx.peek();
1144
+ ctx.nextWord();
1143
1145
  type = parseType(ctx, error);
1144
1146
  }
1145
1147
  else {
@@ -1188,8 +1190,8 @@ export function parseParamList(ctx, error) {
1188
1190
  }
1189
1191
  return params;
1190
1192
  }
1191
- // Bare params: name: Type [constraints] [(and|,) name: Type [constraints]]*
1192
- if (ctx.at(TokenKind.IDENT) && ctx.tokens[ctx.index + 1] && ctx.tokens[ctx.index + 1].kind === TokenKind.COLON) {
1193
+ // Bare params: name as Type [constraints] [(and|,) name as Type [constraints]]*
1194
+ if (ctx.at(TokenKind.IDENT) && ctx.tokens[ctx.index + 1] && tokLowerAt(ctx, ctx.index + 1) === KW.AS) {
1193
1195
  let hasMore = true;
1194
1196
  while (hasMore) {
1195
1197
  // 在开始解析参数前,先消费换行和缩进,支持多行格式
@@ -1200,8 +1202,9 @@ export function parseParamList(ctx, error) {
1200
1202
  let type;
1201
1203
  let colonTok;
1202
1204
  let typeInferred = false;
1203
- if (ctx.at(TokenKind.COLON)) {
1204
- colonTok = ctx.next();
1205
+ if (ctx.isKeyword(KW.AS)) {
1206
+ colonTok = ctx.peek();
1207
+ ctx.nextWord();
1205
1208
  type = parseType(ctx, error);
1206
1209
  }
1207
1210
  else {