@aster-cloud/aster-lang-ts 0.0.28 → 0.0.30

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 (172) hide show
  1. package/dist/peg/headers-parser.js +459 -233
  2. package/dist/scripts/aster.js +0 -0
  3. package/dist/scripts/emit-core.js +0 -0
  4. package/dist/scripts/generate-lexicons.d.ts +13 -0
  5. package/dist/scripts/generate-lexicons.d.ts.map +1 -0
  6. package/dist/scripts/generate-lexicons.js +152 -0
  7. package/dist/scripts/generate-lexicons.js.map +1 -0
  8. package/dist/scripts/generate-vocabularies.d.ts +13 -0
  9. package/dist/scripts/generate-vocabularies.d.ts.map +1 -0
  10. package/dist/scripts/generate-vocabularies.js +205 -0
  11. package/dist/scripts/generate-vocabularies.js.map +1 -0
  12. package/dist/scripts/golden.js +4 -4
  13. package/dist/scripts/golden.js.map +1 -1
  14. package/dist/scripts/perf-assert.js +2 -2
  15. package/dist/scripts/perf-assert.js.map +1 -1
  16. package/dist/scripts/perf-lsp.js +2 -2
  17. package/dist/scripts/perf-lsp.js.map +1 -1
  18. package/dist/scripts/scaffold.js +4 -4
  19. package/dist/scripts/verify-lexicon-sync.d.ts +14 -0
  20. package/dist/scripts/verify-lexicon-sync.d.ts.map +1 -0
  21. package/dist/scripts/verify-lexicon-sync.js +248 -0
  22. package/dist/scripts/verify-lexicon-sync.js.map +1 -0
  23. package/dist/src/browser.d.ts +2 -0
  24. package/dist/src/browser.d.ts.map +1 -1
  25. package/dist/src/browser.js +14 -3
  26. package/dist/src/browser.js.map +1 -1
  27. package/dist/src/cli/policy-converter.js +0 -0
  28. package/dist/src/config/lexicons/de-DE.d.ts +0 -9
  29. package/dist/src/config/lexicons/de-DE.d.ts.map +1 -1
  30. package/dist/src/config/lexicons/de-DE.js +27 -53
  31. package/dist/src/config/lexicons/de-DE.js.map +1 -1
  32. package/dist/src/config/lexicons/en-US.d.ts +0 -12
  33. package/dist/src/config/lexicons/en-US.d.ts.map +1 -1
  34. package/dist/src/config/lexicons/en-US.js +27 -50
  35. package/dist/src/config/lexicons/en-US.js.map +1 -1
  36. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.d.ts +3 -0
  37. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.d.ts.map +1 -0
  38. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.js +310 -0
  39. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.js.map +1 -0
  40. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.d.ts +3 -0
  41. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.d.ts.map +1 -0
  42. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.js +291 -0
  43. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.js.map +1 -0
  44. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.d.ts +1 -11
  45. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.d.ts.map +1 -1
  46. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js +47 -33
  47. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js.map +1 -1
  48. package/dist/src/config/lexicons/identifiers/domains/index.d.ts +7 -0
  49. package/dist/src/config/lexicons/identifiers/domains/index.d.ts.map +1 -0
  50. package/dist/src/config/lexicons/identifiers/domains/index.js +8 -0
  51. package/dist/src/config/lexicons/identifiers/domains/index.js.map +1 -0
  52. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.d.ts +3 -0
  53. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.d.ts.map +1 -0
  54. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.js +275 -0
  55. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.js.map +1 -0
  56. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.d.ts +3 -0
  57. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.d.ts.map +1 -0
  58. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.js +261 -0
  59. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.js.map +1 -0
  60. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.d.ts +1 -23
  61. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.d.ts.map +1 -1
  62. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js +81 -155
  63. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js.map +1 -1
  64. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js +8 -8
  65. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js.map +1 -1
  66. package/dist/src/config/lexicons/identifiers/index.d.ts +1 -2
  67. package/dist/src/config/lexicons/identifiers/index.d.ts.map +1 -1
  68. package/dist/src/config/lexicons/identifiers/index.js +2 -3
  69. package/dist/src/config/lexicons/identifiers/index.js.map +1 -1
  70. package/dist/src/config/lexicons/identifiers/registry.d.ts +2 -2
  71. package/dist/src/config/lexicons/identifiers/registry.d.ts.map +1 -1
  72. package/dist/src/config/lexicons/identifiers/registry.js +16 -3
  73. package/dist/src/config/lexicons/identifiers/registry.js.map +1 -1
  74. package/dist/src/config/lexicons/template.d.ts.map +1 -1
  75. package/dist/src/config/lexicons/template.js +18 -8
  76. package/dist/src/config/lexicons/template.js.map +1 -1
  77. package/dist/src/config/lexicons/types.d.ts +1 -1
  78. package/dist/src/config/lexicons/types.d.ts.map +1 -1
  79. package/dist/src/config/lexicons/zh-CN.d.ts +0 -18
  80. package/dist/src/config/lexicons/zh-CN.d.ts.map +1 -1
  81. package/dist/src/config/lexicons/zh-CN.js +26 -61
  82. package/dist/src/config/lexicons/zh-CN.js.map +1 -1
  83. package/dist/src/config/semantic.d.ts +9 -4
  84. package/dist/src/config/semantic.d.ts.map +1 -1
  85. package/dist/src/config/semantic.js +16 -5
  86. package/dist/src/config/semantic.js.map +1 -1
  87. package/dist/src/config/token-kind.d.ts +17 -5
  88. package/dist/src/config/token-kind.d.ts.map +1 -1
  89. package/dist/src/config/token-kind.js +23 -7
  90. package/dist/src/config/token-kind.js.map +1 -1
  91. package/dist/src/frontend/canonicalizer.d.ts +20 -2
  92. package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
  93. package/dist/src/frontend/canonicalizer.js +58 -2
  94. package/dist/src/frontend/canonicalizer.js.map +1 -1
  95. package/dist/src/frontend/index.d.ts +1 -0
  96. package/dist/src/frontend/index.d.ts.map +1 -1
  97. package/dist/src/frontend/index.js.map +1 -1
  98. package/dist/src/frontend/keyword-translator.d.ts.map +1 -1
  99. package/dist/src/frontend/keyword-translator.js +51 -15
  100. package/dist/src/frontend/keyword-translator.js.map +1 -1
  101. package/dist/src/lsp/codeaction.js +9 -9
  102. package/dist/src/lsp/codeaction.js.map +1 -1
  103. package/dist/src/lsp/completion.js +2 -2
  104. package/dist/src/lsp/completion.js.map +1 -1
  105. package/dist/src/lsp/module_cache.js +2 -2
  106. package/dist/src/lsp/module_cache.js.map +1 -1
  107. package/dist/src/lsp/server.js +0 -0
  108. package/dist/src/lsp/symbols.js +2 -2
  109. package/dist/src/lsp/symbols.js.map +1 -1
  110. package/dist/src/parser/decl-parser.d.ts +2 -2
  111. package/dist/src/parser/decl-parser.js +12 -12
  112. package/dist/src/parser/decl-parser.js.map +1 -1
  113. package/dist/src/parser/expr-stmt-parser.js +2 -2
  114. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  115. package/dist/src/parser.d.ts +1 -1
  116. package/dist/src/parser.js +1 -1
  117. package/dist/test/compiler/depends-on.test.js +2 -2
  118. package/dist/test/compiler/depends-on.test.js.map +1 -1
  119. package/dist/test/compiler/workflow-emitter-helpers.js +2 -2
  120. package/dist/test/compiler/workflow-emitter-helpers.js.map +1 -1
  121. package/dist/test/generators.js +18 -18
  122. package/dist/test/generators.js.map +1 -1
  123. package/dist/test/integration/lsp/lsp-completion.test.js +13 -13
  124. package/dist/test/integration/lsp/lsp-completion.test.js.map +1 -1
  125. package/dist/test/integration/lsp/lsp-diagnostics.test.js +7 -7
  126. package/dist/test/integration/lsp/lsp-diagnostics.test.js.map +1 -1
  127. package/dist/test/integration/lsp/lsp-file-watcher.test.js +8 -8
  128. package/dist/test/integration/lsp/lsp-file-watcher.test.js.map +1 -1
  129. package/dist/test/integration/lsp/lsp-modules.test.js +6 -6
  130. package/dist/test/integration/lsp/lsp-multi-rename.test.js +1 -1
  131. package/dist/test/integration/lsp/lsp-multi-rename.test.js.map +1 -1
  132. package/dist/test/integration/lsp/lsp-navigation.test.js +21 -21
  133. package/dist/test/integration/lsp/lsp-navigation.test.js.map +1 -1
  134. package/dist/test/integration/pipeline/pipeline.test.js +38 -38
  135. package/dist/test/integration/pipeline/pipeline.test.js.map +1 -1
  136. package/dist/test/property/lsp-props.test.js +2 -2
  137. package/dist/test/property/lsp-props.test.js.map +1 -1
  138. package/dist/test/property/property.test.js +25 -25
  139. package/dist/test/property/property.test.js.map +1 -1
  140. package/dist/test/type-checker/cross-module-packages.test.js +2 -1
  141. package/dist/test/type-checker/cross-module-packages.test.js.map +1 -1
  142. package/dist/test/unit/async/async-discipline.test.js +81 -81
  143. package/dist/test/unit/async/async-schedule.test.js +23 -23
  144. package/dist/test/unit/canonicalizer/canonicalizer.test.js +19 -13
  145. package/dist/test/unit/canonicalizer/canonicalizer.test.js.map +1 -1
  146. package/dist/test/unit/config/lexicons/zh-CN.test.js +44 -71
  147. package/dist/test/unit/config/lexicons/zh-CN.test.js.map +1 -1
  148. package/dist/test/unit/generator.test.js +3 -3
  149. package/dist/test/unit/generator.test.js.map +1 -1
  150. package/dist/test/unit/keyword-translator.test.js +55 -56
  151. package/dist/test/unit/keyword-translator.test.js.map +1 -1
  152. package/dist/test/unit/lexer/lexer.test.js +5 -5
  153. package/dist/test/unit/lexer/lexer.test.js.map +1 -1
  154. package/dist/test/unit/lowering/lowering.test.js +13 -13
  155. package/dist/test/unit/lsp/codeaction.test.js +9 -9
  156. package/dist/test/unit/lsp/codeaction.test.js.map +1 -1
  157. package/dist/test/unit/lsp/symbols.test.js +2 -2
  158. package/dist/test/unit/lsp/symbols.test.js.map +1 -1
  159. package/dist/test/unit/module-cache-packages.test.js +4 -4
  160. package/dist/test/unit/module-cache-packages.test.js.map +1 -1
  161. package/dist/test/unit/parser/parser.test.js +137 -137
  162. package/dist/test/unit/parser/parser.test.js.map +1 -1
  163. package/dist/test/unit/provenance-integration.test.js +16 -16
  164. package/dist/test/unit/provenance.test.js +5 -5
  165. package/dist/test/unit/provenance.test.js.map +1 -1
  166. package/dist/test/unit/typecheck/async-discipline-extended.test.js +4 -4
  167. package/dist/test/unit/typecheck/effects-and-capabilities.test.js +18 -18
  168. package/dist/test/unit/typecheck/type-inference.test.js +23 -23
  169. package/dist/test/unit/typecheck/typecheck-advanced.test.js +10 -10
  170. package/dist/test/unit/validator.test.js +14 -14
  171. package/dist/test/unit/validator.test.js.map +1 -1
  172. package/package.json +57 -39
