@aster-cloud/aster-lang-ts 0.0.31 → 0.1.0
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/CHANGELOG.md +46 -0
- package/README.md +4 -4
- package/dist/peg/headers-parser.js +233 -468
- package/dist/scripts/cleanup-examples.js +1 -1
- package/dist/scripts/cleanup-examples.js.map +1 -1
- package/dist/scripts/emit-classfiles.js +0 -49
- package/dist/scripts/emit-classfiles.js.map +1 -1
- package/dist/scripts/golden.js +0 -3
- package/dist/scripts/golden.js.map +1 -1
- package/dist/scripts/lsp-capmanifest-codeaction-smoke.js +2 -2
- package/dist/scripts/lsp-capmanifest-codeaction-smoke.js.map +1 -1
- package/dist/scripts/lsp-codeaction-smoke.js +2 -2
- package/dist/scripts/lsp-codeaction-smoke.js.map +1 -1
- package/dist/scripts/lsp-health-smoke.js +1 -1
- package/dist/scripts/lsp-health-smoke.js.map +1 -1
- package/dist/scripts/lsp-missing-header-codeaction-smoke.js +1 -1
- package/dist/scripts/lsp-missing-header-codeaction-smoke.js.map +1 -1
- package/dist/scripts/lsp-multi-rename.test.js +1 -1
- package/dist/scripts/lsp-multi-rename.test.js.map +1 -1
- package/dist/scripts/lsp-punct-codeaction-smoke.js +1 -1
- package/dist/scripts/lsp-punct-codeaction-smoke.js.map +1 -1
- package/dist/scripts/lsp-streaming-progress-smoke.js +2 -2
- package/dist/scripts/lsp-streaming-progress-smoke.js.map +1 -1
- package/dist/src/ast/ast.js +1 -1
- package/dist/src/ast/ast.js.map +1 -1
- package/dist/src/browser.d.ts +6 -18
- package/dist/src/browser.d.ts.map +1 -1
- package/dist/src/browser.js +14 -24
- package/dist/src/browser.js.map +1 -1
- package/dist/src/config/lexicons/diagnostic-messages.d.ts +23 -0
- package/dist/src/config/lexicons/diagnostic-messages.d.ts.map +1 -0
- package/dist/src/config/lexicons/diagnostic-messages.js +130 -0
- package/dist/src/config/lexicons/diagnostic-messages.js.map +1 -0
- package/dist/src/config/lexicons/input-generation-rules.d.ts +22 -0
- package/dist/src/config/lexicons/input-generation-rules.d.ts.map +1 -0
- package/dist/src/config/lexicons/input-generation-rules.js +142 -0
- package/dist/src/config/lexicons/input-generation-rules.js.map +1 -0
- package/dist/src/config/lexicons/lsp-ui-texts.d.ts +42 -0
- package/dist/src/config/lexicons/lsp-ui-texts.d.ts.map +1 -0
- package/dist/src/config/lexicons/lsp-ui-texts.js +75 -0
- package/dist/src/config/lexicons/lsp-ui-texts.js.map +1 -0
- package/dist/src/config/lexicons/overlay-loader.d.ts +55 -0
- package/dist/src/config/lexicons/overlay-loader.d.ts.map +1 -0
- package/dist/src/config/lexicons/overlay-loader.js +30 -0
- package/dist/src/config/lexicons/overlay-loader.js.map +1 -0
- package/dist/src/config/lexicons/type-inference-rules.d.ts +19 -0
- package/dist/src/config/lexicons/type-inference-rules.d.ts.map +1 -0
- package/dist/src/config/lexicons/type-inference-rules.js +56 -0
- package/dist/src/config/lexicons/type-inference-rules.js.map +1 -0
- package/dist/src/config/lexicons/types.d.ts +10 -0
- package/dist/src/config/lexicons/types.d.ts.map +1 -1
- package/dist/src/config/lexicons/types.js.map +1 -1
- package/dist/src/config/semantic.d.ts +0 -8
- package/dist/src/config/semantic.d.ts.map +1 -1
- package/dist/src/config/semantic.js +0 -16
- package/dist/src/config/semantic.js.map +1 -1
- package/dist/src/diagnostics/diagnostics.d.ts +1 -7
- package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
- package/dist/src/diagnostics/diagnostics.js +2 -9
- package/dist/src/diagnostics/diagnostics.js.map +1 -1
- package/dist/src/diagnostics/error_codes.d.ts +2 -1
- package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
- package/dist/src/diagnostics/error_codes.js +85 -480
- package/dist/src/diagnostics/error_codes.js.map +1 -1
- package/dist/src/formatter.js +8 -23
- package/dist/src/formatter.js.map +1 -1
- package/dist/src/frontend/lexer.d.ts +1 -1
- package/dist/src/frontend/lexer.js +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.js +3 -3
- package/dist/src/lower_to_core.d.ts +3 -3
- package/dist/src/lower_to_core.js +3 -3
- package/dist/src/lsp/codeaction.d.ts +2 -1
- package/dist/src/lsp/codeaction.d.ts.map +1 -1
- package/dist/src/lsp/codeaction.js +17 -14
- package/dist/src/lsp/codeaction.js.map +1 -1
- package/dist/src/lsp/completion.d.ts +4 -51
- package/dist/src/lsp/completion.d.ts.map +1 -1
- package/dist/src/lsp/completion.js +15 -83
- package/dist/src/lsp/completion.js.map +1 -1
- package/dist/src/lsp/diagnostics.d.ts +3 -2
- package/dist/src/lsp/diagnostics.d.ts.map +1 -1
- package/dist/src/lsp/diagnostics.js +14 -7
- package/dist/src/lsp/diagnostics.js.map +1 -1
- package/dist/src/lsp/navigation/hover.d.ts +2 -1
- package/dist/src/lsp/navigation/hover.d.ts.map +1 -1
- package/dist/src/lsp/navigation/hover.js +22 -35
- package/dist/src/lsp/navigation/hover.js.map +1 -1
- package/dist/src/lsp/navigation.d.ts +1 -1
- package/dist/src/lsp/navigation.d.ts.map +1 -1
- package/dist/src/lsp/navigation.js +2 -2
- package/dist/src/lsp/navigation.js.map +1 -1
- package/dist/src/lsp/pii_diagnostics.js +3 -13
- package/dist/src/lsp/pii_diagnostics.js.map +1 -1
- package/dist/src/lsp/server.js +35 -8
- package/dist/src/lsp/server.js.map +1 -1
- package/dist/src/lsp/workspace/document-indexer.js +1 -1
- package/dist/src/lsp/workspace/document-indexer.js.map +1 -1
- package/dist/src/package/resolver.js +6 -6
- package/dist/src/package/resolver.js.map +1 -1
- package/dist/src/parser/constraint-parser.d.ts +1 -10
- package/dist/src/parser/constraint-parser.d.ts.map +1 -1
- package/dist/src/parser/constraint-parser.js +0 -30
- package/dist/src/parser/constraint-parser.js.map +1 -1
- package/dist/src/parser/context.d.ts +3 -1
- package/dist/src/parser/context.d.ts.map +1 -1
- package/dist/src/parser/context.js +2 -1
- package/dist/src/parser/context.js.map +1 -1
- package/dist/src/parser/decl-parser.d.ts +1 -1
- package/dist/src/parser/decl-parser.js +3 -3
- package/dist/src/parser/decl-parser.js.map +1 -1
- package/dist/src/parser/expr-stmt-parser.js +3 -3
- package/dist/src/parser/expr-stmt-parser.js.map +1 -1
- package/dist/src/parser/field-variant-parser.js +1 -1
- package/dist/src/parser/field-variant-parser.js.map +1 -1
- package/dist/src/parser/import-parser.d.ts +1 -1
- package/dist/src/parser/import-parser.js +2 -2
- package/dist/src/parser/import-parser.js.map +1 -1
- package/dist/src/parser/input-generator.d.ts +20 -6
- package/dist/src/parser/input-generator.d.ts.map +1 -1
- package/dist/src/parser/input-generator.js +20 -403
- package/dist/src/parser/input-generator.js.map +1 -1
- package/dist/src/parser/type-inference.d.ts +10 -16
- package/dist/src/parser/type-inference.d.ts.map +1 -1
- package/dist/src/parser/type-inference.js +36 -127
- package/dist/src/parser/type-inference.js.map +1 -1
- package/dist/src/parser.d.ts +1 -1
- package/dist/src/parser.d.ts.map +1 -1
- package/dist/src/parser.js +6 -3
- package/dist/src/parser.js.map +1 -1
- package/dist/src/typecheck/context.d.ts +2 -0
- package/dist/src/typecheck/context.d.ts.map +1 -1
- package/dist/src/typecheck/context.js.map +1 -1
- package/dist/src/typecheck/diagnostics.d.ts +6 -0
- package/dist/src/typecheck/diagnostics.d.ts.map +1 -1
- package/dist/src/typecheck/diagnostics.js +11 -3
- package/dist/src/typecheck/diagnostics.js.map +1 -1
- package/dist/src/typecheck/module.d.ts.map +1 -1
- package/dist/src/typecheck/module.js +8 -2
- package/dist/src/typecheck/module.js.map +1 -1
- package/dist/src/typecheck/workflow.js +10 -10
- package/dist/src/typecheck/workflow.js.map +1 -1
- package/dist/src/types/type-inference.d.ts +20 -0
- package/dist/src/types/type-inference.d.ts.map +1 -0
- package/dist/src/types/type-inference.js +8 -0
- package/dist/src/types/type-inference.js.map +1 -0
- package/dist/src/types.d.ts +0 -21
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/dist/test/fuzz/formatter-fuzz.test.js +5 -1
- package/dist/test/fuzz/formatter-fuzz.test.js.map +1 -1
- package/dist/test/integration/compliance/compliance-smoke.test.js +4 -1
- package/dist/test/integration/compliance/compliance-smoke.test.js.map +1 -1
- package/dist/test/type-checker/pii-propagation.test.js +1 -2
- package/dist/test/type-checker/pii-propagation.test.js.map +1 -1
- package/dist/test/unit/browser/extract-schema.test.d.ts +2 -0
- package/dist/test/unit/browser/extract-schema.test.d.ts.map +1 -0
- package/dist/test/unit/browser/extract-schema.test.js +117 -0
- package/dist/test/unit/browser/extract-schema.test.js.map +1 -0
- package/dist/test/unit/emitter/emitter.test.js +30 -35
- package/dist/test/unit/emitter/emitter.test.js.map +1 -1
- package/dist/test/unit/lowering/lowering.test.js +1 -1
- package/dist/test/unit/lowering/lowering.test.js.map +1 -1
- package/dist/test/unit/lsp/pii-diagnostics.test.js +5 -5
- package/dist/test/unit/lsp/pii-diagnostics.test.js.map +1 -1
- package/dist/test/unit/parser/type-inference.test.js +50 -32
- package/dist/test/unit/parser/type-inference.test.js.map +1 -1
- package/dist/test/unit/typecheck/regression-fixes.test.js +12 -12
- package/dist/test/unit/typecheck/regression-fixes.test.js.map +1 -1
- package/dist/test/unit/typecheck/type-system.test.js +2 -2
- package/dist/test/unit/typecheck/type-system.test.js.map +1 -1
- package/dist/test/unit/typecheck/typecheck-advanced.test.js +2 -2
- package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [0.1.0] - 2026-02-24
|
|
4
|
+
|
|
5
|
+
### BREAKING CHANGES
|
|
6
|
+
|
|
7
|
+
- **PEG headers 语法**:移除 `FuncHeaderLegacy`(旧 `To` 语法)、`ParamPart`(旧 `with` 参数)、legacy `Data`(旧 `Define with`)、`this module is` 回退分支。类型标注从 `:` 改为 `as`。
|
|
8
|
+
- **公开 API**:移除 `validateSyntax()`(零消费者)。
|
|
9
|
+
- **废弃符号**:移除 `NAMING_RULES` 别名、`annotationToConstraint()` 函数、3 个旧 `DiagnosticCode` 枚举成员(`DEPENDENCY_RESOLUTION_TIMEOUT`、`VERSION_CONFLICT_UNRESOLVABLE`、`PACKAGE_NOT_FOUND`)。
|
|
10
|
+
- **Annotation 类型**:移除已废弃的 `Annotation` 接口及 `Field`/`Parameter`/`TypeName` 上的 `annotations` 字段(使用 `Constraint` 替代)。
|
|
11
|
+
- **KW 常量**:移除 8 个未使用的 KW 常量(`FOR_EACH`、`IS`、`MORE_THAN`、`OVER`、`RESULT_IS`、`UNDER`、`FALSE`、`TRUE`)及对应 `KW_TO_SEMANTIC` 映射。
|
|
12
|
+
- **Formatter 输出**:类型标注从 `:` 改为 `as`(与解析器对齐)。
|
|
13
|
+
|
|
14
|
+
### 迁移指南
|
|
15
|
+
|
|
16
|
+
**语法变更**(Phase 1 + Phase 2a):
|
|
17
|
+
|
|
18
|
+
| 旧语法 | 新语法 |
|
|
19
|
+
|--------|--------|
|
|
20
|
+
| `This module is X.` | `Module X.` |
|
|
21
|
+
| `To func with params` | `Rule func given params` |
|
|
22
|
+
| `Define X with fields` | `Define X has fields` |
|
|
23
|
+
| `name: Text` (类型标注) | `name as Text` |
|
|
24
|
+
|
|
25
|
+
**API 变更**:
|
|
26
|
+
|
|
27
|
+
- `validateSyntax()` → 使用 `compile()` + 检查 `diagnostics`
|
|
28
|
+
- `NAMING_RULES` → 使用 `BASE_NAMING_RULES`
|
|
29
|
+
- `annotationToConstraint()` → 已由解析器内置约束解析替代
|
|
30
|
+
- `DiagnosticCode.PACKAGE_NOT_FOUND` → `DiagnosticCode.V003_PackageNotFound`
|
|
31
|
+
- `DiagnosticCode.DEPENDENCY_RESOLUTION_TIMEOUT` → `DiagnosticCode.V001_DependencyResolutionTimeout`
|
|
32
|
+
- `DiagnosticCode.VERSION_CONFLICT_UNRESOLVABLE` → `DiagnosticCode.V002_VersionConflictUnresolvable`
|
|
33
|
+
- `Annotation` 接口 → 使用 `Constraint` 类型
|
|
34
|
+
- `Field.annotations` / `Parameter.annotations` → 使用 `.constraints`
|
|
35
|
+
|
|
36
|
+
### 新增
|
|
37
|
+
|
|
38
|
+
- `extractSchema` 测试套件(7 个用例)
|
|
39
|
+
- AI 训练数据重新生成(适配新语法)
|
|
40
|
+
|
|
41
|
+
### 修复
|
|
42
|
+
|
|
43
|
+
- 训练数据无效操作符语法 `>(a,b)` → `a greater than b`
|
|
44
|
+
- Formatter fuzz 测试路径修复 + `existsSync` 保护
|
|
45
|
+
- `test_loan.aster` 补充显式类型确保格式化幂等
|
|
46
|
+
- 全部文档/脚本/注释从旧语法迁移到新规范语法
|
package/README.md
CHANGED
|
@@ -26,9 +26,9 @@ import { canonicalize, lex, parse, lowerModule } from '@aster-cloud/aster-lang-t
|
|
|
26
26
|
|
|
27
27
|
// Compile pipeline
|
|
28
28
|
const source = `
|
|
29
|
-
|
|
29
|
+
Module greeting.
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
Rule greet given name, produce:
|
|
32
32
|
Return Text.concat("Hello, ", name).
|
|
33
33
|
`;
|
|
34
34
|
|
|
@@ -47,9 +47,9 @@ import { canonicalize, lex, parse } from '@aster-cloud/aster-lang-ts';
|
|
|
47
47
|
import { ZH_CN } from '@aster-cloud/aster-lang-ts/lexicons/zh-CN';
|
|
48
48
|
|
|
49
49
|
const zhSource = `
|
|
50
|
-
|
|
50
|
+
模块 问候。
|
|
51
51
|
|
|
52
|
-
问候
|
|
52
|
+
规则 问候 给定 姓名,产出:
|
|
53
53
|
返回「你好,」 加 姓名。
|
|
54
54
|
`;
|
|
55
55
|
|