@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.
- package/dist/peg/headers-parser.js +459 -233
- package/dist/scripts/aster.js +0 -0
- package/dist/scripts/emit-core.js +0 -0
- package/dist/scripts/generate-lexicons.d.ts +13 -0
- package/dist/scripts/generate-lexicons.d.ts.map +1 -0
- package/dist/scripts/generate-lexicons.js +152 -0
- package/dist/scripts/generate-lexicons.js.map +1 -0
- package/dist/scripts/generate-vocabularies.d.ts +13 -0
- package/dist/scripts/generate-vocabularies.d.ts.map +1 -0
- package/dist/scripts/generate-vocabularies.js +205 -0
- package/dist/scripts/generate-vocabularies.js.map +1 -0
- package/dist/scripts/golden.js +4 -4
- package/dist/scripts/golden.js.map +1 -1
- package/dist/scripts/perf-assert.js +2 -2
- package/dist/scripts/perf-assert.js.map +1 -1
- package/dist/scripts/perf-lsp.js +2 -2
- package/dist/scripts/perf-lsp.js.map +1 -1
- package/dist/scripts/scaffold.js +4 -4
- package/dist/scripts/verify-lexicon-sync.d.ts +14 -0
- package/dist/scripts/verify-lexicon-sync.d.ts.map +1 -0
- package/dist/scripts/verify-lexicon-sync.js +248 -0
- package/dist/scripts/verify-lexicon-sync.js.map +1 -0
- package/dist/src/browser.d.ts +2 -0
- package/dist/src/browser.d.ts.map +1 -1
- package/dist/src/browser.js +14 -3
- package/dist/src/browser.js.map +1 -1
- package/dist/src/cli/policy-converter.js +0 -0
- package/dist/src/config/lexicons/de-DE.d.ts +0 -9
- package/dist/src/config/lexicons/de-DE.d.ts.map +1 -1
- package/dist/src/config/lexicons/de-DE.js +27 -53
- package/dist/src/config/lexicons/de-DE.js.map +1 -1
- package/dist/src/config/lexicons/en-US.d.ts +0 -12
- package/dist/src/config/lexicons/en-US.d.ts.map +1 -1
- package/dist/src/config/lexicons/en-US.js +27 -50
- package/dist/src/config/lexicons/en-US.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.d.ts +3 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.js +310 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.d.ts +3 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.js +291 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.d.ts +1 -11
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js +47 -33
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/index.d.ts +7 -0
- package/dist/src/config/lexicons/identifiers/domains/index.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/index.js +8 -0
- package/dist/src/config/lexicons/identifiers/domains/index.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.d.ts +3 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.js +275 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.d.ts +3 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.js +261 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.d.ts +1 -23
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js +81 -155
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js +8 -8
- package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/index.d.ts +1 -2
- package/dist/src/config/lexicons/identifiers/index.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/index.js +2 -3
- package/dist/src/config/lexicons/identifiers/index.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/registry.d.ts +2 -2
- package/dist/src/config/lexicons/identifiers/registry.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/registry.js +16 -3
- package/dist/src/config/lexicons/identifiers/registry.js.map +1 -1
- package/dist/src/config/lexicons/template.d.ts.map +1 -1
- package/dist/src/config/lexicons/template.js +18 -8
- package/dist/src/config/lexicons/template.js.map +1 -1
- package/dist/src/config/lexicons/types.d.ts +1 -1
- package/dist/src/config/lexicons/types.d.ts.map +1 -1
- package/dist/src/config/lexicons/zh-CN.d.ts +0 -18
- package/dist/src/config/lexicons/zh-CN.d.ts.map +1 -1
- package/dist/src/config/lexicons/zh-CN.js +26 -61
- package/dist/src/config/lexicons/zh-CN.js.map +1 -1
- package/dist/src/config/semantic.d.ts +9 -4
- package/dist/src/config/semantic.d.ts.map +1 -1
- package/dist/src/config/semantic.js +16 -5
- package/dist/src/config/semantic.js.map +1 -1
- package/dist/src/config/token-kind.d.ts +17 -5
- package/dist/src/config/token-kind.d.ts.map +1 -1
- package/dist/src/config/token-kind.js +23 -7
- package/dist/src/config/token-kind.js.map +1 -1
- package/dist/src/frontend/canonicalizer.d.ts +20 -2
- package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
- package/dist/src/frontend/canonicalizer.js +58 -2
- package/dist/src/frontend/canonicalizer.js.map +1 -1
- package/dist/src/frontend/index.d.ts +1 -0
- package/dist/src/frontend/index.d.ts.map +1 -1
- package/dist/src/frontend/index.js.map +1 -1
- package/dist/src/frontend/keyword-translator.d.ts.map +1 -1
- package/dist/src/frontend/keyword-translator.js +51 -15
- package/dist/src/frontend/keyword-translator.js.map +1 -1
- package/dist/src/lsp/codeaction.js +9 -9
- package/dist/src/lsp/codeaction.js.map +1 -1
- package/dist/src/lsp/completion.js +2 -2
- package/dist/src/lsp/completion.js.map +1 -1
- package/dist/src/lsp/module_cache.js +2 -2
- package/dist/src/lsp/module_cache.js.map +1 -1
- package/dist/src/lsp/server.js +0 -0
- package/dist/src/lsp/symbols.js +2 -2
- package/dist/src/lsp/symbols.js.map +1 -1
- package/dist/src/parser/decl-parser.d.ts +2 -2
- package/dist/src/parser/decl-parser.js +12 -12
- package/dist/src/parser/decl-parser.js.map +1 -1
- package/dist/src/parser/expr-stmt-parser.js +2 -2
- package/dist/src/parser/expr-stmt-parser.js.map +1 -1
- package/dist/src/parser.d.ts +1 -1
- package/dist/src/parser.js +1 -1
- package/dist/test/compiler/depends-on.test.js +2 -2
- package/dist/test/compiler/depends-on.test.js.map +1 -1
- package/dist/test/compiler/workflow-emitter-helpers.js +2 -2
- package/dist/test/compiler/workflow-emitter-helpers.js.map +1 -1
- package/dist/test/generators.js +18 -18
- package/dist/test/generators.js.map +1 -1
- package/dist/test/integration/lsp/lsp-completion.test.js +13 -13
- package/dist/test/integration/lsp/lsp-completion.test.js.map +1 -1
- package/dist/test/integration/lsp/lsp-diagnostics.test.js +7 -7
- package/dist/test/integration/lsp/lsp-diagnostics.test.js.map +1 -1
- package/dist/test/integration/lsp/lsp-file-watcher.test.js +8 -8
- package/dist/test/integration/lsp/lsp-file-watcher.test.js.map +1 -1
- package/dist/test/integration/lsp/lsp-modules.test.js +6 -6
- package/dist/test/integration/lsp/lsp-multi-rename.test.js +1 -1
- package/dist/test/integration/lsp/lsp-multi-rename.test.js.map +1 -1
- package/dist/test/integration/lsp/lsp-navigation.test.js +21 -21
- package/dist/test/integration/lsp/lsp-navigation.test.js.map +1 -1
- package/dist/test/integration/pipeline/pipeline.test.js +38 -38
- package/dist/test/integration/pipeline/pipeline.test.js.map +1 -1
- package/dist/test/property/lsp-props.test.js +2 -2
- package/dist/test/property/lsp-props.test.js.map +1 -1
- package/dist/test/property/property.test.js +25 -25
- package/dist/test/property/property.test.js.map +1 -1
- package/dist/test/type-checker/cross-module-packages.test.js +2 -1
- package/dist/test/type-checker/cross-module-packages.test.js.map +1 -1
- package/dist/test/unit/async/async-discipline.test.js +81 -81
- package/dist/test/unit/async/async-schedule.test.js +23 -23
- package/dist/test/unit/canonicalizer/canonicalizer.test.js +19 -13
- package/dist/test/unit/canonicalizer/canonicalizer.test.js.map +1 -1
- package/dist/test/unit/config/lexicons/zh-CN.test.js +44 -71
- package/dist/test/unit/config/lexicons/zh-CN.test.js.map +1 -1
- package/dist/test/unit/generator.test.js +3 -3
- package/dist/test/unit/generator.test.js.map +1 -1
- package/dist/test/unit/keyword-translator.test.js +55 -56
- package/dist/test/unit/keyword-translator.test.js.map +1 -1
- package/dist/test/unit/lexer/lexer.test.js +5 -5
- package/dist/test/unit/lexer/lexer.test.js.map +1 -1
- package/dist/test/unit/lowering/lowering.test.js +13 -13
- package/dist/test/unit/lsp/codeaction.test.js +9 -9
- package/dist/test/unit/lsp/codeaction.test.js.map +1 -1
- package/dist/test/unit/lsp/symbols.test.js +2 -2
- package/dist/test/unit/lsp/symbols.test.js.map +1 -1
- package/dist/test/unit/module-cache-packages.test.js +4 -4
- package/dist/test/unit/module-cache-packages.test.js.map +1 -1
- package/dist/test/unit/parser/parser.test.js +137 -137
- package/dist/test/unit/parser/parser.test.js.map +1 -1
- package/dist/test/unit/provenance-integration.test.js +16 -16
- package/dist/test/unit/provenance.test.js +5 -5
- package/dist/test/unit/provenance.test.js.map +1 -1
- package/dist/test/unit/typecheck/async-discipline-extended.test.js +4 -4
- package/dist/test/unit/typecheck/effects-and-capabilities.test.js +18 -18
- package/dist/test/unit/typecheck/type-inference.test.js +23 -23
- package/dist/test/unit/typecheck/typecheck-advanced.test.js +10 -10
- package/dist/test/unit/validator.test.js +14 -14
- package/dist/test/unit/validator.test.js.map +1 -1
- 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
|
-
|
|
24
|
-
assert.strictEqual(index.get('
|
|
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('为'), '
|
|
28
|
-
assert.strictEqual(index.get('返回'), '
|
|
29
|
-
assert.strictEqual(index.get('否则'), '
|
|
30
|
-
assert.strictEqual(index.get('令'), '
|
|
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
|
-
// 注意: '
|
|
35
|
+
// 注意: '规则' 是标记关键词,在 markerIndex 中而不是 index 中
|
|
35
36
|
assert.strictEqual(index.get('产出'), 'produce');
|
|
36
37
|
// 验证类型关键词
|
|
37
|
-
assert.strictEqual(index.get('整数'), '
|
|
38
|
-
assert.strictEqual(index.get('文本'), '
|
|
39
|
-
assert.strictEqual(index.get('布尔'), '
|
|
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('如果'), '
|
|
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('如果'), '
|
|
60
|
-
assert.strictEqual(index.get('若'), '
|
|
61
|
-
assert.strictEqual(index.get('返回'), '
|
|
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
|
-
//
|
|
64
|
-
assert.strictEqual(
|
|
65
|
-
assert.strictEqual(
|
|
66
|
-
assert.strictEqual(
|
|
67
|
-
assert.strictEqual(
|
|
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, '
|
|
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, '
|
|
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, '
|
|
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('如果'), '
|
|
163
|
-
assert.strictEqual(translator.getTranslation('若'), '
|
|
164
|
-
assert.strictEqual(translator.getTranslation('返回'), '
|
|
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 = '
|
|
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
|
|
181
|
-
const
|
|
182
|
-
const
|
|
183
|
-
const
|
|
184
|
-
const
|
|
185
|
-
|
|
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, '应有翻译后的 "
|
|
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 = '
|
|
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
|
-
|
|
206
|
-
const
|
|
207
|
-
const
|
|
208
|
-
|
|
209
|
-
|
|
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, '应有翻译后的 "
|
|
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 =
|
|
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, '应有翻译后的 "
|
|
238
|
-
assert.ok(hasReturn, '应有翻译后的 "
|
|
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 = '
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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(`
|
|
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(`
|
|
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":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGlE,SAAS,QAAQ,CAAC,MAAc;IAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,WAAW,CAAC,MAAwB;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAED,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,WAAW,CACxB,QAAQ,CAAC;;CAEd,CAAC,CACG,CAAC;QACF,MAAM,KAAK,GAAG,MAAM;aACjB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,CAAC;aAC1E,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC,KAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;QAE/C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"lexer.test.js","sourceRoot":"","sources":["../../../../test/unit/lexer/lexer.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGlE,SAAS,QAAQ,CAAC,MAAc;IAC9B,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,WAAW,CAAC,MAAwB;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAED,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,WAAW,CACxB,QAAQ,CAAC;;CAEd,CAAC,CACG,CAAC;QACF,MAAM,KAAK,GAAG,MAAM;aACjB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,CAAC;aAC1E,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC,KAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;QAE/C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;QAE9D,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACtC,0FAA0F;QAC1F,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC;QAE/D,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;QAE9D,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG,WAAW,CACxB,QAAQ,CAAC;;;CAGd,CAAC,CACG,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAC3E,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAE3E,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC/B,MAAM,MAAM,GAAG,WAAW,CACxB,QAAQ,CAAC;;CAEd,CAAC,CACG,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC,CAAC,KAA4B,EAAE,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC;QAClG,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,WAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,WAAY,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,MAAM,MAAM,GAAG,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC;QAClE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,KAAK,CAAE,OAAO,CAAC,KAA0B,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,EAC9B,uBAAuB,EACvB,eAAe,CAChB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC7B,MAAM,MAAM,GAAG,GAAG,CAChB;;CAEP,CACM,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YAEnD,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YAC/B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,SAAS,CACd,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EACxC,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,CAC3D,CAAC;YAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YAEjD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CACH,QAAQ,CAAC;;CAElB,CAAC,EACM,KAAK,CAAC,EAAE;gBACN,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,4CAA4C,CAAC,CAAC;gBAC1E,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;YAEF,MAAM,QAAQ,GAAG,QAAQ,CAAC;;CAE/B,CAAC,CAAC;YACG,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;YACrF,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;YACrF,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,MAAM,CACX,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAClC,KAAK,CAAC,EAAE;gBACN,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,8BAA8B,CAAC,CAAC;gBAC5D,OAAO,IAAI,CAAC;YACd,CAAC,CACF,CAAC;YAEF,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAC5E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC;YAC1E,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,WAAY,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -31,11 +31,11 @@ function makeFunc(options) {
|
|
|
31
31
|
describe('降级至 Core IR', () => {
|
|
32
32
|
it('模块降级后应保留名称与声明数量', () => {
|
|
33
33
|
const core = lower(`
|
|
34
|
-
|
|
34
|
+
Module test.lowering.basic.
|
|
35
35
|
|
|
36
|
-
Define User
|
|
36
|
+
Define User has id: Text.
|
|
37
37
|
|
|
38
|
-
|
|
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
|
-
|
|
47
|
+
Module test.lowering.func_types.
|
|
48
48
|
|
|
49
|
-
|
|
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
|
-
|
|
61
|
+
Module test.lowering.return_stmt.
|
|
62
62
|
|
|
63
|
-
|
|
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
|
-
|
|
73
|
+
Module test.lowering.match_stmt.
|
|
74
74
|
|
|
75
75
|
Define Result as one of Ok, Err.
|
|
76
76
|
|
|
77
|
-
|
|
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
|
-
|
|
91
|
+
Module test.lowering.maybe_type.
|
|
92
92
|
|
|
93
|
-
|
|
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
|
-
|
|
104
|
+
Module test.lowering.lambda_arrows.
|
|
105
105
|
|
|
106
|
-
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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 = '
|
|
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('
|
|
426
|
+
assert.ok(edits[0]?.newText?.includes('Rule getData:'), 'should keep function header');
|
|
427
427
|
});
|
|
428
428
|
});
|
|
429
429
|
describe('suggestNullReplacement', () => {
|