@@ -1 +1 @@
1
- {"version":3,"file":"generator.test.js","sourceRoot":"","sources":["../../../test/unit/generator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.test.js","sourceRoot":"","sources":["../../../test/unit/generator.test.ts"],"names":[],"mappings":"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"}
@@ -20,23 +20,24 @@ describe('关键词翻译器', () => {
20
20
  it('应构建 zh-CN 到 en-US 的翻译索引', () => {
21
21
  const index = buildKeywordTranslationIndex(ZH_CN, EN_US);
22
22
  // 验证控制流关键词(普通关键词,不含【】)
23
- assert.strictEqual(index.get('如果'), 'if');
24
- assert.strictEqual(index.get(''), 'match');
23
+ // 翻译值来自 Java 源 en-US lexicon,部分关键词首字母大写
24
+ assert.strictEqual(index.get('如果'), 'If');
25
+ assert.strictEqual(index.get('若'), 'Match');
25
26
  // 注意:'为' 同时用于 WHEN 和 BE(复合关键词),由于构建顺序 WHEN 会覆盖 BE
26
27
  // 实际解析时依赖上下文:match 块内为 when,let 语句后为 be
27
- assert.strictEqual(index.get('为'), 'when');
28
- assert.strictEqual(index.get('返回'), 'return');
29
- assert.strictEqual(index.get('否则'), 'otherwise');
30
- assert.strictEqual(index.get('令'), 'let');
28
+ assert.strictEqual(index.get('为'), 'When');
29
+ assert.strictEqual(index.get('返回'), 'Return');
30
+ assert.strictEqual(index.get('否则'), 'Otherwise');
31
+ assert.strictEqual(index.get('令'), 'Let');
31
32
  // 验证普通类型定义关键词(不含【】)
32
33
  assert.strictEqual(index.get('包含'), 'with');
33
34
  // 验证函数定义关键词
34
- // 注意: '【函数】' 是标记关键词,在 markerIndex 中而不是 index 中
35
+ // 注意: '规则' 是标记关键词,在 markerIndex 中而不是 index 中
35
36
  assert.strictEqual(index.get('产出'), 'produce');
36
37
  // 验证类型关键词
37
- assert.strictEqual(index.get('整数'), 'int');
38
- assert.strictEqual(index.get('文本'), 'text');
39
- assert.strictEqual(index.get('布尔'), 'bool');
38
+ assert.strictEqual(index.get('整数'), 'Int');
39
+ assert.strictEqual(index.get('文本'), 'Text');
40
+ assert.strictEqual(index.get('布尔'), 'Bool');
40
41
  // 验证布尔字面量
41
42
  assert.strictEqual(index.get('真'), 'true');
42
43
  assert.strictEqual(index.get('假'), 'false');
@@ -45,7 +46,7 @@ describe('关键词翻译器', () => {
45
46
  it('应支持大小写不敏感的映射', () => {
46
47
  const index = buildKeywordTranslationIndex(ZH_CN, EN_US);
47
48
  // 中文关键词没有大小写问题,但英文关键词应保持原始大小写
48
- assert.strictEqual(index.get('如果'), 'if');
49
+ assert.strictEqual(index.get('如果'), 'If');
49
50
  });
50
51
  it('对相同词法表应返回空索引', () => {
51
52
  const index = buildKeywordTranslationIndex(EN_US, EN_US);
@@ -53,18 +54,20 @@ describe('关键词翻译器', () => {
53
54
  });
54
55
  });
55
56
  describe('buildFullTranslationIndex', () => {
56
- it('应构建普通关键词和标记关键词的完整索引', () => {
57
+ it('应构建普通关键词的完整索引', () => {
57
58
  const { index, markerIndex } = buildFullTranslationIndex(ZH_CN, EN_US);
58
59
  // 验证普通关键词在 index 中
59
- assert.strictEqual(index.get('如果'), 'if');
60
- assert.strictEqual(index.get('若'), 'match');
61
- assert.strictEqual(index.get('返回'), 'return');
60
+ assert.strictEqual(index.get('如果'), 'If');
61
+ assert.strictEqual(index.get('若'), 'Match');
62
+ assert.strictEqual(index.get('返回'), 'Return');
62
63
  assert.strictEqual(index.get('包含'), 'with');
63
- // 验证标记关键词在 markerIndex 中(不含【】的内部值)
64
- assert.strictEqual(markerIndex.get('定义'), 'define');
65
- assert.strictEqual(markerIndex.get('模块'), 'this module is');
66
- assert.strictEqual(markerIndex.get('流程'), 'workflow');
67
- assert.strictEqual(markerIndex.get('步骤'), 'step');
64
+ // 中文不再使用【】标记,所有关键词都在 index
65
+ assert.strictEqual(index.get('定义'), 'Define');
66
+ assert.strictEqual(index.get('模块'), 'Module');
67
+ assert.strictEqual(index.get('流程'), 'workflow');
68
+ assert.strictEqual(index.get('步骤'), 'step');
69
+ // markerIndex 应为空(中文无标记符号)
70
+ assert.strictEqual(markerIndex.size, 0);
68
71
  });
69
72
  });
70
73
  describe('needsKeywordTranslation', () => {
@@ -89,7 +92,7 @@ describe('关键词翻译器', () => {
89
92
  end: { line: 1, col: 2 },
90
93
  };
91
94
  const translated = translateToken(token, index);
92
- assert.strictEqual(translated.value, 'if');
95
+ assert.strictEqual(translated.value, 'If');
93
96
  assert.strictEqual(translated.kind, TokenKind.IDENT);
94
97
  });
95
98
  it('应保持非关键词 token 不变', () => {
@@ -126,10 +129,10 @@ describe('关键词翻译器', () => {
126
129
  { kind: TokenKind.IDENT, value: '返回', start: { line: 1, col: 7 }, end: { line: 1, col: 9 } },
127
130
  ];
128
131
  const translated = translateTokens(tokens, index);
129
- assert.strictEqual(translated[0].value, 'if');
132
+ assert.strictEqual(translated[0].value, 'If');
130
133
  assert.strictEqual(translated[1].value, 'x');
131
134
  assert.strictEqual(translated[2].kind, TokenKind.COLON);
132
- assert.strictEqual(translated[3].value, 'return');
135
+ assert.strictEqual(translated[3].value, 'Return');
133
136
  });
134
137
  it('不应修改原数组', () => {
135
138
  const index = buildKeywordTranslationIndex(ZH_CN, EN_US);
@@ -159,16 +162,16 @@ describe('关键词翻译器', () => {
159
162
  });
160
163
  it('getTranslation 应返回正确的翻译', () => {
161
164
  const translator = createKeywordTranslator(ZH_CN);
162
- assert.strictEqual(translator.getTranslation('如果'), 'if');
163
- assert.strictEqual(translator.getTranslation('若'), 'match');
164
- assert.strictEqual(translator.getTranslation('返回'), 'return');
165
+ assert.strictEqual(translator.getTranslation('如果'), 'If');
166
+ assert.strictEqual(translator.getTranslation('若'), 'Match');
167
+ assert.strictEqual(translator.getTranslation('返回'), 'Return');
165
168
  assert.strictEqual(translator.getTranslation('驾驶员'), undefined);
166
169
  });
167
170
  });
168
171
  describe('完整编译流程集成', () => {
169
172
  it('应能解析翻译后的中文 CNL 简单返回语句', () => {
170
- // 中文源代码 - 使用 【函数】 标记关键词
171
- const zhSource = '【函数】 identity 包含 id,产出:\n 返回 id。';
173
+ // 中文源代码 - 使用 规则 关键词
174
+ const zhSource = '规则 identity 包含 id,产出:\n 返回 id。';
172
175
  // 步骤 1: 规范化
173
176
  const canonical = canonicalize(zhSource, ZH_CN);
174
177
  // 步骤 2: 词法分析
@@ -176,17 +179,16 @@ describe('关键词翻译器', () => {
176
179
  // 步骤 3: 关键词翻译
177
180
  const translator = createKeywordTranslator(ZH_CN);
178
181
  const translatedTokens = translator.translateTokens(tokens);
179
- // 验证关键词已翻译
180
- const typeIdentTokens = translatedTokens.filter(t => t.kind === TokenKind.TYPE_IDENT);
181
- const hasTo = typeIdentTokens.some(t => t.value === 'to');
182
- const identTokens = translatedTokens.filter(t => t.kind === TokenKind.IDENT);
183
- const hasWith = identTokens.some(t => t.value === 'with');
184
- const hasProduce = identTokens.some(t => t.value === 'produce');
185
- const hasReturn = identTokens.some(t => t.value === 'return');
186
- assert.ok(hasTo, '应有翻译后的 "to" 关键词(TYPE_IDENT)');
182
+ // 验证关键词已翻译(翻译值来自 Java 源 en-US lexicon)
183
+ const allTokens = translatedTokens;
184
+ const hasRule = allTokens.some(t => t.value?.toLowerCase() === 'rule');
185
+ const hasWith = allTokens.some(t => t.value?.toLowerCase() === 'with');
186
+ const hasProduce = allTokens.some(t => t.value?.toLowerCase() === 'produce');
187
+ const hasReturn = allTokens.some(t => t.value?.toLowerCase() === 'return');
188
+ assert.ok(hasRule, '应有翻译后的 "Rule" 关键词');
187
189
  assert.ok(hasWith, '应有翻译后的 "with" 关键词');
188
190
  assert.ok(hasProduce, '应有翻译后的 "produce" 关键词');
189
- assert.ok(hasReturn, '应有翻译后的 "return" 关键词');
191
+ assert.ok(hasReturn, '应有翻译后的 "Return" 关键词');
190
192
  // 步骤 4: 解析(使用翻译后的 token)
191
193
  const ast = parse(translatedTokens);
192
194
  // 验证 AST 结构
@@ -195,23 +197,20 @@ describe('关键词翻译器', () => {
195
197
  });
196
198
  it('应能解析翻译后的中文 CNL 类型定义', () => {
197
199
  // 中文类型定义
198
- const zhSource = '【定义】 Driver 包含 age:整数。';
200
+ const zhSource = '定义 Driver 包含 age:整数。';
199
201
  // 完整编译流程
200
202
  const canonical = canonicalize(zhSource, ZH_CN);
201
203
  const tokens = lex(canonical, ZH_CN);
202
204
  const translator = createKeywordTranslator(ZH_CN);
203
205
  const translatedTokens = translator.translateTokens(tokens);
204
- // 验证关键词翻译
205
- // 标记关键词【定义】被合并为 TYPE_IDENT token
206
- const typeIdentTokens = translatedTokens.filter(t => t.kind === TokenKind.TYPE_IDENT);
207
- const hasDefine = typeIdentTokens.some(t => t.value === 'define');
208
- // 普通关键词保持为 IDENT token
209
- const identTokens = translatedTokens.filter(t => t.kind === TokenKind.IDENT);
210
- const hasWith = identTokens.some(t => t.value === 'with');
211
- const hasInt = identTokens.some(t => t.value === 'int');
212
- assert.ok(hasDefine, '应有翻译后的 "define" 关键词(TYPE_IDENT)');
206
+ // 验证关键词翻译(翻译值来自 Java 源 en-US lexicon)
207
+ const allTokens = translatedTokens;
208
+ const hasDefine = allTokens.some(t => t.value?.toLowerCase() === 'define');
209
+ const hasWith = allTokens.some(t => t.value?.toLowerCase() === 'with');
210
+ const hasInt = allTokens.some(t => t.value?.toLowerCase() === 'int');
211
+ assert.ok(hasDefine, '应有翻译后的 "Define" 关键词');
213
212
  assert.ok(hasWith, '应有翻译后的 "with" 关键词');
214
- assert.ok(hasInt, '应有翻译后的 "int" 类型');
213
+ assert.ok(hasInt, '应有翻译后的 "Int" 类型');
215
214
  // 解析
216
215
  const ast = parse(translatedTokens);
217
216
  assert.ok(ast, '应生成 AST');
@@ -220,8 +219,8 @@ describe('关键词翻译器', () => {
220
219
  assert.ok(dataDef, '应有 Data 类型定义');
221
220
  });
222
221
  it('应能解析翻译后的中文 CNL If 语句', () => {
223
- // 中文 If 语句 - 使用 【函数】 标记关键词
224
- const zhSource = `【函数】 check 包含 x,产出:
222
+ // 中文 If 语句 - 使用 规则 标记关键词
223
+ const zhSource = `规则 check 包含 x,产出:
225
224
  如果 1 小于 2:
226
225
  返回 1。
227
226
  返回 0。`;
@@ -230,19 +229,19 @@ describe('关键词翻译器', () => {
230
229
  const tokens = lex(canonical, ZH_CN);
231
230
  const translator = createKeywordTranslator(ZH_CN);
232
231
  const translatedTokens = translator.translateTokens(tokens);
233
- // 验证关键词翻译
232
+ // 验证关键词翻译(使用大小写不敏感比较,值来自 Java 源 en-US lexicon)
234
233
  const identTokens = translatedTokens.filter(t => t.kind === TokenKind.IDENT);
235
- const hasIf = identTokens.some(t => t.value === 'if');
236
- const hasReturn = identTokens.some(t => t.value === 'return');
237
- assert.ok(hasIf, '应有翻译后的 "if" 关键词');
238
- assert.ok(hasReturn, '应有翻译后的 "return" 关键词');
234
+ const hasIf = identTokens.some(t => t.value?.toLowerCase() === 'if');
235
+ const hasReturn = identTokens.some(t => t.value?.toLowerCase() === 'return');
236
+ assert.ok(hasIf, '应有翻译后的 "If" 关键词');
237
+ assert.ok(hasReturn, '应有翻译后的 "Return" 关键词');
239
238
  // 解析
240
239
  const ast = parse(translatedTokens);
241
240
  assert.ok(ast, '应生成 AST');
242
241
  });
243
242
  it('英文 CNL 不受影响', () => {
244
243
  // 英文源代码
245
- const enSource = 'To id, produce Int:\n Return 1.';
244
+ const enSource = 'Rule id, produce Int:\n Return 1.';
246
245
  // 完整编译流程(英文不需要翻译,但测试流程不会出错)
247
246
  const canonical = canonicalize(enSource, EN_US);
248
247
  const tokens = lex(canonical, EN_US);
@@ -1 +1 @@
1
- {"version":3,"file":"keyword-translator.test.js","sourceRoot":"","sources":["../../../test/unit/keyword-translator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyword-translator.test.js","sourceRoot":"","sources":["../../../test/unit/keyword-translator.test.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,12 @@ function significant(tokens) {
13
13
  describe('词法分析器', () => {
14
14
  test('应该识别模块声明中的标识符序列', () => {
15
15
  const tokens = significant(tokenize(`
16
- This module is test.lexer.basic.
16
+ Module test.lexer.basic.
17
17
  `));
18
18
  const words = tokens
19
19
  .filter(t => t.kind === TokenKind.IDENT || t.kind === TokenKind.TYPE_IDENT)
20
20
  .map(t => t.value.toLowerCase());
21
- assert.deepEqual(words.slice(0, 3), ['this', 'module', 'is']);
21
+ assert.deepEqual(words.slice(0, 1), ['module']);
22
22
  assert.equal(tokens.some(t => t.kind === TokenKind.DOT), true, '模块名应该拆分出 DOT');
23
23
  });
24
24
  test('应该识别整数、浮点数与长整型字面量', () => {
@@ -45,7 +45,7 @@ This module is test.lexer.basic.
45
45
  });
46
46
  test('应该跟踪换行与缩进生成 INDENT/DEDENT', () => {
47
47
  const tokens = significant(tokenize(`
48
- To sample, produce Int:
48
+ Rule sample, produce Int:
49
49
  Return 1.
50
50
  `));
51
51
  const indentCount = tokens.filter(t => t.kind === TokenKind.INDENT).length;
@@ -107,13 +107,13 @@ Return 1.
107
107
  assert.equal(withSpaces[2].kind, TokenKind.IDENT);
108
108
  });
109
109
  it('应该在奇数缩进时报错并允许 2 空格缩进', () => {
110
- assert.throws(() => tokenize(`To broken, produce Int:
110
+ assert.throws(() => tokenize(`Rule broken, produce Int:
111
111
  Return 1.
112
112
  `), error => {
113
113
  assert.match(String(error), /Indentation must be multiples of 2 spaces/i);
114
114
  return true;
115
115
  });
116
- const okTokens = tokenize(`To fine, produce Int:
116
+ const okTokens = tokenize(`Rule fine, produce Int:
117
117
  Return 1.
118
118
  `);
119
119
  const indentCount = okTokens.filter(token => token.kind === TokenKind.INDENT).length;
@@ -1 +1 @@
1
- {"version":3,"file":"lexer.test.js","sourceRoot":"","sources":["../../../../test/unit/lexer/lexer.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lexer.test.js","sourceRoot":"","sources":["../../../../test/unit/lexer/lexer.test.ts"],"names":[],"mappings":"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"}
@@ -31,11 +31,11 @@ function makeFunc(options) {
31
31
  describe('降级至 Core IR', () => {
32
32
  it('模块降级后应保留名称与声明数量', () => {
33
33
  const core = lower(`
34
- This module is test.lowering.basic.
34
+ Module test.lowering.basic.
35
35
 
36
- Define User with id: Text.
36
+ Define User has id: Text.
37
37
 
38
- To ping, produce Text:
38
+ Rule ping, produce Text:
39
39
  Return "pong".
40
40
  `);
41
41
  assert.equal(core.kind, 'Module');
@@ -44,9 +44,9 @@ To ping, produce Text:
44
44
  });
45
45
  it('函数降级后应保留参数与返回类型', () => {
46
46
  const core = lower(`
47
- This module is test.lowering.func_types.
47
+ Module test.lowering.func_types.
48
48
 
49
- To repeat with text: Text and times: Int, produce Text:
49
+ Rule repeat given text: Text and times: Int, produce Text:
50
50
  Return text.
51
51
  `);
52
52
  const func = core.decls.find(d => d.kind === 'Func');
@@ -58,9 +58,9 @@ To repeat with text: Text and times: Int, produce Text:
58
58
  });
59
59
  it('Return 语句应降级为 Core.Return', () => {
60
60
  const core = lower(`
61
- This module is test.lowering.return_stmt.
61
+ Module test.lowering.return_stmt.
62
62
 
63
- To identity with value: Int, produce Int:
63
+ Rule identity given value: Int, produce Int:
64
64
  Return value.
65
65
  `);
66
66
  const func = core.decls.find(d => d.kind === 'Func');
@@ -70,11 +70,11 @@ To identity with value: Int, produce Int:
70
70
  });
71
71
  it('Match 语句应降级并保留所有分支', () => {
72
72
  const core = lower(`
73
- This module is test.lowering.match_stmt.
73
+ Module test.lowering.match_stmt.
74
74
 
75
75
  Define Result as one of Ok, Err.
76
76
 
77
- To handle with result: Result, produce Int:
77
+ Rule handle given result: Result, produce Int:
78
78
  Match result:
79
79
  When Ok, Return 1.
80
80
  When Err, Return 0.
@@ -88,9 +88,9 @@ To handle with result: Result, produce Int:
88
88
  });
89
89
  it('Maybe 类型应降级为 Core.Maybe 包装类型', () => {
90
90
  const core = lower(`
91
- This module is test.lowering.maybe_type.
91
+ Module test.lowering.maybe_type.
92
92
 
93
- To safeHead with items: List of Int, produce Int?:
93
+ Rule safeHead given items: List of Int, produce Int?:
94
94
  Return None.
95
95
  `);
96
96
  const func = core.decls.find(d => d.kind === 'Func');
@@ -101,9 +101,9 @@ To safeHead with items: List of Int, produce Int?:
101
101
  });
102
102
  it('Lambda 表达式应降级为 Core.Lambda 并保留参数信息', () => {
103
103
  const core = lower(`
104
- This module is test.lowering.lambda_arrows.
104
+ Module test.lowering.lambda_arrows.
105
105
 
106
- To makeIdentity, produce Fn1:
106
+ Rule makeIdentity, produce Fn1:
107
107
  Return (value: Text) => value.
108
108
  `);
109
109
  const func = core.decls.find(d => d.kind === 'Func');
@@ -52,7 +52,7 @@ describe('registerCodeActionHandlers', () => {
52
52
  assert.ok(connection.handlers.codeAction, 'onCodeAction handler should be registered');
53
53
  });
54
54
  it('应该对 EFF_MISSING_IO 提供 Quick Fix', async () => {
55
- const text = 'To fetchData:\n return "data".';
55
+ const text = 'Rule fetchData:\n return "data".';
56
56
  const connection = createMockConnection();
57
57
  const documents = createMockDocuments(text);
58
58
  const getOrParse = createMockGetOrParse();
@@ -79,7 +79,7 @@ describe('registerCodeActionHandlers', () => {
79
79
  assert.strictEqual(ioAction.kind, CodeActionKind.QuickFix);
80
80
  });
81
81
  it('应该对 EFF_MISSING_CPU 提供 Quick Fix', async () => {
82
- const text = 'To compute:\n return 42.';
82
+ const text = 'Rule compute:\n return 42.';
83
83
  const connection = createMockConnection();
84
84
  const documents = createMockDocuments(text);
85
85
  const getOrParse = createMockGetOrParse();
@@ -104,7 +104,7 @@ describe('registerCodeActionHandlers', () => {
104
104
  assert.ok(cpuAction, 'should have CPU quick fix');
105
105
  });
106
106
  it('应该对 EFF_SUPERFLUOUS_IO 提供移除 Quick Fix', async () => {
107
- const text = 'To getData. It performs IO:\n return "data".';
107
+ const text = 'Rule getData. It performs IO:\n return "data".';
108
108
  const connection = createMockConnection();
109
109
  const documents = createMockDocuments(text);
110
110
  const getOrParse = createMockGetOrParse();
@@ -281,7 +281,7 @@ describe('辅助函数测试', () => {
281
281
  describe('extractFuncNameFromMessage', () => {
282
282
  it('应该从诊断消息中提取函数名', () => {
283
283
  // 通过创建一个包含该函数的诊断来间接测试
284
- const text = 'To fetchData:\n return "data".';
284
+ const text = 'Rule fetchData:\n return "data".';
285
285
  const connection = createMockConnection();
286
286
  const documents = createMockDocuments(text);
287
287
  const getOrParse = createMockGetOrParse();
@@ -311,7 +311,7 @@ describe('辅助函数测试', () => {
311
311
  });
312
312
  describe('extractModuleName', () => {
313
313
  it('应该从文本中提取模块名', async () => {
314
- const text = 'This module is examples.test.\nTo func:\n return 1.';
314
+ const text = 'Module examples.test.\nRule func:\n return 1.';
315
315
  const connection = createMockConnection();
316
316
  const documents = createMockDocuments(text);
317
317
  const getOrParse = createMockGetOrParse();
@@ -341,7 +341,7 @@ describe('辅助函数测试', () => {
341
341
  });
342
342
  describe('headerInsertEffectEdit', () => {
343
343
  it('应该在函数声明行插入效果声明', async () => {
344
- const text = 'To fetchData:\n return "data".';
344
+ const text = 'Rule fetchData:\n return "data".';
345
345
  const connection = createMockConnection();
346
346
  const documents = createMockDocuments(text);
347
347
  const getOrParse = createMockGetOrParse();
@@ -369,7 +369,7 @@ describe('辅助函数测试', () => {
369
369
  assert.ok(edits[0]?.newText?.includes('It performs IO'), 'should insert effect declaration');
370
370
  });
371
371
  it('应该在已有效果声明时返回 null', async () => {
372
- const text = 'To fetchData. It performs IO:\n return "data".';
372
+ const text = 'Rule fetchData. It performs IO:\n return "data".';
373
373
  const connection = createMockConnection();
374
374
  const documents = createMockDocuments(text);
375
375
  const getOrParse = createMockGetOrParse();
@@ -397,7 +397,7 @@ describe('辅助函数测试', () => {
397
397
  });
398
398
  describe('headerRemoveEffectEdit', () => {
399
399
  it('应该移除函数声明行的效果声明', async () => {
400
- const text = 'To getData. It performs IO:\n return "data".';
400
+ const text = 'Rule getData. It performs IO:\n return "data".';
401
401
  const connection = createMockConnection();
402
402
  const documents = createMockDocuments(text);
403
403
  const getOrParse = createMockGetOrParse();
@@ -423,7 +423,7 @@ describe('辅助函数测试', () => {
423
423
  const edits = removeAction.edit.changes['file:///test.aster'];
424
424
  assert.ok(Array.isArray(edits), 'should have text edits');
425
425
  assert.ok(!edits[0]?.newText?.includes('It performs IO'), 'should remove effect declaration');
426
- assert.ok(edits[0]?.newText?.includes('To getData:'), 'should keep function header');
426
+ assert.ok(edits[0]?.newText?.includes('Rule getData:'), 'should keep function header');
427
427
  });
428
428
  });
429
429
  describe('suggestNullReplacement', () => {