@aster-cloud/aster-lang-ts 0.0.32 → 0.1.1
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/aster.js +5 -5
- package/dist/scripts/aster.js.map +1 -1
- package/dist/scripts/cleanup-examples.js +1 -1
- package/dist/scripts/cleanup-examples.js.map +1 -1
- package/dist/scripts/emit-classfiles.js +1 -50
- package/dist/scripts/emit-classfiles.js.map +1 -1
- package/dist/scripts/emit-core.js +1 -1
- package/dist/scripts/emit-core.js.map +1 -1
- package/dist/scripts/golden.js +5 -8
- package/dist/scripts/golden.js.map +1 -1
- package/dist/scripts/lsp-build-index.js +1 -1
- package/dist/scripts/lsp-build-index.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/scripts/perf-benchmark.js +1 -1
- package/dist/scripts/perf-benchmark.js.map +1 -1
- package/dist/scripts/perf-diagnostics.js +1 -1
- package/dist/scripts/perf-diagnostics.js.map +1 -1
- package/dist/scripts/profile-medium-project.js +1 -1
- package/dist/scripts/profile-medium-project.js.map +1 -1
- package/dist/scripts/repl.js +1 -1
- package/dist/scripts/repl.js.map +1 -1
- package/dist/scripts/typecheck-cli.js +1 -1
- package/dist/scripts/typecheck-cli.js.map +1 -1
- package/dist/scripts/update-eff-violation-expected.js +1 -1
- package/dist/scripts/update-eff-violation-expected.js.map +1 -1
- package/dist/scripts/verify-capabilities.js +1 -1
- package/dist/scripts/verify-capabilities.js.map +1 -1
- package/dist/src/ai/validator.d.ts.map +1 -1
- package/dist/src/ai/validator.js +13 -1
- package/dist/src/ai/validator.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 +10 -18
- package/dist/src/browser.d.ts.map +1 -1
- package/dist/src/browser.js +36 -33
- package/dist/src/browser.js.map +1 -1
- package/dist/src/cli/policy-converter.js +1 -1
- package/dist/src/cli/policy-converter.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/core/index.d.ts +2 -0
- package/dist/src/core/index.d.ts.map +1 -1
- package/dist/src/core/index.js +1 -0
- package/dist/src/core/index.js.map +1 -1
- package/dist/src/core/interpreter.d.ts +37 -0
- package/dist/src/core/interpreter.d.ts.map +1 -0
- package/dist/src/core/interpreter.js +454 -0
- package/dist/src/core/interpreter.js.map +1 -0
- package/dist/src/diagnostics/diagnostics.d.ts +6 -7
- package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
- package/dist/src/diagnostics/diagnostics.js +15 -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 +9 -24
- 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 +4 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/jvm/emitter.js +3 -3
- package/dist/src/jvm/emitter.js.map +1 -1
- 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 +16 -84
- 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/definition.js +1 -1
- package/dist/src/lsp/navigation/definition.js.map +1 -1
- package/dist/src/lsp/navigation/document-symbol.js +1 -1
- package/dist/src/lsp/navigation/document-symbol.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 +23 -36
- 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/tokens.js +2 -2
- package/dist/src/lsp/tokens.js.map +1 -1
- package/dist/src/lsp/workspace/document-indexer.js +2 -2
- 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 +6 -10
- package/dist/src/parser/decl-parser.d.ts.map +1 -1
- package/dist/src/parser/decl-parser.js +86 -58
- 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 +18 -5
- package/dist/src/parser.d.ts.map +1 -1
- package/dist/src/parser.js +11 -8
- 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/benchmark.js +8 -8
- package/dist/test/benchmark.js.map +1 -1
- package/dist/test/compiler/depends-on.test.js +1 -1
- package/dist/test/compiler/depends-on.test.js.map +1 -1
- package/dist/test/compiler/workflow-emitter-helpers.js +1 -1
- package/dist/test/compiler/workflow-emitter-helpers.js.map +1 -1
- package/dist/test/e2e/runner/golden-runner.js +3 -3
- package/dist/test/e2e/runner/golden-runner.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/integration/lsp/lsp-completion.test.js +1 -1
- package/dist/test/integration/lsp/lsp-completion.test.js.map +1 -1
- package/dist/test/integration/lsp/lsp-diagnostics.test.js +1 -1
- package/dist/test/integration/lsp/lsp-diagnostics.test.js.map +1 -1
- package/dist/test/integration/lsp/lsp-modules.test.js +1 -1
- package/dist/test/integration/lsp/lsp-modules.test.js.map +1 -1
- package/dist/test/integration/lsp/lsp-navigation.test.js +1 -1
- package/dist/test/integration/lsp/lsp-navigation.test.js.map +1 -1
- package/dist/test/integration/pipeline/pipeline.test.js +4 -4
- 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 +15 -15
- package/dist/test/property/property.test.js.map +1 -1
- package/dist/test/regression/type-checker-golden.test.js +1 -1
- package/dist/test/regression/type-checker-golden.test.js.map +1 -1
- package/dist/test/type-checker/cross-module-packages.test.js +1 -1
- package/dist/test/type-checker/cross-module-packages.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/async/async-discipline.test.js +1 -1
- package/dist/test/unit/async/async-discipline.test.js.map +1 -1
- package/dist/test/unit/async/async-schedule.test.js +1 -1
- package/dist/test/unit/async/async-schedule.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/interpreter/interpreter.test.d.ts +2 -0
- package/dist/test/unit/interpreter/interpreter.test.d.ts.map +1 -0
- package/dist/test/unit/interpreter/interpreter.test.js +507 -0
- package/dist/test/unit/interpreter/interpreter.test.js.map +1 -0
- package/dist/test/unit/keyword-translator.test.js +4 -4
- package/dist/test/unit/keyword-translator.test.js.map +1 -1
- package/dist/test/unit/lowering/lowering.test.js +2 -2
- 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/parser.test.js +39 -37
- package/dist/test/unit/parser/parser.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/async-discipline-extended.test.js +1 -1
- package/dist/test/unit/typecheck/async-discipline-extended.test.js.map +1 -1
- package/dist/test/unit/typecheck/effects-and-capabilities.test.js +4 -4
- package/dist/test/unit/typecheck/effects-and-capabilities.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-inference.test.js +1 -1
- package/dist/test/unit/typecheck/type-inference.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 +3 -3
- package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -1
- package/package.json +6 -3
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LSP 用户界面文本注册表(overlay 模式)
|
|
3
|
+
*
|
|
4
|
+
* 集中管理 LSP handler 中的用户可见文本。
|
|
5
|
+
*
|
|
6
|
+
* 规则数据来源优先级:
|
|
7
|
+
* 1. 从语言包 JSON overlay 加载(通过 registerOverlayLspUiTexts)
|
|
8
|
+
* 2. 内联 fallback 常量(当 JSON overlay 尚未接入时使用)
|
|
9
|
+
*/
|
|
10
|
+
import type { Lexicon } from './types.js';
|
|
11
|
+
import type { OverlayData } from './overlay-loader.js';
|
|
12
|
+
/** LSP 用户界面文本 */
|
|
13
|
+
export interface LspUiTexts {
|
|
14
|
+
readonly effectsLabel: string;
|
|
15
|
+
readonly moduleDeclaration: string;
|
|
16
|
+
readonly moduleDeclarationDoc: string;
|
|
17
|
+
readonly typeDefinition: string;
|
|
18
|
+
readonly typeDefinitionDoc: string;
|
|
19
|
+
readonly functionDefinition: string;
|
|
20
|
+
readonly functionDefinitionDoc: string;
|
|
21
|
+
readonly functionLabel: string;
|
|
22
|
+
readonly typeLabel: string;
|
|
23
|
+
readonly enumLabel: string;
|
|
24
|
+
readonly localLabel: string;
|
|
25
|
+
readonly parameterLabel: string;
|
|
26
|
+
readonly patternBindingLabel: string;
|
|
27
|
+
readonly piiWarningHeader: string;
|
|
28
|
+
readonly piiL3Hint: string;
|
|
29
|
+
readonly piiL2Hint: string;
|
|
30
|
+
readonly piiL1Hint: string;
|
|
31
|
+
readonly piiRedactHint: string;
|
|
32
|
+
readonly hintPrefix: string;
|
|
33
|
+
readonly fixPrefix: string;
|
|
34
|
+
readonly missingModuleHeader: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 从 JSON overlay 数据注册 LSP UI 文本(覆盖内联 fallback)。
|
|
38
|
+
*/
|
|
39
|
+
export declare function registerOverlayLspUiTexts(lexiconId: string, overlay: NonNullable<OverlayData['lspUiTexts']>): void;
|
|
40
|
+
/** 获取指定 lexicon 的 UI 文本,回退到英文 */
|
|
41
|
+
export declare function getLspUiTexts(lexicon?: Lexicon): Readonly<LspUiTexts>;
|
|
42
|
+
//# sourceMappingURL=lsp-ui-texts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp-ui-texts.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/lsp-ui-texts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,iBAAiB;AACjB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAEvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAErC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAiED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAElH;AAED,iCAAiC;AACjC,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAGrE"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LSP 用户界面文本注册表(overlay 模式)
|
|
3
|
+
*
|
|
4
|
+
* 集中管理 LSP handler 中的用户可见文本。
|
|
5
|
+
*
|
|
6
|
+
* 规则数据来源优先级:
|
|
7
|
+
* 1. 从语言包 JSON overlay 加载(通过 registerOverlayLspUiTexts)
|
|
8
|
+
* 2. 内联 fallback 常量(当 JSON overlay 尚未接入时使用)
|
|
9
|
+
*/
|
|
10
|
+
import { loadLspUiTexts } from './overlay-loader.js';
|
|
11
|
+
/** 内联 fallback:英文 UI 文本 */
|
|
12
|
+
const EN_US_UI = {
|
|
13
|
+
effectsLabel: 'Effects:',
|
|
14
|
+
moduleDeclaration: 'Module declaration',
|
|
15
|
+
moduleDeclarationDoc: 'Declares the module name for this file',
|
|
16
|
+
typeDefinition: 'Type definition',
|
|
17
|
+
typeDefinitionDoc: 'Define a new data type or enum',
|
|
18
|
+
functionDefinition: 'Function definition',
|
|
19
|
+
functionDefinitionDoc: 'Define a new function',
|
|
20
|
+
functionLabel: 'Function',
|
|
21
|
+
typeLabel: 'type',
|
|
22
|
+
enumLabel: 'enum',
|
|
23
|
+
localLabel: 'Local',
|
|
24
|
+
parameterLabel: 'Parameter',
|
|
25
|
+
patternBindingLabel: 'Pattern binding',
|
|
26
|
+
piiWarningHeader: 'PII Data',
|
|
27
|
+
piiL3Hint: '🔴 High sensitivity: SSN, passport, biometric\nGDPR: Requires explicit consent (Art. 9)\nHIPAA: PHI - encryption required',
|
|
28
|
+
piiL2Hint: '🟠 Medium sensitivity: email, phone, address\nGDPR: Lawful basis required (Art. 6)\nConsider encryption at rest',
|
|
29
|
+
piiL1Hint: '🟡 Low sensitivity: name, preferences\nGDPR: Document processing purpose',
|
|
30
|
+
piiRedactHint: 'Use `redact()` or `tokenize()` before external transmission',
|
|
31
|
+
hintPrefix: 'Hint:',
|
|
32
|
+
fixPrefix: 'Fix:',
|
|
33
|
+
missingModuleHeader: 'Missing module header. Add "Module <name>."',
|
|
34
|
+
};
|
|
35
|
+
/** 内联 fallback:中文 UI 文本 */
|
|
36
|
+
const ZH_CN_UI = {
|
|
37
|
+
effectsLabel: '效果:',
|
|
38
|
+
moduleDeclaration: '模块声明',
|
|
39
|
+
moduleDeclarationDoc: '声明此文件的模块名称',
|
|
40
|
+
typeDefinition: '类型定义',
|
|
41
|
+
typeDefinitionDoc: '定义数据类型或枚举',
|
|
42
|
+
functionDefinition: '函数定义',
|
|
43
|
+
functionDefinitionDoc: '定义函数',
|
|
44
|
+
functionLabel: '函数',
|
|
45
|
+
typeLabel: '类型',
|
|
46
|
+
enumLabel: '枚举',
|
|
47
|
+
localLabel: '局部变量',
|
|
48
|
+
parameterLabel: '参数',
|
|
49
|
+
patternBindingLabel: '模式绑定',
|
|
50
|
+
piiWarningHeader: 'PII 数据',
|
|
51
|
+
piiL3Hint: '🔴 高敏感: 身份证号、护照、生物识别\nGDPR: 需要明确同意 (Art. 9)\nHIPAA: PHI - 必须加密',
|
|
52
|
+
piiL2Hint: '🟠 中等敏感: 邮箱、电话、地址\nGDPR: 需要合法依据 (Art. 6)\n建议静态加密',
|
|
53
|
+
piiL1Hint: '🟡 低敏感: 姓名、偏好\nGDPR: 需记录处理目的',
|
|
54
|
+
piiRedactHint: '在外部传输前使用 `redact()` 或 `tokenize()`',
|
|
55
|
+
hintPrefix: '提示:',
|
|
56
|
+
fixPrefix: '修复:',
|
|
57
|
+
missingModuleHeader: '缺少模块头。请添加 "模块 <名称>。"',
|
|
58
|
+
};
|
|
59
|
+
const UI_BY_LEXICON = {
|
|
60
|
+
'en-US': EN_US_UI,
|
|
61
|
+
'zh-CN': ZH_CN_UI,
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* 从 JSON overlay 数据注册 LSP UI 文本(覆盖内联 fallback)。
|
|
65
|
+
*/
|
|
66
|
+
export function registerOverlayLspUiTexts(lexiconId, overlay) {
|
|
67
|
+
UI_BY_LEXICON[lexiconId] = loadLspUiTexts(overlay);
|
|
68
|
+
}
|
|
69
|
+
/** 获取指定 lexicon 的 UI 文本,回退到英文 */
|
|
70
|
+
export function getLspUiTexts(lexicon) {
|
|
71
|
+
if (!lexicon)
|
|
72
|
+
return EN_US_UI;
|
|
73
|
+
return UI_BY_LEXICON[lexicon.id] ?? EN_US_UI;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=lsp-ui-texts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp-ui-texts.js","sourceRoot":"","sources":["../../../../src/config/lexicons/lsp-ui-texts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA+BrD,2BAA2B;AAC3B,MAAM,QAAQ,GAAyB;IACrC,YAAY,EAAE,UAAU;IACxB,iBAAiB,EAAE,oBAAoB;IACvC,oBAAoB,EAAE,wCAAwC;IAC9D,cAAc,EAAE,iBAAiB;IACjC,iBAAiB,EAAE,gCAAgC;IACnD,kBAAkB,EAAE,qBAAqB;IACzC,qBAAqB,EAAE,uBAAuB;IAE9C,aAAa,EAAE,UAAU;IACzB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,OAAO;IACnB,cAAc,EAAE,WAAW;IAC3B,mBAAmB,EAAE,iBAAiB;IAEtC,gBAAgB,EAAE,UAAU;IAC5B,SAAS,EAAE,2HAA2H;IACtI,SAAS,EAAE,iHAAiH;IAC5H,SAAS,EAAE,0EAA0E;IACrF,aAAa,EAAE,6DAA6D;IAE5E,UAAU,EAAE,OAAO;IACnB,SAAS,EAAE,MAAM;IAEjB,mBAAmB,EAAE,6CAA6C;CACnE,CAAC;AAEF,2BAA2B;AAC3B,MAAM,QAAQ,GAAyB;IACrC,YAAY,EAAE,KAAK;IACnB,iBAAiB,EAAE,MAAM;IACzB,oBAAoB,EAAE,YAAY;IAClC,cAAc,EAAE,MAAM;IACtB,iBAAiB,EAAE,WAAW;IAC9B,kBAAkB,EAAE,MAAM;IAC1B,qBAAqB,EAAE,MAAM;IAE7B,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,IAAI;IACpB,mBAAmB,EAAE,MAAM;IAE3B,gBAAgB,EAAE,QAAQ;IAC1B,SAAS,EAAE,gEAAgE;IAC3E,SAAS,EAAE,kDAAkD;IAC7D,SAAS,EAAE,8BAA8B;IACzC,aAAa,EAAE,oCAAoC;IAEnD,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,KAAK;IAEhB,mBAAmB,EAAE,sBAAsB;CAC5C,CAAC;AAEF,MAAM,aAAa,GAAyC;IAC1D,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAiB,EAAE,OAA+C;IAC1G,aAAa,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,aAAa,CAAC,OAAiB;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON overlay 加载器
|
|
3
|
+
*
|
|
4
|
+
* 从 LexiconExporter 导出的 JSON 中解析 overlay 数据,
|
|
5
|
+
* 将 JSON 格式转换为 TypeScript 运行时对象。
|
|
6
|
+
*/
|
|
7
|
+
import type { TypeInferenceRule } from '../../types/type-inference.js';
|
|
8
|
+
import type { ValueGenerationRule } from '../../parser/input-generator.js';
|
|
9
|
+
import type { LspUiTexts } from './lsp-ui-texts.js';
|
|
10
|
+
interface RawTypeInferenceRule {
|
|
11
|
+
readonly pattern: string;
|
|
12
|
+
readonly flags?: string;
|
|
13
|
+
readonly type: string;
|
|
14
|
+
readonly priority: number;
|
|
15
|
+
}
|
|
16
|
+
interface RawInputGenerationRule {
|
|
17
|
+
readonly pattern: string;
|
|
18
|
+
readonly flags?: string;
|
|
19
|
+
readonly value: unknown;
|
|
20
|
+
readonly priority: number;
|
|
21
|
+
}
|
|
22
|
+
interface TypeInferenceOverlay {
|
|
23
|
+
readonly version: number;
|
|
24
|
+
readonly rules: readonly RawTypeInferenceRule[];
|
|
25
|
+
}
|
|
26
|
+
interface InputGenerationOverlay {
|
|
27
|
+
readonly version: number;
|
|
28
|
+
readonly rules: readonly RawInputGenerationRule[];
|
|
29
|
+
}
|
|
30
|
+
interface DiagnosticMessagesOverlay {
|
|
31
|
+
readonly version: number;
|
|
32
|
+
readonly messages: Readonly<Record<string, string>>;
|
|
33
|
+
}
|
|
34
|
+
interface DiagnosticHelpOverlay {
|
|
35
|
+
readonly version: number;
|
|
36
|
+
readonly help: Readonly<Record<string, string>>;
|
|
37
|
+
}
|
|
38
|
+
interface LspUiTextsOverlay {
|
|
39
|
+
readonly version: number;
|
|
40
|
+
readonly texts: Readonly<Record<string, string>>;
|
|
41
|
+
}
|
|
42
|
+
export interface OverlayData {
|
|
43
|
+
readonly typeInferenceRules?: TypeInferenceOverlay;
|
|
44
|
+
readonly inputGenerationRules?: InputGenerationOverlay;
|
|
45
|
+
readonly diagnosticMessages?: DiagnosticMessagesOverlay;
|
|
46
|
+
readonly diagnosticHelp?: DiagnosticHelpOverlay;
|
|
47
|
+
readonly lspUiTexts?: LspUiTextsOverlay;
|
|
48
|
+
}
|
|
49
|
+
export declare function loadTypeInferenceRules(overlay: TypeInferenceOverlay): readonly TypeInferenceRule[];
|
|
50
|
+
export declare function loadInputGenerationRules(overlay: InputGenerationOverlay): readonly ValueGenerationRule[];
|
|
51
|
+
export declare function loadDiagnosticMessages(overlay: DiagnosticMessagesOverlay): Readonly<Partial<Record<string, string>>>;
|
|
52
|
+
export declare function loadDiagnosticHelp(overlay: DiagnosticHelpOverlay): Readonly<Partial<Record<string, string>>>;
|
|
53
|
+
export declare function loadLspUiTexts(overlay: LspUiTextsOverlay): Readonly<LspUiTexts>;
|
|
54
|
+
export {};
|
|
55
|
+
//# sourceMappingURL=overlay-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay-loader.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/overlay-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,+BAA+B,CAAC;AAC1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACjD;AAED,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACnD;AAED,UAAU,yBAAyB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAED,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAED,UAAU,iBAAiB;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IACnD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,sBAAsB,CAAC;IACvD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IACxD,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC;CACzC;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,GAAG,SAAS,iBAAiB,EAAE,CAMlG;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,mBAAmB,EAAE,CAMxG;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,yBAAyB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAEpH;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAE5G;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC,CAE/E"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON overlay 加载器
|
|
3
|
+
*
|
|
4
|
+
* 从 LexiconExporter 导出的 JSON 中解析 overlay 数据,
|
|
5
|
+
* 将 JSON 格式转换为 TypeScript 运行时对象。
|
|
6
|
+
*/
|
|
7
|
+
export function loadTypeInferenceRules(overlay) {
|
|
8
|
+
return overlay.rules.map(r => ({
|
|
9
|
+
pattern: new RegExp(r.pattern, r.flags ?? ''),
|
|
10
|
+
type: r.type,
|
|
11
|
+
priority: r.priority,
|
|
12
|
+
}));
|
|
13
|
+
}
|
|
14
|
+
export function loadInputGenerationRules(overlay) {
|
|
15
|
+
return overlay.rules.map(r => ({
|
|
16
|
+
pattern: new RegExp(r.pattern, r.flags ?? ''),
|
|
17
|
+
generate: () => r.value,
|
|
18
|
+
priority: r.priority,
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
export function loadDiagnosticMessages(overlay) {
|
|
22
|
+
return overlay.messages;
|
|
23
|
+
}
|
|
24
|
+
export function loadDiagnosticHelp(overlay) {
|
|
25
|
+
return overlay.help;
|
|
26
|
+
}
|
|
27
|
+
export function loadLspUiTexts(overlay) {
|
|
28
|
+
return overlay.texts;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=overlay-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay-loader.js","sourceRoot":"","sources":["../../../../src/config/lexicons/overlay-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqDH,MAAM,UAAU,sBAAsB,CAAC,OAA6B;IAClE,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7C,IAAI,EAAE,CAAC,CAAC,IAAyB;QACjC,QAAQ,EAAE,CAAC,CAAC,QAAQ;KACrB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA+B;IACtE,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7C,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK;QACvB,QAAQ,EAAE,CAAC,CAAC,QAAQ;KACrB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAkC;IACvE,OAAO,OAAO,CAAC,QAAQ,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA8B;IAC/D,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAA0B;IACvD,OAAO,OAAO,CAAC,KAA8B,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 语言特定的类型推断命名规则(overlay 模式)
|
|
3
|
+
*
|
|
4
|
+
* 不修改 @generated 的 lexicon 文件,而是通过 attach 函数
|
|
5
|
+
* 在运行时将规则附加到 Lexicon 对象上。
|
|
6
|
+
*
|
|
7
|
+
* 规则数据来源优先级:
|
|
8
|
+
* 1. 从语言包 JSON overlay 加载(通过 registerOverlayRules)
|
|
9
|
+
* 2. 内联 fallback 常量(当 JSON overlay 尚未接入时使用)
|
|
10
|
+
*/
|
|
11
|
+
import type { Lexicon } from './types.js';
|
|
12
|
+
import type { OverlayData } from './overlay-loader.js';
|
|
13
|
+
/**
|
|
14
|
+
* 从 JSON overlay 数据注册类型推断规则(覆盖内联 fallback)。
|
|
15
|
+
*/
|
|
16
|
+
export declare function registerOverlayTypeInferenceRules(lexiconId: string, overlay: NonNullable<OverlayData['typeInferenceRules']>): void;
|
|
17
|
+
/** 为 lexicon 附加类型推断规则(不修改原对象) */
|
|
18
|
+
export declare function attachTypeInferenceRules(lexicon: Lexicon): Lexicon;
|
|
19
|
+
//# sourceMappingURL=type-inference-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-inference-rules.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/type-inference-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAoCvD;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,GAAG,IAAI,CAElI;AAED,iCAAiC;AACjC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAKlE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 语言特定的类型推断命名规则(overlay 模式)
|
|
3
|
+
*
|
|
4
|
+
* 不修改 @generated 的 lexicon 文件,而是通过 attach 函数
|
|
5
|
+
* 在运行时将规则附加到 Lexicon 对象上。
|
|
6
|
+
*
|
|
7
|
+
* 规则数据来源优先级:
|
|
8
|
+
* 1. 从语言包 JSON overlay 加载(通过 registerOverlayRules)
|
|
9
|
+
* 2. 内联 fallback 常量(当 JSON overlay 尚未接入时使用)
|
|
10
|
+
*/
|
|
11
|
+
import { loadTypeInferenceRules } from './overlay-loader.js';
|
|
12
|
+
/** 内联 fallback:英文类型推断规则 */
|
|
13
|
+
const EN_US_RULES = [
|
|
14
|
+
{ pattern: /^(?:is|has|can|should|was|will|did|does|allow|enable|disable|active|valid|require)/i, type: 'Bool', priority: 11 },
|
|
15
|
+
{ pattern: /(?:Flag|Enabled|Disabled|Active|Valid|Approved|Rejected|Completed|Confirmed|Sufficient|Success|Passed|Verified)$/i, type: 'Bool', priority: 8 },
|
|
16
|
+
{ pattern: /(?:Date|Time|At|Timestamp|Created|Updated|Modified|Expired|Birthday|Anniversary)$/i, type: 'DateTime', priority: 10 },
|
|
17
|
+
{ pattern: /(?:Type|Status|Category|Kind|Mode)$/i, type: 'Text', priority: 8 },
|
|
18
|
+
{ pattern: /(?:Make|Model|Brand|Manufacturer)$/i, type: 'Text', priority: 7 },
|
|
19
|
+
{ pattern: /(?:Name|Title|Description|Comment|Note|Remark|Address|Email|Phone|Url|Path|Reason|Recommendation|Factors|Purpose)$/i, type: 'Text', priority: 7 },
|
|
20
|
+
{ pattern: /(?:Rating|Limit|Premium|Deductible|Multiplier|Deposit|Line|Utilization|Inquiries|Rent|Debt|Cards|Value|Payments)$/i, type: 'Int', priority: 9 },
|
|
21
|
+
{ pattern: /(?:Licensed|Employed|Job|Experience)$/i, type: 'Int', priority: 8 },
|
|
22
|
+
{ pattern: /(?:Bps|APR|APY)$/i, type: 'Int', priority: 9 },
|
|
23
|
+
{ pattern: /(?:Checked)$/i, type: 'Int', priority: 8 },
|
|
24
|
+
];
|
|
25
|
+
/** 内联 fallback:中文类型推断规则 */
|
|
26
|
+
const ZH_CN_RULES = [
|
|
27
|
+
{ pattern: /^(?:是否|有无|能否|可否|允许|启用|禁用)/, type: 'Bool', priority: 11 },
|
|
28
|
+
{ pattern: /(?:批准|通过|有效|合格|可疑|确认|验证)$/, type: 'Bool', priority: 8 },
|
|
29
|
+
{ pattern: /(?:评分|年龄|数量|次数|额度|金额|保费|免赔额|账龄|卡数)$/, type: 'Int', priority: 10 },
|
|
30
|
+
{ pattern: /(?:利率|费率|比率|百分比)$/, type: 'Float', priority: 9 },
|
|
31
|
+
];
|
|
32
|
+
/** 内联 fallback:德语类型推断规则 */
|
|
33
|
+
const DE_DE_RULES = [
|
|
34
|
+
{ pattern: /(?:genehmigt|berechtigt|verdaechtig|aktiviert|deaktiviert|aktiv|gueltig|erfolgreich|bestanden|bestaetigt|verifiziert|abgelehnt|abgeschlossen|erforderlich)$/i, type: 'Bool', priority: 8 },
|
|
35
|
+
];
|
|
36
|
+
const RULES_BY_LEXICON = {
|
|
37
|
+
'en-US': EN_US_RULES,
|
|
38
|
+
'zh-CN': ZH_CN_RULES,
|
|
39
|
+
'de-DE': DE_DE_RULES,
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* 从 JSON overlay 数据注册类型推断规则(覆盖内联 fallback)。
|
|
43
|
+
*/
|
|
44
|
+
export function registerOverlayTypeInferenceRules(lexiconId, overlay) {
|
|
45
|
+
RULES_BY_LEXICON[lexiconId] = loadTypeInferenceRules(overlay);
|
|
46
|
+
}
|
|
47
|
+
/** 为 lexicon 附加类型推断规则(不修改原对象) */
|
|
48
|
+
export function attachTypeInferenceRules(lexicon) {
|
|
49
|
+
if (lexicon.typeInferenceRules)
|
|
50
|
+
return lexicon;
|
|
51
|
+
const rules = RULES_BY_LEXICON[lexicon.id];
|
|
52
|
+
if (!rules)
|
|
53
|
+
return lexicon;
|
|
54
|
+
return { ...lexicon, typeInferenceRules: rules };
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=type-inference-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-inference-rules.js","sourceRoot":"","sources":["../../../../src/config/lexicons/type-inference-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,2BAA2B;AAC3B,MAAM,WAAW,GAAiC;IAChD,EAAE,OAAO,EAAE,qFAAqF,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9H,EAAE,OAAO,EAAE,mHAAmH,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC3J,EAAE,OAAO,EAAE,oFAAoF,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IACjI,EAAE,OAAO,EAAE,sCAAsC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC9E,EAAE,OAAO,EAAE,qCAAqC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC7E,EAAE,OAAO,EAAE,qHAAqH,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC7J,EAAE,OAAO,EAAE,oHAAoH,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC3J,EAAE,OAAO,EAAE,wCAAwC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC/E,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC1D,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE;CACvD,CAAC;AAEF,2BAA2B;AAC3B,MAAM,WAAW,GAAiC;IAChD,EAAE,OAAO,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpE,EAAE,OAAO,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;IACnE,EAAE,OAAO,EAAE,qCAAqC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC7E,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE;CAC7D,CAAC;AAEF,2BAA2B;AAC3B,MAAM,WAAW,GAAiC;IAChD,EAAE,OAAO,EAAE,8JAA8J,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE;CACvM,CAAC;AAEF,MAAM,gBAAgB,GAAiD;IACrE,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,WAAW;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,iCAAiC,CAAC,SAAiB,EAAE,OAAuD;IAC1H,gBAAgB,CAAC,SAAS,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,IAAI,OAAO,CAAC,kBAAkB;QAAE,OAAO,OAAO,CAAC;IAC/C,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAC3B,OAAO,EAAE,GAAG,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;AACnD,CAAC"}
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
* - 类型安全:所有映射都通过 SemanticTokenKind 进行类型检查
|
|
10
10
|
*/
|
|
11
11
|
import { SemanticTokenKind } from '../token-kind.js';
|
|
12
|
+
import type { TypeInferenceRule } from '../../types/type-inference.js';
|
|
13
|
+
import type { ValueGenerationRule } from '../../parser/input-generator.js';
|
|
12
14
|
/**
|
|
13
15
|
* 词法表接口 - 定义一种自然语言的 CNL 词法。
|
|
14
16
|
*
|
|
@@ -29,6 +31,14 @@ export interface Lexicon {
|
|
|
29
31
|
readonly canonicalization: CanonicalizationConfig;
|
|
30
32
|
/** 错误消息模板 */
|
|
31
33
|
readonly messages: ErrorMessages;
|
|
34
|
+
/** 语言特定的类型推断命名规则(overlay,合并到基线之上) */
|
|
35
|
+
readonly typeInferenceRules?: readonly TypeInferenceRule[];
|
|
36
|
+
/** 语言特定的输入值生成规则(overlay,优先于英文基线) */
|
|
37
|
+
readonly inputGenerationRules?: readonly ValueGenerationRule[];
|
|
38
|
+
/** 诊断消息翻译(覆盖 ERROR_MESSAGES 中对应条目) */
|
|
39
|
+
readonly diagnosticMessages?: Readonly<Partial<Record<string, string>>>;
|
|
40
|
+
/** 帮助文本翻译(覆盖 ERROR_METADATA.help 中对应条目) */
|
|
41
|
+
readonly diagnosticHelp?: Readonly<Partial<Record<string, string>>>;
|
|
32
42
|
}
|
|
33
43
|
/**
|
|
34
44
|
* 标点符号配置。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,gBAAgB;IAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,oCAAoC;IACpC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IAElC,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAE/D,aAAa;IACb,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAExC,YAAY;IACZ,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAElD,aAAa;IACb,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IAEjC,qCAAqC;IACrC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAE3D,oCAAoC;IACpC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAE/D,sCAAsC;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAExE,2CAA2C;IAC3C,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CACrE;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,6BAA6B;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,6BAA6B;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,4BAA4B;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,YAAY;IACZ,QAAQ,CAAC,YAAY,EAAE;QACrB,4BAA4B;QAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,4BAA4B;QAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF,gBAAgB;IAChB,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,oBAAoB;QACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,oBAAoB;QACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAElC,aAAa;IACb,QAAQ,CAAC,cAAc,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAEzD,8BAA8B;IAC9B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IAEjC,qCAAqC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEtC,eAAe;IACf,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAEvD;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,SAAS,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAEvE;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAEvD,6BAA6B;IAC7B,QAAQ,CAAC,0BAA0B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAExD,6BAA6B;IAC7B,QAAQ,CAAC,2BAA2B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,qBAAqB;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,WAAW;IACX,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAEnC,kCAAkC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAE1D,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,YAAY;IACZ,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,aAAa;IACb,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,aAAa;IACb,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAEnC,YAAY;IACZ,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,cAAc;IACd,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAEpC,YAAY;IACZ,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,WAAW;IACX,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAExB,WAAW;IACX,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAEnC,WAAW;IACX,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAMhE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAI/D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAQtG;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/config/lexicons/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/config/lexicons/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmNH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,MAAM,KAAK,GAAG,IAAI,GAAG,EAA6B,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,IAAyB,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SACnC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SAChH,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,OAAe;IACrE,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,IAAyB,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,IAAY;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -169,14 +169,12 @@ export declare const KW: {
|
|
|
169
169
|
readonly MAX_ATTEMPTS: "max attempts";
|
|
170
170
|
readonly BACKOFF: "backoff";
|
|
171
171
|
readonly RETURN: "return";
|
|
172
|
-
readonly RESULT_IS: "the result is";
|
|
173
172
|
readonly WITHIN: "within";
|
|
174
173
|
readonly SCOPE: "scope";
|
|
175
174
|
readonly START: "start";
|
|
176
175
|
readonly ASYNC: "async";
|
|
177
176
|
readonly AWAIT: "await";
|
|
178
177
|
readonly WAIT_FOR: "wait for";
|
|
179
|
-
readonly FOR_EACH: "for each";
|
|
180
178
|
readonly IN: "in";
|
|
181
179
|
readonly MAYBE: "maybe";
|
|
182
180
|
readonly OPTION_OF: "option of";
|
|
@@ -184,8 +182,6 @@ export declare const KW: {
|
|
|
184
182
|
readonly OR: "or";
|
|
185
183
|
readonly AND: "and";
|
|
186
184
|
readonly NULL: "null";
|
|
187
|
-
readonly TRUE: "true";
|
|
188
|
-
readonly FALSE: "false";
|
|
189
185
|
readonly TEXT: "text";
|
|
190
186
|
readonly INT: "int";
|
|
191
187
|
readonly FLOAT: "float";
|
|
@@ -202,10 +198,6 @@ export declare const KW: {
|
|
|
202
198
|
readonly LESS_THAN: "less than";
|
|
203
199
|
readonly GREATER_THAN: "greater than";
|
|
204
200
|
readonly EQUALS_TO: "equals to";
|
|
205
|
-
readonly IS: "is";
|
|
206
|
-
readonly UNDER: "under";
|
|
207
|
-
readonly OVER: "over";
|
|
208
|
-
readonly MORE_THAN: "more than";
|
|
209
201
|
readonly REQUIRED: "required";
|
|
210
202
|
readonly BETWEEN: "between";
|
|
211
203
|
readonly AT_LEAST: "at least";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../../src/config/semantic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH;;;;;;;GAOG;AACH,oBAAY,MAAM;IAChB,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED;;;;;GAKG;AACH,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAItC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,MAAM,OAAO,UAAU,CAE/E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAQxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAEzC,CAAC;AAMF;;;;GAIG;AACH,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,QAAQ,YAAY;IACpB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CASjE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAO3E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD;AAMD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;;GAOG;AACH,eAAO,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../../src/config/semantic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH;;;;;;;GAOG;AACH,oBAAY,MAAM;IAChB,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED;;;;;GAKG;AACH,QAAA,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAItC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,MAAM,OAAO,UAAU,CAE/E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,MAAM,EAQxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,MAAM,EAEzC,CAAC;AAMF;;;;GAIG;AACH,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,QAAQ,YAAY;IACpB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CASjE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAO3E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAEnD;AAMD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;;GAOG;AACH,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEL,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,iBAAiB,CAoErE,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAMlE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAMlE;AAMD;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD"}
|
|
@@ -214,14 +214,12 @@ export const KW = {
|
|
|
214
214
|
MAX_ATTEMPTS: 'max attempts',
|
|
215
215
|
BACKOFF: 'backoff',
|
|
216
216
|
RETURN: 'return',
|
|
217
|
-
RESULT_IS: 'the result is',
|
|
218
217
|
WITHIN: 'within',
|
|
219
218
|
SCOPE: 'scope',
|
|
220
219
|
START: 'start',
|
|
221
220
|
ASYNC: 'async',
|
|
222
221
|
AWAIT: 'await',
|
|
223
222
|
WAIT_FOR: 'wait for',
|
|
224
|
-
FOR_EACH: 'for each',
|
|
225
223
|
IN: 'in',
|
|
226
224
|
MAYBE: 'maybe',
|
|
227
225
|
OPTION_OF: 'option of',
|
|
@@ -229,8 +227,6 @@ export const KW = {
|
|
|
229
227
|
OR: 'or',
|
|
230
228
|
AND: 'and',
|
|
231
229
|
NULL: 'null',
|
|
232
|
-
TRUE: 'true',
|
|
233
|
-
FALSE: 'false',
|
|
234
230
|
TEXT: 'text',
|
|
235
231
|
INT: 'int',
|
|
236
232
|
FLOAT: 'float',
|
|
@@ -247,10 +243,6 @@ export const KW = {
|
|
|
247
243
|
LESS_THAN: 'less than',
|
|
248
244
|
GREATER_THAN: 'greater than',
|
|
249
245
|
EQUALS_TO: 'equals to',
|
|
250
|
-
IS: 'is',
|
|
251
|
-
UNDER: 'under',
|
|
252
|
-
OVER: 'over',
|
|
253
|
-
MORE_THAN: 'more than',
|
|
254
246
|
// 约束关键词
|
|
255
247
|
REQUIRED: 'required',
|
|
256
248
|
BETWEEN: 'between',
|
|
@@ -296,14 +288,12 @@ export const KW_TO_SEMANTIC = {
|
|
|
296
288
|
MAX_ATTEMPTS: SemanticTokenKind.MAX_ATTEMPTS,
|
|
297
289
|
BACKOFF: SemanticTokenKind.BACKOFF,
|
|
298
290
|
RETURN: SemanticTokenKind.RETURN,
|
|
299
|
-
RESULT_IS: SemanticTokenKind.RESULT_IS,
|
|
300
291
|
WITHIN: SemanticTokenKind.WITHIN,
|
|
301
292
|
SCOPE: SemanticTokenKind.SCOPE,
|
|
302
293
|
START: SemanticTokenKind.START,
|
|
303
294
|
ASYNC: SemanticTokenKind.ASYNC,
|
|
304
295
|
AWAIT: SemanticTokenKind.AWAIT,
|
|
305
296
|
WAIT_FOR: SemanticTokenKind.WAIT_FOR,
|
|
306
|
-
FOR_EACH: SemanticTokenKind.FOR_EACH,
|
|
307
297
|
IN: SemanticTokenKind.IN,
|
|
308
298
|
MAYBE: SemanticTokenKind.MAYBE,
|
|
309
299
|
OPTION_OF: SemanticTokenKind.OPTION_OF,
|
|
@@ -311,8 +301,6 @@ export const KW_TO_SEMANTIC = {
|
|
|
311
301
|
OR: SemanticTokenKind.OR,
|
|
312
302
|
AND: SemanticTokenKind.AND,
|
|
313
303
|
NULL: SemanticTokenKind.NULL,
|
|
314
|
-
TRUE: SemanticTokenKind.TRUE,
|
|
315
|
-
FALSE: SemanticTokenKind.FALSE,
|
|
316
304
|
TEXT: SemanticTokenKind.TEXT,
|
|
317
305
|
INT: SemanticTokenKind.INT_TYPE,
|
|
318
306
|
FLOAT: SemanticTokenKind.FLOAT_TYPE,
|
|
@@ -329,10 +317,6 @@ export const KW_TO_SEMANTIC = {
|
|
|
329
317
|
LESS_THAN: SemanticTokenKind.LESS_THAN,
|
|
330
318
|
GREATER_THAN: SemanticTokenKind.GREATER_THAN,
|
|
331
319
|
EQUALS_TO: SemanticTokenKind.EQUALS_TO,
|
|
332
|
-
IS: SemanticTokenKind.IS,
|
|
333
|
-
UNDER: SemanticTokenKind.UNDER,
|
|
334
|
-
OVER: SemanticTokenKind.OVER,
|
|
335
|
-
MORE_THAN: SemanticTokenKind.MORE_THAN,
|
|
336
320
|
// 约束关键词映射
|
|
337
321
|
REQUIRED: SemanticTokenKind.REQUIRED,
|
|
338
322
|
BETWEEN: SemanticTokenKind.BETWEEN,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../../src/config/semantic.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../../src/config/semantic.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/index.d.ts
CHANGED
|
@@ -15,4 +15,6 @@ export type { CoreVisitor, VisitorContext } from './visitor.js';
|
|
|
15
15
|
export { formatModule } from './pretty_core.js';
|
|
16
16
|
export { serializeCoreIR, deserializeCoreIR, isValidCoreIRJson, } from './core_ir_json.js';
|
|
17
17
|
export type { CoreIREnvelope } from './core_ir_json.js';
|
|
18
|
+
export { evaluate } from './interpreter.js';
|
|
19
|
+
export type { EvalResult } from './interpreter.js';
|
|
18
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/src/core/index.js
CHANGED
|
@@ -13,4 +13,5 @@ export { Core, Effect } from './core_ir.js';
|
|
|
13
13
|
export { DefaultCoreVisitor, createVisitorContext, } from './visitor.js';
|
|
14
14
|
export { formatModule } from './pretty_core.js';
|
|
15
15
|
export { serializeCoreIR, deserializeCoreIR, isValidCoreIRJson, } from './core_ir_json.js';
|
|
16
|
+
export { evaluate } from './interpreter.js';
|
|
16
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module core/interpreter
|
|
3
|
+
*
|
|
4
|
+
* Core IR tree-walk 解释器。
|
|
5
|
+
*
|
|
6
|
+
* 对编译后的 Core IR 进行求值,支持:
|
|
7
|
+
* - 算术运算(+, -, *, /)
|
|
8
|
+
* - 比较运算(>, <, >=, <=, ==)
|
|
9
|
+
* - 逻辑运算(and, or, not)
|
|
10
|
+
* - 条件分支(If/Match)
|
|
11
|
+
* - 变量绑定(Let/Set)
|
|
12
|
+
* - 函数调用(递归)
|
|
13
|
+
* - 结构体构造(Construct)
|
|
14
|
+
* - 字段访问(dot notation via Name)
|
|
15
|
+
*/
|
|
16
|
+
import type { Core as CoreTypes } from '../types.js';
|
|
17
|
+
/** 求值结果 */
|
|
18
|
+
export interface EvalResult {
|
|
19
|
+
/** 是否执行成功 */
|
|
20
|
+
success: boolean;
|
|
21
|
+
/** 返回值(成功时) */
|
|
22
|
+
value?: unknown;
|
|
23
|
+
/** 错误信息(失败时) */
|
|
24
|
+
error?: string;
|
|
25
|
+
/** 执行耗时(毫秒) */
|
|
26
|
+
executionTimeMs?: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 对已编译的 Core IR 模块执行指定函数。
|
|
30
|
+
*
|
|
31
|
+
* @param core - 编译后的 Core IR 模块
|
|
32
|
+
* @param functionName - 要执行的函数名
|
|
33
|
+
* @param context - 传入函数的参数值(键为参数名,值为参数值)
|
|
34
|
+
* @returns 求值结果
|
|
35
|
+
*/
|
|
36
|
+
export declare function evaluate(core: CoreTypes.Module, functionName: string, context: Record<string, unknown>): EvalResult;
|
|
37
|
+
//# sourceMappingURL=interpreter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpreter.d.ts","sourceRoot":"","sources":["../../../src/core/interpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAMrD,WAAW;AACX,MAAM,WAAW,UAAU;IACzB,aAAa;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,SAAS,CAAC,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,UAAU,CAwBZ"}
|