@aster-cloud/aster-lang-ts 1.0.6 → 1.0.7

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 (63) hide show
  1. package/dist/src/ast/ast.d.ts +1 -0
  2. package/dist/src/ast/ast.d.ts.map +1 -1
  3. package/dist/src/ast/ast.js +1 -0
  4. package/dist/src/ast/ast.js.map +1 -1
  5. package/dist/src/core/core_ir.d.ts +1 -0
  6. package/dist/src/core/core_ir.d.ts.map +1 -1
  7. package/dist/src/core/core_ir.js +1 -0
  8. package/dist/src/core/core_ir.js.map +1 -1
  9. package/dist/src/core/interpreter.d.ts.map +1 -1
  10. package/dist/src/core/interpreter.js +161 -0
  11. package/dist/src/core/interpreter.js.map +1 -1
  12. package/dist/src/core/pretty_core.d.ts.map +1 -1
  13. package/dist/src/core/pretty_core.js +1 -0
  14. package/dist/src/core/pretty_core.js.map +1 -1
  15. package/dist/src/core/visitor.d.ts.map +1 -1
  16. package/dist/src/core/visitor.js +1 -0
  17. package/dist/src/core/visitor.js.map +1 -1
  18. package/dist/src/diagnostics/diagnostics.d.ts +2 -0
  19. package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
  20. package/dist/src/diagnostics/diagnostics.js +6 -0
  21. package/dist/src/diagnostics/diagnostics.js.map +1 -1
  22. package/dist/src/diagnostics/error_codes.d.ts +1 -0
  23. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  24. package/dist/src/diagnostics/error_codes.js +2 -0
  25. package/dist/src/diagnostics/error_codes.js.map +1 -1
  26. package/dist/src/frontend/lexer.d.ts +7 -0
  27. package/dist/src/frontend/lexer.d.ts.map +1 -1
  28. package/dist/src/frontend/lexer.js +37 -2
  29. package/dist/src/frontend/lexer.js.map +1 -1
  30. package/dist/src/lower_to_core.js +2 -0
  31. package/dist/src/lower_to_core.js.map +1 -1
  32. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  33. package/dist/src/parser/expr-stmt-parser.js +7 -0
  34. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  35. package/dist/src/typecheck/expression.d.ts.map +1 -1
  36. package/dist/src/typecheck/expression.js +55 -0
  37. package/dist/src/typecheck/expression.js.map +1 -1
  38. package/dist/src/typecheck/type_system.d.ts.map +1 -1
  39. package/dist/src/typecheck/type_system.js +9 -1
  40. package/dist/src/typecheck/type_system.js.map +1 -1
  41. package/dist/src/types/base.d.ts +10 -0
  42. package/dist/src/types/base.d.ts.map +1 -1
  43. package/dist/src/types.d.ts +10 -2
  44. package/dist/src/types.d.ts.map +1 -1
  45. package/dist/src/types.js +1 -0
  46. package/dist/src/types.js.map +1 -1
  47. package/dist/test/unit/date-builtins.test.d.ts +2 -0
  48. package/dist/test/unit/date-builtins.test.d.ts.map +1 -0
  49. package/dist/test/unit/date-builtins.test.js +74 -0
  50. package/dist/test/unit/date-builtins.test.js.map +1 -0
  51. package/dist/test/unit/decimal-literals.test.d.ts +2 -0
  52. package/dist/test/unit/decimal-literals.test.d.ts.map +1 -0
  53. package/dist/test/unit/decimal-literals.test.js +76 -0
  54. package/dist/test/unit/decimal-literals.test.js.map +1 -0
  55. package/dist/test/unit/decimal-mixing-typecheck.test.d.ts +2 -0
  56. package/dist/test/unit/decimal-mixing-typecheck.test.d.ts.map +1 -0
  57. package/dist/test/unit/decimal-mixing-typecheck.test.js +80 -0
  58. package/dist/test/unit/decimal-mixing-typecheck.test.js.map +1 -0
  59. package/dist/test/unit/decimal-round-divide.test.d.ts +2 -0
  60. package/dist/test/unit/decimal-round-divide.test.d.ts.map +1 -0
  61. package/dist/test/unit/decimal-round-divide.test.js +53 -0
  62. package/dist/test/unit/decimal-round-divide.test.js.map +1 -0
  63. package/package.json +3 -2
@@ -275,6 +275,16 @@ export interface BaseDouble<S = Span | Origin> extends BaseNode<S> {
275
275
  readonly kind: 'Double';
276
276
  readonly value: number;
277
277
  }
