@aster-cloud/aster-lang-ts 1.0.13 → 1.0.14

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 (59) hide show
  1. package/dist/scripts/core-ir-json.js +16 -6
  2. package/dist/scripts/core-ir-json.js.map +1 -1
  3. package/dist/src/config/lexicons/de-DE.d.ts.map +1 -1
  4. package/dist/src/config/lexicons/de-DE.js +1 -0
  5. package/dist/src/config/lexicons/de-DE.js.map +1 -1
  6. package/dist/src/config/lexicons/en-US.d.ts.map +1 -1
  7. package/dist/src/config/lexicons/en-US.js +1 -0
  8. package/dist/src/config/lexicons/en-US.js.map +1 -1
  9. package/dist/src/config/lexicons/hi-IN.d.ts.map +1 -1
  10. package/dist/src/config/lexicons/hi-IN.js +1 -0
  11. package/dist/src/config/lexicons/hi-IN.js.map +1 -1
  12. package/dist/src/config/lexicons/identifiers/types.d.ts.map +1 -1
  13. package/dist/src/config/lexicons/identifiers/types.js +5 -3
  14. package/dist/src/config/lexicons/identifiers/types.js.map +1 -1
  15. package/dist/src/config/lexicons/template.d.ts.map +1 -1
  16. package/dist/src/config/lexicons/template.js +2 -0
  17. package/dist/src/config/lexicons/template.js.map +1 -1
  18. package/dist/src/config/lexicons/types.d.ts +15 -0
  19. package/dist/src/config/lexicons/types.d.ts.map +1 -1
  20. package/dist/src/config/lexicons/types.js.map +1 -1
  21. package/dist/src/config/lexicons/zh-CN.d.ts.map +1 -1
  22. package/dist/src/config/lexicons/zh-CN.js +1 -0
  23. package/dist/src/config/lexicons/zh-CN.js.map +1 -1
  24. package/dist/src/config/token-kind.d.ts +2 -0
  25. package/dist/src/config/token-kind.d.ts.map +1 -1
  26. package/dist/src/config/token-kind.js +3 -0
  27. package/dist/src/config/token-kind.js.map +1 -1
  28. package/dist/src/core/interpreter.js +118 -19
  29. package/dist/src/core/interpreter.js.map +1 -1
  30. package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
  31. package/dist/src/frontend/canonicalizer.js +21 -8
  32. package/dist/src/frontend/canonicalizer.js.map +1 -1
  33. package/dist/src/frontend/lexer.d.ts.map +1 -1
  34. package/dist/src/frontend/lexer.js +10 -0
  35. package/dist/src/frontend/lexer.js.map +1 -1
  36. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  37. package/dist/src/parser/decl-parser.js +25 -19
  38. package/dist/src/parser/decl-parser.js.map +1 -1
  39. package/dist/src/parser/expr-stmt-parser.d.ts +9 -0
  40. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  41. package/dist/src/parser/expr-stmt-parser.js +26 -0
  42. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  43. package/dist/src/types.d.ts +1 -0
  44. package/dist/src/types.d.ts.map +1 -1
  45. package/dist/src/types.js +3 -0
  46. package/dist/src/types.js.map +1 -1
  47. package/dist/test/unit/audit-57-regression.test.d.ts +2 -0
  48. package/dist/test/unit/audit-57-regression.test.d.ts.map +1 -0
  49. package/dist/test/unit/audit-57-regression.test.js +92 -0
  50. package/dist/test/unit/audit-57-regression.test.js.map +1 -0
  51. package/dist/test/unit/parser/explicit-block.test.d.ts +2 -0
  52. package/dist/test/unit/parser/explicit-block.test.d.ts.map +1 -0
  53. package/dist/test/unit/parser/explicit-block.test.js +43 -0
  54. package/dist/test/unit/parser/explicit-block.test.js.map +1 -0
  55. package/dist/test/unit/parser/then-localization.test.d.ts +2 -0
  56. package/dist/test/unit/parser/then-localization.test.d.ts.map +1 -0
  57. package/dist/test/unit/parser/then-localization.test.js +147 -0
  58. package/dist/test/unit/parser/then-localization.test.js.map +1 -0
  59. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explicit-block.test.js","sourceRoot":"","sources":["../../../../test/unit/parser/explicit-block.test.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,+DAA+D;AAC/D,oEAAoE;AACpE,EAAE;AACF,8DAA8D;AAC9D,yCAAyC;AAEzC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAG9D,MAAM,QAAQ,GAAY,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;AAE9F,+CAA+C;AAC/C,SAAS,WAAW,CAAC,IAAa;IAChC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAChC,MAAM,QAAQ,GACZ,6HAA6H,CAAC;QAChI,MAAM,QAAQ,GACZ,4HAA4H,CAAC;QAC/H,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAChF,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,MAAM,GAAG,GAAG,qEAAqE,CAAC;QAClF,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB;IACjF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACnC,MAAM,GAAG,GAAG,2EAA2E,CAAC;QACxF,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1E,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,0BAA0B;IAC1F,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,MAAM,GAAG,GACP,4HAA4H,CAAC;QAC/H,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1E,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=then-localization.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"then-localization.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/parser/then-localization.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * ADR 0029:inline-if 的 then 连接词进入 SemanticTokenKind.THEN,并由四语词法表翻译。