278
+ /**
279
+ * Decimal 字面量基础接口(ADR 0025,精确十进制)。
280
+ *
281
+ * **注意**: value 使用 **canonical 十进制字符串** 存储(去尾零/去前导零/零统一 "0"),
282
+ * 不用 number——避免 IEEE754 二进制误差与双引擎不一致。与 truffle BigDecimal 逐位对齐。
283
+ */
284
+ export interface BaseDecimal<S = Span | Origin> extends BaseNode<S> {
285
+ readonly kind: 'Decimal';
286
+ readonly value: string;
287
+ }
278
288
  /**
279
289
  * 字符串字面量基础接口。
280
290
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/base.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,7 @@ export declare enum TokenKind {
107
107
  INT = "INT",
108
108
  FLOAT = "FLOAT",
109
109
  LONG = "LONG",
110
+ DECIMAL = "DECIMAL",
110
111
  BOOL = "BOOL",
111
112
  NULL = "NULL",
112
113
  KEYWORD = "KEYWORD",
@@ -265,7 +266,7 @@ export interface PatternName extends Base.BasePatternName<Span> {
265
266
  export interface PatternInt extends Base.BasePatternInt<Span> {
266
267
  span: Span;
267
268
  }
268
- export type Expression = Name | Bool | Int | Long | Double | String | Null | Call | Construct | Ok | Err | Some | None | Lambda | Await | IfExpr | ListLit;
269
+ export type Expression = Name | Bool | Int | Long | Double | Decimal | String | Null | Call | Construct | Ok | Err | Some | None | Lambda | Await | IfExpr | ListLit;
269
270
  export interface Await extends Base.BaseAwait<Span, Expression> {
270
271
  span: Span;
271
272
  }
@@ -292,6 +293,10 @@ export interface Long extends Base.BaseLong<Span> {
292
293
  export interface Double extends Base.BaseDouble<Span> {
293
294
  span: Span;
294
295
  }
296
+ /** Decimal 字面量(ADR 0025,canonical 十进制字符串值)。 */
297
+ export interface Decimal extends Base.BaseDecimal<Span> {
298
+ span: Span;
299
+ }
295
300
  export interface String extends Base.BaseString<Span> {
296
301
  span: Span;
297
302
  }
@@ -475,7 +480,7 @@ export declare namespace Core {
475
480
  }
476
481
  interface PatInt extends Base.BasePatternInt<Origin> {
477
482
  }
478
- type Expression = Name | Bool | Int | Long | Double | String | Null | Call | Construct | Ok | Err | Some | None | Lambda | Await | IfExpr | ListLit;
483
+ type Expression = Name | Bool | Int | Long | Double | Decimal | String | Null | Call | Construct | Ok | Err | Some | None | Lambda | Await | IfExpr | ListLit;
479
484
  interface Name extends Base.BaseName<Origin> {
480
485
  }
481
486
  interface Bool extends Base.BaseBool<Origin> {
@@ -486,6 +491,9 @@ export declare namespace Core {
486
491
  }
487
492
  interface Double extends Base.BaseDouble<Origin> {
488
493
  }
494
+ /** Decimal 字面量(ADR 0025,canonical 十进制字符串值)。 */
495
+ interface Decimal extends Base.BaseDecimal<Origin> {
496
+ }
489
497
  interface String extends Base.BaseString<Origin> {
490
498
  }
491
499
  interface Null extends Base.BaseNull<Origin> {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/src/types.js CHANGED
@@ -31,6 +31,7 @@ export var TokenKind;
31
31
  TokenKind["INT"] = "INT";
32
32
  TokenKind["FLOAT"] = "FLOAT";
33
33
  TokenKind["LONG"] = "LONG";
34
+ TokenKind["DECIMAL"] = "DECIMAL";
34
35
  TokenKind["BOOL"] = "BOOL";
35
36
  TokenKind["NULL"] = "NULL";
36
37
  TokenKind["KEYWORD"] = "KEYWORD";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,sCAAsC;AA6FtC,MAAM,CAAN,IAAY,SAmCX;AAnCD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,gCAAmB,CAAA;IACnB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,wBAAW,CAAA;IACX,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;IACrB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,sBAAS,CAAA;IACT,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,sBAAS,CAAA;IACT,sBAAS,CAAA;IACT,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,kCAAqB,CAAA;IACrB,sBAAS,CAAA;IACT,4BAAe,CAAA;IACf,sCAAyB,CAAA;IACzB,8BAAiB,CAAA;IACjB,wBAAW,CAAA;IACX,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;AACrB,CAAC,EAnCW,SAAS,KAAT,SAAS,QAmCpB;AAaD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAY;IAIzC,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,CAAC;AAC1C,CAAC;AAED,8CAA8C;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAwT9C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,sCAAsC;AA6FtC,MAAM,CAAN,IAAY,SAoCX;AApCD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,gCAAmB,CAAA;IACnB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,wBAAW,CAAA;IACX,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;IACrB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,sBAAS,CAAA;IACT,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,sBAAS,CAAA;IACT,sBAAS,CAAA;IACT,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,kCAAqB,CAAA;IACrB,sBAAS,CAAA;IACT,4BAAe,CAAA;IACf,sCAAyB,CAAA;IACzB,8BAAiB,CAAA;IACjB,wBAAW,CAAA;IACX,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,gCAAmB,CAAA;IACnB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;AACrB,CAAC,EApCW,SAAS,KAAT,SAAS,QAoCpB;AAaD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAY;IAIzC,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,CAAC;AAC1C,CAAC;AAED,8CAA8C;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AA8T9C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=date-builtins.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-builtins.test.d.ts","sourceRoot":"","sources":["../../../test/unit/date-builtins.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ import { describe, it } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { compile } from '../../src/browser.js';
4
+ import { evaluate } from '../../src/core/interpreter.js';
5
+ // Date.* 合规原语(Stable v1):epoch-day Int + 纯整数 proleptic Gregorian + 禁 today()。
6
+ // fixture 取自 Codex 设计清单(session 019f12c6),双引擎须逐位一致(同 fixture 进 truffle)。
7
+ function run(body) {
8
+ const c = compile(`Module probe.\n${body}\n`);
9
+ assert.ok(c.core, `compile: ${JSON.stringify(c.parseErrors ?? [])}`);
10
+ const ev = evaluate(c.core, 'main', { seed: 0 });
11
+ assert.ok(ev.success, `eval: ${ev.error ?? ''}`);
12
+ return ev.value;
13
+ }
14
+ const RI = (expr) => `Rule main given seed as Int, produce Int:\n Return ${expr}.`;
15
+ function evalErr(body) {
16
+ const c = compile(`Module probe.\n${body}\n`);
17
+ assert.ok(c.core);
18
+ const ev = evaluate(c.core, 'main', { seed: 0 });
19
+ return ev.success ? '<no error>' : String(ev.error);
20
+ }
21
+ describe('Date.* builtin — fromISO (epoch-day)', () => {
22
+ it('1970-01-01 == 0', () => assert.equal(run(RI('Date.fromISO("1970-01-01")')), 0));
23
+ it('1970-01-02 == 1', () => assert.equal(run(RI('Date.fromISO("1970-01-02")')), 1));
24
+ it('1969-12-31 == -1', () => assert.equal(run(RI('Date.fromISO("1969-12-31")')), -1));
25
+ it('2026-06-29 == 20633', () => assert.equal(run(RI('Date.fromISO("2026-06-29")')), 20633));
26
+ it('2000-02-29 == 11016', () => assert.equal(run(RI('Date.fromISO("2000-02-29")')), 11016));
27
+ it('0001-01-01 == -719162', () => assert.equal(run(RI('Date.fromISO("0001-01-01")')), -719162));
28
+ it('9999-12-31 == 2932896', () => assert.equal(run(RI('Date.fromISO("9999-12-31")')), 2932896));
29
+ });
30
+ describe('Date.* builtin — leap year validation', () => {
31
+ it('2000-02-29 ok', () => assert.equal(run(RI('Date.day(Date.fromISO("2000-02-29"))')), 29));
32
+ it('2400-02-29 ok', () => assert.equal(run(RI('Date.day(Date.fromISO("2400-02-29"))')), 29));
33
+ it('2024-02-29 ok', () => assert.equal(run(RI('Date.day(Date.fromISO("2024-02-29"))')), 29));
34
+ it('1900-02-29 errors (÷100 非闰)', () => assert.match(evalErr(RI('Date.fromISO("1900-02-29")')), /Date\.InvalidISODate/));
35
+ it('2100-02-29 errors', () => assert.match(evalErr(RI('Date.fromISO("2100-02-29")')), /Date\.InvalidISODate/));
36
+ it('2023-02-29 errors', () => assert.match(evalErr(RI('Date.fromISO("2023-02-29")')), /Date\.InvalidISODate/));
37
+ });
38
+ describe('Date.* builtin — daysBetween / addDays', () => {
39
+ it('same day == 0', () => assert.equal(run(RI('Date.daysBetween(Date.fromISO("1970-01-01"), Date.fromISO("1970-01-01"))')), 0));
40
+ it('1 day forward', () => assert.equal(run(RI('Date.daysBetween(Date.fromISO("1970-01-01"), Date.fromISO("1970-01-02"))')), 1));
41
+ it('1 day backward (negative)', () => assert.equal(run(RI('Date.daysBetween(Date.fromISO("1970-01-02"), Date.fromISO("1970-01-01"))')), -1));
42
+ it('leap-year span 2024-02-28→03-01 == 2', () => assert.equal(run(RI('Date.daysBetween(Date.fromISO("2024-02-28"), Date.fromISO("2024-03-01"))')), 2));
43
+ it('non-leap span 2023-02-28→03-01 == 1', () => assert.equal(run(RI('Date.daysBetween(Date.fromISO("2023-02-28"), Date.fromISO("2023-03-01"))')), 1));
44
+ it('addDays +30', () => assert.equal(run(RI('Date.daysBetween(Date.fromISO("1970-01-01"), Date.addDays(Date.fromISO("1970-01-01"), 30))')), 30));
45
+ it('addDays crosses leap day 2024-02-28 +1 == 02-29', () => assert.equal(run(RI('Date.day(Date.addDays(Date.fromISO("2024-02-28"), 1))')), 29));
46
+ });
47
+ describe('Date.* builtin — year/month/day extractors', () => {
48
+ it('year', () => assert.equal(run(RI('Date.year(Date.fromISO("2026-06-29"))')), 2026));
49
+ it('month', () => assert.equal(run(RI('Date.month(Date.fromISO("2026-06-29"))')), 6));
50
+ it('day', () => assert.equal(run(RI('Date.day(Date.fromISO("2026-06-29"))')), 29));
51
+ it('year 0001-01-01 == 1', () => assert.equal(run(RI('Date.year(Date.fromISO("0001-01-01"))')), 1));
52
+ it('month 9999-12-31 == 12', () => assert.equal(run(RI('Date.month(Date.fromISO("9999-12-31"))')), 12));
53
+ });
54
+ describe('Date.* builtin — strict format rejection', () => {
55
+ for (const bad of ['', '2026-2-03', '2026-02-3', '2026-02-30', '2026-13-01', '2026-00-01', '2026-01-00',
56
+ ' 2026-01-01', '2026-01-01 ', '2026-01-01T00:00:00Z', '0000-01-01', '10000-01-01']) {
57
+ it(`rejects ${JSON.stringify(bad)}`, () => assert.match(evalErr(RI(`Date.fromISO(${JSON.stringify(bad)})`)), /Date\.InvalidISODate/));
58
+ }
59
+ });
60
+ describe('Date.* builtin — 合规业务场景 (评估日期作输入)', () => {
61
+ // "申请日期距评估日期 ≥ 30 天" — 用 epoch-day Int 直接比较,无需 isBefore builtin。
62
+ const consentRule = `Rule main given seed as Int, produce Bool:
63
+ Let evalDay be Date.fromISO("2026-06-29").
64
+ Let consentDay be Date.fromISO("2026-05-30").
65
+ Return Date.daysBetween(consentDay, evalDay) at least 30.`;
66
+ it('consent 30 days ago → at least 30 = true', () => {
67
+ const c = compile(`Module probe.\n${consentRule}\n`);
68
+ assert.ok(c.core);
69
+ const ev = evaluate(c.core, 'main', { seed: 0 });
70
+ assert.ok(ev.success, ev.error ?? '');
71
+ assert.equal(ev.value, true);
72
+ });
73
+ });
74
+ //# sourceMappingURL=date-builtins.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-builtins.test.js","sourceRoot":"","sources":["../../../test/unit/date-builtins.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=decimal-literals.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decimal-literals.test.d.ts","sourceRoot":"","sources":["../../../test/unit/decimal-literals.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,76 @@
1
+ import { describe, it } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { compile } from '../../src/browser.js';
4
+ import { evaluate } from '../../src/core/interpreter.js';
5
+ // Decimal M1(ADR 0025):m 后缀字面量 + canonical 字符串 + 精确加减乘 + 比较 + 禁 Double 混算。
6
+ // 运行时 Decimal 值=decimal.js 实例;测试比规范化字符串(与 truffle BigDecimal toPlainString 对齐)。
7
+ function runDecimal(body) {
8
+ const c = compile(`Module probe.\n${body}\n`);
9
+ assert.ok(c.core, `compile: ${JSON.stringify(c.parseErrors ?? [])}`);
10
+ const ev = evaluate(c.core, 'main', { seed: 0 });
11
+ assert.ok(ev.success, `eval: ${ev.error ?? ''}`);
12
+ return ev.value.toFixed();
13
+ }
14
+ function runBool(body) {
15
+ const c = compile(`Module probe.\n${body}\n`);
16
+ assert.ok(c.core);
17
+ const ev = evaluate(c.core, 'main', { seed: 0 });
18
+ assert.ok(ev.success, ev.error ?? '');
19
+ return ev.value;
20
+ }
21
+ function evalErr(body) {
22
+ const c = compile(`Module probe.\n${body}\n`);
23
+ if (!c.core)
24
+ return 'COMPILE:' + JSON.stringify(c.parseErrors ?? []);
25
+ const ev = evaluate(c.core, 'main', { seed: 0 });
26
+ return ev.success ? '<no error>' : String(ev.error);
27
+ }
28
+ const RD = (expr) => `Rule main given seed as Int, produce Decimal:\n Return ${expr}.`;
29
+ const RB = (expr) => `Rule main given seed as Int, produce Bool:\n Return ${expr}.`;
30
+ describe('Decimal M1 — 字面量位数上限 (ADR 0025 v1 ≤38, Codex P1)', () => {
31
+ // 超 38 位会让 decimal.js(precision 80) 乘法静默舍入 vs BigDecimal 精确 → 双引擎分歧。硬拒。
32
+ it('38 位有效数字 → 接受', () => assert.equal(runDecimal(RD('1'.repeat(38) + 'm')), '1'.repeat(38)));
33
+ it('39 位有效数字 → 拒绝 (parse error)', () => assert.match(evalErr(RD('1'.repeat(39) + 'm')), /COMPILE|38|significant digits/i));
34
+ it('纯小数前导零不计有效位 (0.000…1 仅 1 位)', () => assert.equal(runDecimal(RD('0.' + '0'.repeat(38) + '1m')), '0.' + '0'.repeat(38) + '1'));
35
+ });
36
+ describe('Decimal M1 — 字面量 canonical', () => {
37
+ it('1.08m → 1.08', () => assert.equal(runDecimal(RD('1.08m')), '1.08'));
38
+ it('1.00m → 1 (去尾零)', () => assert.equal(runDecimal(RD('1.00m')), '1'));
39
+ it('001.2300m → 1.23 (去前导+尾零)', () => assert.equal(runDecimal(RD('001.2300m')), '1.23'));
40
+ it('0.000m → 0', () => assert.equal(runDecimal(RD('0.000m')), '0'));
41
+ it('10m → 10', () => assert.equal(runDecimal(RD('10m')), '10'));
42
+ });
43
+ describe('Decimal M1 — 精确加减乘', () => {
44
+ it('0.1m plus 0.2m → 0.3 (无二进制误差)', () => assert.equal(runDecimal(RD('0.1m plus 0.2m')), '0.3'));
45
+ it('100.01m minus 0.02m → 99.99', () => assert.equal(runDecimal(RD('100.01m minus 0.02m')), '99.99'));
46
+ it('1.20m times 1.080m → 1.296 (scale 增长)', () => assert.equal(runDecimal(RD('1.20m times 1.080m')), '1.296'));
47
+ it('price times taxRate 自然写法', () => assert.equal(runDecimal(RD('100.00m times 1.08m')), '108'));
48
+ });
49
+ describe('Decimal M1 — Int/Long 精确提升', () => {
50
+ it('1m plus 2 (Int) → 3', () => assert.equal(runDecimal(RD('1m plus 2')), '3'));
51
+ it('5 (Int) times 1.5m → 7.5', () => assert.equal(runDecimal(RD('5 times 1.5m')), '7.5'));
52
+ });
53
+ describe('Decimal M1 — 比较 (compareTo, 值语义)', () => {
54
+ it('1.0m equals to 1.00m → true (值语义)', () => assert.equal(runBool(RB('1.0m equals to 1.00m')), true));
55
+ it('1.01m greater than 1.001m → true', () => assert.equal(runBool(RB('1.01m greater than 1.001m')), true));
56
+ it('100.00m at least 50m → true', () => assert.equal(runBool(RB('100.00m at least 50m')), true));
57
+ it('0.1m plus 0.2m equals to 0.3m → true (精确)', () => assert.equal(runBool(RB('0.1m plus 0.2m equals to 0.3m')), true));
58
+ });
59
+ describe('Decimal M1 — 禁 Double 混算 (runtime 层: 非整数 Double 可catch)', () => {
60
+ // 注:runtime Int/Double 都是 JS number, 无法区分 2.0(Double) vs 2(Int)——非整数 Double
61
+ // (2.5)runtime 能 catch; 整数值 Double(2.0)的混算禁须由 **typechecker** 在编译期拦
62
+ // (AST 节点 kind Int/Double/Decimal 可分)。typechecker 规则是 M1 后续(见 ADR 0025)。
63
+ it('1.08m plus 2.5 (非整数 Double) → error', () => assert.match(evalErr(RD('1.08m plus 2.5')), /Cannot combine Decimal and Double/));
64
+ it('2.5 (Double) times 3m → error', () => assert.match(evalErr(RD('2.5 times 3m')), /Cannot combine Decimal and Double/));
65
+ it('Decimal / 禁 → error', () => assert.match(evalErr(RD('6m divided by 2m')), /Decimal .* not supported|use Decimal\.divide/i));
66
+ });
67
+ describe('Decimal M1 — 合规场景 (信贷 DTI 用 Decimal)', () => {
68
+ it('月负债+预估还款 精确', () => {
69
+ const src = `Rule main given seed as Int, produce Decimal:
70
+ Let debt be 1200.50m.
71
+ Let payment be 800.25m.
72
+ Return debt plus payment.`;
73
+ assert.equal(runDecimal(src), '2000.75');
74
+ });
75
+ });
76
+ //# sourceMappingURL=decimal-literals.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decimal-literals.test.js","sourceRoot":"","sources":["../../../test/unit/decimal-literals.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=decimal-mixing-typecheck.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decimal-mixing-typecheck.test.d.ts","sourceRoot":"","sources":["../../../test/unit/decimal-mixing-typecheck.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,80 @@
1
+ import { describe, it } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { canonicalize } from '../../src/frontend/canonicalizer.js';
4
+ import { lex } from '../../src/frontend/lexer.js';
5
+ import { parse } from '../../src/parser.js';
6
+ import { lowerModule } from '../../src/lower_to_core.js';
7
+ import { typecheckModule } from '../../src/typecheck.js';
8
+ // Decimal↔Double 混算编译期拦截(ADR 0025,M1 后续)。
9
+ // runtime 只能 catch 非整数 Double(2.5);整数值 Double(2.0)与 Int(2)在 JS number
10
+ // 不可分——必须靠 typechecker 在编译期按 AST 节点 kind(Double vs Decimal)拦截。
11
+ // Int/Long↔Decimal 精确提升放行。错误码 E031 DECIMAL_DOUBLE_MIXING。
12
+ function diagnose(body) {
13
+ const src = `Module probe.\n${body}\n`;
14
+ const ast = parse(lex(canonicalize(src))).ast;
15
+ const core = lowerModule(ast);
16
+ return typecheckModule(core).map(d => `${d.code}:${d.message}`);
17
+ }
18
+ function hasMixingError(body) {
19
+ return diagnose(body).some(d => d.startsWith('E031'));
20
+ }
21
+ describe('Decimal M1 后续 — Double↔Decimal 混算编译期拦截', () => {
22
+ it('1.08m plus 2.0 (整数值 Double) → E031 (runtime 抓不到, 编译期拦)', () => {
23
+ assert.ok(hasMixingError('Rule main produce Decimal:\n Return 1.08m plus 2.0.'));
24
+ });
25
+ it('2.0 (Double) times 3m → E031', () => {
26
+ assert.ok(hasMixingError('Rule main produce Decimal:\n Return 2.0 times 3m.'));
27
+ });
28
+ it('1.08m minus 2.5 (非整数 Double) → E031 (编译期也拦, 不止 runtime)', () => {
29
+ assert.ok(hasMixingError('Rule main produce Decimal:\n Return 1.08m minus 2.5.'));
30
+ });
31
+ it('嵌套: (100.00m times 1.08m) plus 0.5 → E031 (Decimal 结果类型传播)', () => {
32
+ assert.ok(hasMixingError('Rule main produce Decimal:\n Return 100.00m times 1.08m plus 0.5.'));
33
+ });
34
+ // Codex 审查 P0:比较运算符混算(整数值 Double 不可 runtime catch,必须编译期拦)
35
+ it('1.0m equals to 1.0 (整数值 Double 比较) → E031 (TS runtime=true 但 Truffle 抛错=分歧)', () => {
36
+ assert.ok(hasMixingError('Rule main produce Bool:\n Return 1.0m equals to 1.0.'));
37
+ });
38
+ it('1.0m at most 2.0 → E031', () => {
39
+ assert.ok(hasMixingError('Rule main produce Bool:\n Return 1.0m at most 2.0.'));
40
+ });
41
+ it('2.0 greater than 1.0m → E031', () => {
42
+ assert.ok(hasMixingError('Rule main produce Bool:\n Return 2.0 greater than 1.0m.'));
43
+ });
44
+ // Codex 审查 P0:Decimal.round/divide 的 Decimal 参数位混 Double
45
+ it('Decimal.divide(1m, 2.0, 2, "HALF_UP") → E031 (divisor 是 Double)', () => {
46
+ assert.ok(hasMixingError('Rule main produce Decimal:\n Return Decimal.divide(1m, 2.0, 2, "HALF_UP").'));
47
+ });
48
+ it('Decimal.round(2.0, 1, "HALF_UP") → E031 (x 是 Double)', () => {
49
+ assert.ok(hasMixingError('Rule main produce Decimal:\n Return Decimal.round(2.0, 1, "HALF_UP").'));
50
+ });
51
+ });
52
+ describe('Decimal M1 后续 — 比较/builtin 合法组合不误报', () => {
53
+ it('1.0m equals to 1.00m (Decimal 比较) → 无 E031', () => {
54
+ assert.ok(!hasMixingError('Rule main produce Bool:\n Return 1.0m equals to 1.00m.'));
55
+ });
56
+ it('1.0m at most 2 (Int 比较) → 无 E031 (精确提升)', () => {
57
+ assert.ok(!hasMixingError('Rule main produce Bool:\n Return 1.0m at most 2.'));
58
+ });
59
+ it('Decimal.divide(1m, 2m, 2, "HALF_UP") → 无 E031', () => {
60
+ assert.ok(!hasMixingError('Rule main produce Decimal:\n Return Decimal.divide(1m, 2m, 2, "HALF_UP").'));
61
+ });
62
+ it('1.0 equals to 2.0 (纯 Double 比较) → 无 E031', () => {
63
+ assert.ok(!hasMixingError('Rule main produce Bool:\n Return 1.0 equals to 2.0.'));
64
+ });
65
+ });
66
+ describe('Decimal M1 后续 — 合法组合不误报', () => {
67
+ it('1.08m plus 2 (Int) → 无 E031 (精确提升允许)', () => {
68
+ assert.ok(!hasMixingError('Rule main produce Decimal:\n Return 1.08m plus 2.'));
69
+ });
70
+ it('1.08m plus 2.50m (Decimal+Decimal) → 无 E031', () => {
71
+ assert.ok(!hasMixingError('Rule main produce Decimal:\n Return 1.08m plus 2.50m.'));
72
+ });
73
+ it('1.08 plus 2.5 (Double+Double) → 无 E031 (纯 Double 合法)', () => {
74
+ assert.ok(!hasMixingError('Rule main produce Double:\n Return 1.08 plus 2.5.'));
75
+ });
76
+ it('1 plus 2 (Int+Int) → 无 E031', () => {
77
+ assert.ok(!hasMixingError('Rule main produce Int:\n Return 1 plus 2.'));
78
+ });
79
+ });
80
+ //# sourceMappingURL=decimal-mixing-typecheck.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decimal-mixing-typecheck.test.js","sourceRoot":"","sources":["../../../test/unit/decimal-mixing-typecheck.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=decimal-round-divide.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decimal-round-divide.test.d.ts","sourceRoot":"","sources":["../../../test/unit/decimal-round-divide.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ import { describe, it } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { compile } from '../../src/browser.js';
4
+ import { evaluate } from '../../src/core/interpreter.js';
5
+ // Decimal M2(ADR 0025):Decimal.round(x, scale, mode) + Decimal.divide(x, y, scale, mode)。
6
+ // mode 字符串 HALF_UP/HALF_EVEN/DOWN,scale 0..18。三引擎逐位一致(与 truffle BigDecimal
7
+ // setScale/divide(RoundingMode) 对齐,含 2.5→2 银行家舍入 + DOWN 朝零截断 + canonical 去尾零)。
8
+ function runDecimal(body) {
9
+ const c = compile(`Module probe.\n${body}\n`);
10
+ assert.ok(c.core, `compile: ${JSON.stringify(c.parseErrors ?? [])}`);
11
+ const ev = evaluate(c.core, 'main', { seed: 0 });
12
+ assert.ok(ev.success, `eval: ${ev.error ?? ''}`);
13
+ return ev.value.toFixed();
14
+ }
15
+ function evalErr(body) {
16
+ const c = compile(`Module probe.\n${body}\n`);
17
+ if (!c.core)
18
+ return 'COMPILE';
19
+ const ev = evaluate(c.core, 'main', { seed: 0 });
20
+ return ev.success ? '<no error>' : String(ev.error);
21
+ }
22
+ const R = (expr) => `Rule main given seed as Int, produce Decimal:\n Return ${expr}.`;
23
+ describe('Decimal M2 — round 舍入模式', () => {
24
+ it('2.345m sc2 HALF_UP → 2.35', () => assert.equal(runDecimal(R('Decimal.round(2.345m, 2, "HALF_UP")')), '2.35'));
25
+ it('2.345m sc2 HALF_EVEN → 2.34 (向偶)', () => assert.equal(runDecimal(R('Decimal.round(2.345m, 2, "HALF_EVEN")')), '2.34'));
26
+ it('2.355m sc2 HALF_EVEN → 2.36 (向偶)', () => assert.equal(runDecimal(R('Decimal.round(2.355m, 2, "HALF_EVEN")')), '2.36'));
27
+ it('2.5m sc0 HALF_EVEN → 2 (银行家)', () => assert.equal(runDecimal(R('Decimal.round(2.5m, 0, "HALF_EVEN")')), '2'));
28
+ it('3.5m sc0 HALF_EVEN → 4 (银行家)', () => assert.equal(runDecimal(R('Decimal.round(3.5m, 0, "HALF_EVEN")')), '4'));
29
+ it('2.999m sc0 DOWN → 2 (截断)', () => assert.equal(runDecimal(R('Decimal.round(2.999m, 0, "DOWN")')), '2'));
30
+ it('2.50m sc2 → 2.5 (canonical 去尾零)', () => assert.equal(runDecimal(R('Decimal.round(2.50m, 2, "HALF_UP")')), '2.5'));
31
+ });
32
+ describe('Decimal M2 — divide 精确除法', () => {
33
+ it('10m / 3m sc4 HALF_UP → 3.3333', () => assert.equal(runDecimal(R('Decimal.divide(10m, 3m, 4, "HALF_UP")')), '3.3333'));
34
+ it('2m / 3m sc2 HALF_UP → 0.67', () => assert.equal(runDecimal(R('Decimal.divide(2m, 3m, 2, "HALF_UP")')), '0.67'));
35
+ it('1m / 8m sc2 DOWN → 0.12', () => assert.equal(runDecimal(R('Decimal.divide(1m, 8m, 2, "DOWN")')), '0.12'));
36
+ it('1m / 3m sc2 HALF_EVEN → 0.33', () => assert.equal(runDecimal(R('Decimal.divide(1m, 3m, 2, "HALF_EVEN")')), '0.33'));
37
+ it('100m / 4m sc2 → 25 (整除 canonical)', () => assert.equal(runDecimal(R('Decimal.divide(100m, 4m, 2, "HALF_UP")')), '25'));
38
+ });
39
+ describe('Decimal M2 — 合规场景 (利率/分摊)', () => {
40
+ it('月利率: 年息 7.25% / 12 期, sc6 HALF_EVEN', () => {
41
+ // 0.0725 / 12 = 0.00604166... → sc6 HALF_EVEN = 0.006042
42
+ assert.equal(runDecimal(R('Decimal.divide(0.0725m, 12m, 6, "HALF_EVEN")')), '0.006042');
43
+ });
44
+ it('税额: 108.00m round sc2 = 108', () => assert.equal(runDecimal(R('Decimal.round(100.00m times 1.08m, 2, "HALF_UP")')), '108'));
45
+ });
46
+ describe('Decimal M2 — 错误处理', () => {
47
+ it('除零 → error', () => assert.match(evalErr(R('Decimal.divide(1m, 0m, 2, "HALF_UP")')), /division by zero/i));
48
+ it('未知 mode → error', () => assert.match(evalErr(R('Decimal.round(1.5m, 2, "CEILING")')), /unknown rounding mode/i));
49
+ it('scale 越界(>18) → error', () => assert.match(evalErr(R('Decimal.round(1.5m, 19, "HALF_UP")')), /scale must be/i));
50
+ // 注:负 scale 无法用 CNL 字面量构造(无前缀 -,`-1` 解析失败);runtime 仍校验 n<0,
51
+ // 但只能通过非字面量路径触发(例如 evaluation 输入),此处不测无法构造的输入。
52
+ });
53
+ //# sourceMappingURL=decimal-round-divide.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decimal-round-divide.test.js","sourceRoot":"","sources":["../../../test/unit/decimal-round-divide.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.6",
3
+ "version": "1.0.7",
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",
@@ -116,7 +116,8 @@
116
116
  },
117
117
  "dependencies": {
118
118
  "@types/semver": "^7.7.1",
119
- "semver": "^7.7.3"
119
+ "semver": "^7.7.3",
120
+ "decimal.js": "10.4.3"
120
121
  },
121
122
  "//peerDependencies": "P0-R19: CLI/LSP-only deps. Consumers importing only the browser/core entries don't need them. Subpath imports (./cli, ./lsp) require them — flagged optional so npm/pnpm install them by default but consumers can opt out with --no-optional.",
122
123
  "peerDependencies": {