3
+ *
4
+ * 不改 parser 判定逻辑:本地词先经 keyword-translator 归一为英文 `then`,再走现有
5
+ * `isKeyword('then')` 软关键字路径。
6
+ */
7
+ import { describe, it } from 'node:test';
8
+ import assert from 'node:assert/strict';
9
+ import { compile } from '../../../src/browser.js';
10
+ import { canonicalize } from '../../../src/frontend/canonicalizer.js';
11
+ import { lex } from '../../../src/frontend/lexer.js';
12
+ import { parseWithLexicon } from '../../../src/parser.js';
13
+ import { lowerModule } from '../../../src/lower_to_core.js';
14
+ import { EN_US } from '../../../src/config/lexicons/en-US.js';
15
+ import { ZH_CN } from '../../../src/config/lexicons/zh-CN.js';
16
+ import { DE_DE } from '../../../src/config/lexicons/de-DE.js';
17
+ import { HI_IN } from '../../../src/config/lexicons/hi-IN.js';
18
+ import { SemanticTokenKind } from '../../../src/config/token-kind.js';
19
+ const CASES = [
20
+ {
21
+ name: 'en-US',
22
+ lexicon: EN_US,
23
+ thenWord: 'then',
24
+ source: [
25
+ 'Module adr0029.',
26
+ '',
27
+ 'Rule decide given cond as Bool, produce Text:',
28
+ ' Return if cond then "A" else "B".',
29
+ ].join('\n'),
30
+ },
31
+ {
32
+ name: 'zh-CN',
33
+ lexicon: ZH_CN,
34
+ thenWord: '那么',
35
+ source: [
36
+ '模块 adr0029。',
37
+ '',
38
+ '规则 decide 给定 cond 作为 布尔,产出 文本:',
39
+ ' 返回 如果 cond 那么 「A」 否则 「B」。',
40
+ ].join('\n'),
41
+ },
42
+ {
43
+ name: 'de-DE',
44
+ lexicon: DE_DE,
45
+ thenWord: 'dann',
46
+ source: [
47
+ 'Modul adr0029.',
48
+ '',
49
+ 'Regel decide gegeben cond als Boolesch, liefert Text:',
50
+ ' gib zurueck wenn cond dann "A" sonst "B".',
51
+ ].join('\n'),
52
+ },
53
+ {
54
+ name: 'hi-IN',
55
+ lexicon: HI_IN,
56
+ thenWord: 'तो',
57
+ source: [
58
+ 'मॉड्यूल adr0029।',
59
+ '',
60
+ 'नियम decide दिया गया cond रूप में बूलियन, उत्पन्न पाठ:',
61
+ ' लौटाएं यदि cond तो "A" अन्यथा "B"।',
62
+ ].join('\n'),
63
+ },
64
+ ];
65
+ function stripDerived(o) {
66
+ if (Array.isArray(o))
67
+ return o.map(stripDerived);
68
+ if (o && typeof o === 'object') {
69
+ const r = {};
70
+ for (const k of Object.keys(o)) {
71
+ if (k === 'origin' || k === 'span')
72
+ continue;
73
+ r[k] = stripDerived(o[k]);
74
+ }
75
+ return r;
76
+ }
77
+ return o;
78
+ }
79
+ function compileCore(source, lexicon) {
80
+ const result = compile(source, { lexicon });
81
+ assert.equal(result.success, true, `${lexicon.id}: ${JSON.stringify(result.parseErrors ?? result.loweringErrors)}`);
82
+ assert.ok(result.core, `${lexicon.id}: 应产出 Core IR`);
83
+ return result.core;
84
+ }
85
+ function parseWithLexiconCore(source, lexicon) {
86
+ const canonical = canonicalize(source, lexicon);
87
+ const tokens = lex(canonical, lexicon);
88
+ const result = parseWithLexicon(tokens, lexicon);
89
+ const errors = result.diagnostics.filter((d) => d.severity === 'error');
90
+ assert.equal(errors.length, 0, `${lexicon.id}: ${JSON.stringify(errors)}`);
91
+ return lowerModule(result.ast);
92
+ }
93
+ function expectCompiles(source, lexicon) {
94
+ const result = compile(source, { lexicon });
95
+ assert.equal(result.success, true, `${lexicon.id}: ${JSON.stringify(result.parseErrors ?? result.loweringErrors)}`);
96
+ }
97
+ describe('ADR 0029 — then 连接词四语本地化', () => {
98
+ it('四语词法表都提供 THEN 补词', () => {
99
+ assert.equal(EN_US.keywords[SemanticTokenKind.THEN], 'then');
100
+ assert.equal(ZH_CN.keywords[SemanticTokenKind.THEN], '那么');
101
+ assert.equal(DE_DE.keywords[SemanticTokenKind.THEN], 'dann');
102
+ assert.equal(HI_IN.keywords[SemanticTokenKind.THEN], 'तो');
103
+ });
104
+ it('compile():四语 inline-if 产出结构等价 Core IR', () => {
105
+ const expected = stripDerived(compileCore(CASES[0].source, CASES[0].lexicon));
106
+ for (const c of CASES) {
107
+ assert.deepEqual(stripDerived(compileCore(c.source, c.lexicon)), expected, c.name);
108
+ }
109
+ });
110
+ it('parseWithLexicon():四语 inline-if 走通同一翻译链', () => {
111
+ const expected = stripDerived(parseWithLexiconCore(CASES[0].source, CASES[0].lexicon));
112
+ for (const c of CASES) {
113
+ assert.deepEqual(stripDerived(parseWithLexiconCore(c.source, c.lexicon)), expected, c.name);
114
+ }
115
+ });
116
+ it('compile() token translation 把本地 THEN 归一为英文 then', () => {
117
+ for (const c of CASES.slice(1)) {
118
+ const result = compile(c.source, { lexicon: c.lexicon, includeIntermediates: true });
119
+ assert.equal(result.success, true, `${c.name}: ${JSON.stringify(result.parseErrors ?? result.loweringErrors)}`);
120
+ assert.ok(result.tokens?.some((t) => t.value === 'then'), `${c.name}: 应出现翻译后的 then token`);
121
+ assert.equal(result.tokens?.some((t) => t.value === c.thenWord), false, `${c.name}: 本地 then 词不应原样进入 parser`);
122
+ }
123
+ });
124
+ it('THEN 本地词在字段名和参数名位置仍是软关键字', () => {
125
+ expectCompiles('Module m.\n\nDefine Box has then as Int.', EN_US);
126
+ expectCompiles('Module m.\n\nRule echo given then as Int, produce Int:\n Return then.', EN_US);
127
+ expectCompiles('模块 m。\n\n定义 Box 包含 那么 作为 整数。', ZH_CN);
128
+ expectCompiles('模块 m。\n\n规则 echo 给定 那么 作为 整数,产出 整数:\n 返回 那么。', ZH_CN);
129
+ expectCompiles('Modul m.\n\nDefiniere Box hat dann als Ganzzahl.', DE_DE);
130
+ expectCompiles('Modul m.\n\nRegel echo gegeben dann als Ganzzahl, liefert Ganzzahl:\n gib zurueck dann.', DE_DE);
131
+ expectCompiles('मॉड्यूल m।\n\nपरिभाषित Box रखता है तो रूप में पूर्णांक।', HI_IN);
132
+ expectCompiles('मॉड्यूल m।\n\nनियम echo दिया गया तो रूप में पूर्णांक, उत्पन्न पूर्णांक:\n लौटाएं तो।', HI_IN);
133
+ });
134
+ it('连写边界:那么值 不会被切成 then + 值', () => {
135
+ expectCompiles('模块 m。\n\n定义 Box 包含 那么值 作为 整数。', ZH_CN);
136
+ const result = compile([
137
+ '模块 m。',
138
+ '',
139
+ '规则 echo 给定 那么值 作为 整数,产出 整数:',
140
+ ' 返回 那么值。',
141
+ ].join('\n'), { lexicon: ZH_CN, includeIntermediates: true });
142
+ assert.equal(result.success, true, JSON.stringify(result.parseErrors ?? result.loweringErrors));
143
+ assert.ok(result.tokens?.some((t) => t.value === '那么值'), '连写词应作为一个标识符保留');
144
+ assert.equal(result.tokens?.some((t) => t.value === 'then'), false, '那么值 不应产生 then token');
145
+ });
146
+ });
147
+ //# sourceMappingURL=then-localization.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"then-localization.test.js","sourceRoot":"","sources":["../../../../test/unit/parser/then-localization.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aster-cloud/aster-lang-ts",
3
- "version": "1.0.13",
3
+ "version": "1.0.14",
4
4
  "description": "Aster CNL (Controlled Natural Language) TypeScript Compiler - Lexer, Parser, AST, Core IR, Type Checker",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",