@aster-cloud/aster-lang-ts 1.0.37 → 1.2.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.
Files changed (346) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/README.md +13 -7
  3. package/dist/scripts/aster.js +10 -5
  4. package/dist/scripts/aster.js.map +1 -1
  5. package/dist/scripts/core-ir-json.js +8 -3
  6. package/dist/scripts/core-ir-json.js.map +1 -1
  7. package/dist/scripts/emit-classfiles.js +3 -2
  8. package/dist/scripts/emit-classfiles.js.map +1 -1
  9. package/dist/scripts/emit-core.js +8 -5
  10. package/dist/scripts/emit-core.js.map +1 -1
  11. package/dist/scripts/generate-casefold.d.ts +2 -0
  12. package/dist/scripts/generate-casefold.d.ts.map +1 -0
  13. package/dist/scripts/generate-casefold.js +34 -0
  14. package/dist/scripts/generate-casefold.js.map +1 -0
  15. package/dist/scripts/generate-diagnostic-overlays.d.ts +29 -0
  16. package/dist/scripts/generate-diagnostic-overlays.d.ts.map +1 -0
  17. package/dist/scripts/generate-diagnostic-overlays.js +90 -0
  18. package/dist/scripts/generate-diagnostic-overlays.js.map +1 -0
  19. package/dist/scripts/golden.js +45 -20
  20. package/dist/scripts/golden.js.map +1 -1
  21. package/dist/scripts/perf-benchmark.js +1 -0
  22. package/dist/scripts/perf-benchmark.js.map +1 -1
  23. package/dist/scripts/profile-medium-project.js +1 -1
  24. package/dist/scripts/profile-medium-project.js.map +1 -1
  25. package/dist/scripts/repl.js +3 -8
  26. package/dist/scripts/repl.js.map +1 -1
  27. package/dist/scripts/typecheck-cli.js +10 -9
  28. package/dist/scripts/typecheck-cli.js.map +1 -1
  29. package/dist/scripts/update-eff-violation-expected.js +6 -6
  30. package/dist/scripts/update-eff-violation-expected.js.map +1 -1
  31. package/dist/scripts/verify-capabilities.js +3 -6
  32. package/dist/scripts/verify-capabilities.js.map +1 -1
  33. package/dist/scripts/verify-lexicon-sync.js +26 -0
  34. package/dist/scripts/verify-lexicon-sync.js.map +1 -1
  35. package/dist/src/ai/validator.d.ts +1 -1
  36. package/dist/src/ai/validator.d.ts.map +1 -1
  37. package/dist/src/ai/validator.js +12 -12
  38. package/dist/src/ai/validator.js.map +1 -1
  39. package/dist/src/ast/ast.d.ts +2 -0
  40. package/dist/src/ast/ast.d.ts.map +1 -1
  41. package/dist/src/ast/ast.js +6 -0
  42. package/dist/src/ast/ast.js.map +1 -1
  43. package/dist/src/ast/type-nodes.d.ts +25 -0
  44. package/dist/src/ast/type-nodes.d.ts.map +1 -0
  45. package/dist/src/ast/type-nodes.js +56 -0
  46. package/dist/src/ast/type-nodes.js.map +1 -0
  47. package/dist/src/browser.d.ts +27 -10
  48. package/dist/src/browser.d.ts.map +1 -1
  49. package/dist/src/browser.js +44 -55
  50. package/dist/src/browser.js.map +1 -1
  51. package/dist/src/cli/policy-converter.js +5 -9
  52. package/dist/src/cli/policy-converter.js.map +1 -1
  53. package/dist/src/cnl-printer.d.ts.map +1 -1
  54. package/dist/src/cnl-printer.js +10 -9
  55. package/dist/src/cnl-printer.js.map +1 -1
  56. package/dist/src/compile-pipeline.d.ts +48 -0
  57. package/dist/src/compile-pipeline.d.ts.map +1 -0
  58. package/dist/src/compile-pipeline.js +89 -0
  59. package/dist/src/compile-pipeline.js.map +1 -0
  60. package/dist/src/config/lexicons/diagnostic-messages.d.ts +7 -5
  61. package/dist/src/config/lexicons/diagnostic-messages.d.ts.map +1 -1
  62. package/dist/src/config/lexicons/diagnostic-messages.js +17 -105
  63. package/dist/src/config/lexicons/diagnostic-messages.js.map +1 -1
  64. package/dist/src/config/lexicons/diagnostic-overlays.generated.d.ts +9 -0
  65. package/dist/src/config/lexicons/diagnostic-overlays.generated.d.ts.map +1 -0
  66. package/dist/src/config/lexicons/diagnostic-overlays.generated.js +615 -0
  67. package/dist/src/config/lexicons/diagnostic-overlays.generated.js.map +1 -0
  68. package/dist/src/config/lexicons/identifiers/casefold-table.generated.d.ts +9 -0
  69. package/dist/src/config/lexicons/identifiers/casefold-table.generated.d.ts.map +1 -0
  70. package/dist/src/config/lexicons/identifiers/casefold-table.generated.js +1467 -0
  71. package/dist/src/config/lexicons/identifiers/casefold-table.generated.js.map +1 -0
  72. package/dist/src/config/lexicons/identifiers/casefold.d.ts +7 -0
  73. package/dist/src/config/lexicons/identifiers/casefold.d.ts.map +1 -0
  74. package/dist/src/config/lexicons/identifiers/casefold.js +37 -0
  75. package/dist/src/config/lexicons/identifiers/casefold.js.map +1 -0
  76. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.d.ts.map +1 -1
  77. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.js +8 -0
  78. package/dist/src/config/lexicons/identifiers/domains/finance.loan.de-DE.js.map +1 -1
  79. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.d.ts.map +1 -1
  80. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.js +8 -0
  81. package/dist/src/config/lexicons/identifiers/domains/finance.loan.en-US.js.map +1 -1
  82. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.d.ts.map +1 -1
  83. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js +8 -0
  84. package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js.map +1 -1
  85. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.d.ts.map +1 -1
  86. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.js +6 -0
  87. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.de-DE.js.map +1 -1
  88. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.d.ts.map +1 -1
  89. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.js +6 -0
  90. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.en-US.js.map +1 -1
  91. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.d.ts.map +1 -1
  92. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js +6 -0
  93. package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js.map +1 -1
  94. package/dist/src/config/lexicons/identifiers/index.d.ts +7 -9
  95. package/dist/src/config/lexicons/identifiers/index.d.ts.map +1 -1
  96. package/dist/src/config/lexicons/identifiers/index.js +8 -9
  97. package/dist/src/config/lexicons/identifiers/index.js.map +1 -1
  98. package/dist/src/config/lexicons/identifiers/registry.d.ts +11 -5
  99. package/dist/src/config/lexicons/identifiers/registry.d.ts.map +1 -1
  100. package/dist/src/config/lexicons/identifiers/registry.js +20 -14
  101. package/dist/src/config/lexicons/identifiers/registry.js.map +1 -1
  102. package/dist/src/config/lexicons/identifiers/scopes.d.ts +52 -0
  103. package/dist/src/config/lexicons/identifiers/scopes.d.ts.map +1 -0
  104. package/dist/src/config/lexicons/identifiers/scopes.js +166 -0
  105. package/dist/src/config/lexicons/identifiers/scopes.js.map +1 -0
  106. package/dist/src/config/lexicons/identifiers/types.d.ts +15 -29
  107. package/dist/src/config/lexicons/identifiers/types.d.ts.map +1 -1
  108. package/dist/src/config/lexicons/identifiers/types.js +91 -101
  109. package/dist/src/config/lexicons/identifiers/types.js.map +1 -1
  110. package/dist/src/config/lexicons/lsp-ui-texts.d.ts +7 -0
  111. package/dist/src/config/lexicons/lsp-ui-texts.d.ts.map +1 -1
  112. package/dist/src/config/lexicons/lsp-ui-texts.js +12 -0
  113. package/dist/src/config/lexicons/lsp-ui-texts.js.map +1 -1
  114. package/dist/src/config/semantic.d.ts +5 -0
  115. package/dist/src/config/semantic.d.ts.map +1 -1
  116. package/dist/src/config/semantic.js +12 -0
  117. package/dist/src/config/semantic.js.map +1 -1
  118. package/dist/src/core/core_ir.d.ts +2 -0
  119. package/dist/src/core/core_ir.d.ts.map +1 -1
  120. package/dist/src/core/core_ir.js +6 -0
  121. package/dist/src/core/core_ir.js.map +1 -1
  122. package/dist/src/core/inferred_fields.d.ts +10 -0
  123. package/dist/src/core/inferred_fields.d.ts.map +1 -1
  124. package/dist/src/core/inferred_fields.js +9 -0
  125. package/dist/src/core/inferred_fields.js.map +1 -1
  126. package/dist/src/core/interpreter.d.ts.map +1 -1
  127. package/dist/src/core/interpreter.js +12 -10
  128. package/dist/src/core/interpreter.js.map +1 -1
  129. package/dist/src/core/resolution-mark.d.ts +28 -0
  130. package/dist/src/core/resolution-mark.d.ts.map +1 -0
  131. package/dist/src/core/resolution-mark.js +19 -0
  132. package/dist/src/core/resolution-mark.js.map +1 -0
  133. package/dist/src/core/resolve-typed-references.d.ts +36 -0
  134. package/dist/src/core/resolve-typed-references.d.ts.map +1 -0
  135. package/dist/src/core/resolve-typed-references.js +703 -0
  136. package/dist/src/core/resolve-typed-references.js.map +1 -0
  137. package/dist/src/diagnostics/error_codes.d.ts +11 -1
  138. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  139. package/dist/src/diagnostics/error_codes.js +80 -0
  140. package/dist/src/diagnostics/error_codes.js.map +1 -1
  141. package/dist/src/frontend/canonicalizer.d.ts +8 -13
  142. package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
  143. package/dist/src/frontend/canonicalizer.js +19 -48
  144. package/dist/src/frontend/canonicalizer.js.map +1 -1
  145. package/dist/src/frontend/resolution-choice.d.ts +34 -0
  146. package/dist/src/frontend/resolution-choice.d.ts.map +1 -0
  147. package/dist/src/frontend/resolution-choice.js +69 -0
  148. package/dist/src/frontend/resolution-choice.js.map +1 -0
  149. package/dist/src/frontend/resolution-context.d.ts +28 -0
  150. package/dist/src/frontend/resolution-context.d.ts.map +1 -0
  151. package/dist/src/frontend/resolution-context.js +7 -0
  152. package/dist/src/frontend/resolution-context.js.map +1 -0
  153. package/dist/src/frontend/resolve-declarations.d.ts +13 -0
  154. package/dist/src/frontend/resolve-declarations.d.ts.map +1 -0
  155. package/dist/src/frontend/resolve-declarations.js +595 -0
  156. package/dist/src/frontend/resolve-declarations.js.map +1 -0
  157. package/dist/src/frontend/resolve-policy-types.d.ts +54 -0
  158. package/dist/src/frontend/resolve-policy-types.d.ts.map +1 -0
  159. package/dist/src/frontend/resolve-policy-types.js +71 -0
  160. package/dist/src/frontend/resolve-policy-types.js.map +1 -0
  161. package/dist/src/index.d.ts +14 -7
  162. package/dist/src/index.d.ts.map +1 -1
  163. package/dist/src/index.js +14 -7
  164. package/dist/src/index.js.map +1 -1
  165. package/dist/src/lower_to_core.d.ts +2 -16
  166. package/dist/src/lower_to_core.d.ts.map +1 -1
  167. package/dist/src/lower_to_core.js +105 -44
  168. package/dist/src/lower_to_core.js.map +1 -1
  169. package/dist/src/lsp/canonicalize-options.d.ts +8 -11
  170. package/dist/src/lsp/canonicalize-options.d.ts.map +1 -1
  171. package/dist/src/lsp/canonicalize-options.js +8 -8
  172. package/dist/src/lsp/canonicalize-options.js.map +1 -1
  173. package/dist/src/lsp/completion.d.ts +55 -5
  174. package/dist/src/lsp/completion.d.ts.map +1 -1
  175. package/dist/src/lsp/completion.js +149 -0
  176. package/dist/src/lsp/completion.js.map +1 -1
  177. package/dist/src/lsp/diagnostics.d.ts +2 -0
  178. package/dist/src/lsp/diagnostics.d.ts.map +1 -1
  179. package/dist/src/lsp/diagnostics.js +84 -73
  180. package/dist/src/lsp/diagnostics.js.map +1 -1
  181. package/dist/src/lsp/navigation/definition.d.ts +2 -1
  182. package/dist/src/lsp/navigation/definition.d.ts.map +1 -1
  183. package/dist/src/lsp/navigation/definition.js +35 -1
  184. package/dist/src/lsp/navigation/definition.js.map +1 -1
  185. package/dist/src/lsp/navigation/hover.d.ts +12 -5
  186. package/dist/src/lsp/navigation/hover.d.ts.map +1 -1
  187. package/dist/src/lsp/navigation/hover.js +136 -90
  188. package/dist/src/lsp/navigation/hover.js.map +1 -1
  189. package/dist/src/lsp/parse-document.d.ts +4 -1
  190. package/dist/src/lsp/parse-document.d.ts.map +1 -1
  191. package/dist/src/lsp/parse-document.js +20 -17
  192. package/dist/src/lsp/parse-document.js.map +1 -1
  193. package/dist/src/lsp/resolution.d.ts +40 -0
  194. package/dist/src/lsp/resolution.d.ts.map +1 -0
  195. package/dist/src/lsp/resolution.js +179 -0
  196. package/dist/src/lsp/resolution.js.map +1 -0
  197. package/dist/src/lsp/server.js +3 -1
  198. package/dist/src/lsp/server.js.map +1 -1
  199. package/dist/src/lsp/source-positions.d.ts +2 -8
  200. package/dist/src/lsp/source-positions.d.ts.map +1 -1
  201. package/dist/src/lsp/source-positions.js +4 -16
  202. package/dist/src/lsp/source-positions.js.map +1 -1
  203. package/dist/src/mapping/pipeline.js +3 -2
  204. package/dist/src/mapping/pipeline.js.map +1 -1
  205. package/dist/src/mapping/review-queue.d.ts.map +1 -1
  206. package/dist/src/mapping/review-queue.js +3 -2
  207. package/dist/src/mapping/review-queue.js.map +1 -1
  208. package/dist/src/parser/context.d.ts +3 -1
  209. package/dist/src/parser/context.d.ts.map +1 -1
  210. package/dist/src/parser/context.js +1 -0
  211. package/dist/src/parser/context.js.map +1 -1
  212. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  213. package/dist/src/parser/decl-parser.js +7 -5
  214. package/dist/src/parser/decl-parser.js.map +1 -1
  215. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  216. package/dist/src/parser/expr-stmt-parser.js +2 -16
  217. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  218. package/dist/src/parser/type-parser.d.ts.map +1 -1
  219. package/dist/src/parser/type-parser.js +42 -0
  220. package/dist/src/parser/type-parser.js.map +1 -1
  221. package/dist/src/parser.d.ts.map +1 -1
  222. package/dist/src/parser.js +6 -1
  223. package/dist/src/parser.js.map +1 -1
  224. package/dist/src/typecheck/diagnostics.d.ts +10 -0
  225. package/dist/src/typecheck/diagnostics.d.ts.map +1 -1
  226. package/dist/src/typecheck/diagnostics.js +27 -0
  227. package/dist/src/typecheck/diagnostics.js.map +1 -1
  228. package/dist/src/typecheck/expression.d.ts.map +1 -1
  229. package/dist/src/typecheck/expression.js +13 -0
  230. package/dist/src/typecheck/expression.js.map +1 -1
  231. package/dist/src/typecheck/generics.d.ts +5 -0
  232. package/dist/src/typecheck/generics.d.ts.map +1 -1
  233. package/dist/src/typecheck/generics.js +15 -8
  234. package/dist/src/typecheck/generics.js.map +1 -1
  235. package/dist/src/types.d.ts +59 -13
  236. package/dist/src/types.d.ts.map +1 -1
  237. package/dist/src/types.js.map +1 -1
  238. package/dist/src/version.d.ts +18 -0
  239. package/dist/src/version.d.ts.map +1 -0
  240. package/dist/src/version.js +18 -0
  241. package/dist/src/version.js.map +1 -0
  242. package/dist/test/integration/builtin-enum-vocabulary.test.d.ts +2 -0
  243. package/dist/test/integration/builtin-enum-vocabulary.test.d.ts.map +1 -0
  244. package/dist/test/integration/builtin-enum-vocabulary.test.js +51 -0
  245. package/dist/test/integration/builtin-enum-vocabulary.test.js.map +1 -0
  246. package/dist/test/integration/lsp/lsp-rename-safety.test.js +0 -13
  247. package/dist/test/integration/lsp/lsp-rename-safety.test.js.map +1 -1
  248. package/dist/test/integration/name-resolution-entrypoints.test.d.ts +2 -0
  249. package/dist/test/integration/name-resolution-entrypoints.test.d.ts.map +1 -0
  250. package/dist/test/integration/name-resolution-entrypoints.test.js +109 -0
  251. package/dist/test/integration/name-resolution-entrypoints.test.js.map +1 -0
  252. package/dist/test/integration/scripts/typecheck-cli-repl.test.d.ts +2 -0
  253. package/dist/test/integration/scripts/typecheck-cli-repl.test.d.ts.map +1 -0
  254. package/dist/test/integration/scripts/typecheck-cli-repl.test.js +133 -0
  255. package/dist/test/integration/scripts/typecheck-cli-repl.test.js.map +1 -0
  256. package/dist/test/integration/vocabulary-resolution.test.d.ts +2 -0
  257. package/dist/test/integration/vocabulary-resolution.test.d.ts.map +1 -0
  258. package/dist/test/integration/vocabulary-resolution.test.js +291 -0
  259. package/dist/test/integration/vocabulary-resolution.test.js.map +1 -0
  260. package/dist/test/property/property.test.js +2 -1
  261. package/dist/test/property/property.test.js.map +1 -1
  262. package/dist/test/unit/canonicalizer/canonicalizer.test.js +7 -79
  263. package/dist/test/unit/canonicalizer/canonicalizer.test.js.map +1 -1
  264. package/dist/test/unit/config/lexicons/identifiers/identifier-mapping.test.js +134 -31
  265. package/dist/test/unit/config/lexicons/identifiers/identifier-mapping.test.js.map +1 -1
  266. package/dist/test/unit/config/lexicons/identifiers/literal-macro.test.js +16 -18
  267. package/dist/test/unit/config/lexicons/identifiers/literal-macro.test.js.map +1 -1
  268. package/dist/test/unit/core/resolve-typed-references.test.d.ts +2 -0
  269. package/dist/test/unit/core/resolve-typed-references.test.d.ts.map +1 -0
  270. package/dist/test/unit/core/resolve-typed-references.test.js +600 -0
  271. package/dist/test/unit/core/resolve-typed-references.test.js.map +1 -0
  272. package/dist/test/unit/diagnostics/diagnostic-overlays.test.d.ts +2 -0
  273. package/dist/test/unit/diagnostics/diagnostic-overlays.test.d.ts.map +1 -0
  274. package/dist/test/unit/diagnostics/diagnostic-overlays.test.js +156 -0
  275. package/dist/test/unit/diagnostics/diagnostic-overlays.test.js.map +1 -0
  276. package/dist/test/unit/diagnostics/resolution-codes.test.d.ts +6 -0
  277. package/dist/test/unit/diagnostics/resolution-codes.test.d.ts.map +1 -0
  278. package/dist/test/unit/diagnostics/resolution-codes.test.js +96 -0
  279. package/dist/test/unit/diagnostics/resolution-codes.test.js.map +1 -0
  280. package/dist/test/unit/formatter-corpus-roundtrip.test.js +5 -0
  281. package/dist/test/unit/formatter-corpus-roundtrip.test.js.map +1 -1
  282. package/dist/test/unit/formatter-roundtrip.test.js +84 -0
  283. package/dist/test/unit/formatter-roundtrip.test.js.map +1 -1
  284. package/dist/test/unit/frontend/resolve-declarations.test.d.ts +2 -0
  285. package/dist/test/unit/frontend/resolve-declarations.test.d.ts.map +1 -0
  286. package/dist/test/unit/frontend/resolve-declarations.test.js +459 -0
  287. package/dist/test/unit/frontend/resolve-declarations.test.js.map +1 -0
  288. package/dist/test/unit/identifiers/casefold.test.d.ts +2 -0
  289. package/dist/test/unit/identifiers/casefold.test.d.ts.map +1 -0
  290. package/dist/test/unit/identifiers/casefold.test.js +77 -0
  291. package/dist/test/unit/identifiers/casefold.test.js.map +1 -0
  292. package/dist/test/unit/identifiers/scopes.test.d.ts +2 -0
  293. package/dist/test/unit/identifiers/scopes.test.d.ts.map +1 -0
  294. package/dist/test/unit/identifiers/scopes.test.js +109 -0
  295. package/dist/test/unit/identifiers/scopes.test.js.map +1 -0
  296. package/dist/test/unit/lambda-capture-parity.test.js +12 -5
  297. package/dist/test/unit/lambda-capture-parity.test.js.map +1 -1
  298. package/dist/test/unit/lsp/lsp-locale-fixes.test.js +10 -11
  299. package/dist/test/unit/lsp/lsp-locale-fixes.test.js.map +1 -1
  300. package/dist/test/unit/lsp/parse-document.test.js +42 -0
  301. package/dist/test/unit/lsp/parse-document.test.js.map +1 -1
  302. package/dist/test/unit/lsp/resolution-completion.test.d.ts +2 -0
  303. package/dist/test/unit/lsp/resolution-completion.test.d.ts.map +1 -0
  304. package/dist/test/unit/lsp/resolution-completion.test.js +132 -0
  305. package/dist/test/unit/lsp/resolution-completion.test.js.map +1 -0
  306. package/dist/test/unit/lsp/resolution-definition.test.d.ts +2 -0
  307. package/dist/test/unit/lsp/resolution-definition.test.d.ts.map +1 -0
  308. package/dist/test/unit/lsp/resolution-definition.test.js +75 -0
  309. package/dist/test/unit/lsp/resolution-definition.test.js.map +1 -0
  310. package/dist/test/unit/lsp/resolution-diagnostics.test.d.ts +2 -0
  311. package/dist/test/unit/lsp/resolution-diagnostics.test.d.ts.map +1 -0
  312. package/dist/test/unit/lsp/resolution-diagnostics.test.js +88 -0
  313. package/dist/test/unit/lsp/resolution-diagnostics.test.js.map +1 -0
  314. package/dist/test/unit/lsp/resolution-fixture.d.ts +32 -0
  315. package/dist/test/unit/lsp/resolution-fixture.d.ts.map +1 -0
  316. package/dist/test/unit/lsp/resolution-fixture.js +69 -0
  317. package/dist/test/unit/lsp/resolution-fixture.js.map +1 -0
  318. package/dist/test/unit/lsp/resolution-hover.test.d.ts +2 -0
  319. package/dist/test/unit/lsp/resolution-hover.test.d.ts.map +1 -0
  320. package/dist/test/unit/lsp/resolution-hover.test.js +107 -0
  321. package/dist/test/unit/lsp/resolution-hover.test.js.map +1 -0
  322. package/dist/test/unit/lsp/tenant-vocabulary.test.js +21 -47
  323. package/dist/test/unit/lsp/tenant-vocabulary.test.js.map +1 -1
  324. package/dist/test/unit/parser/func-type.test.d.ts +2 -0
  325. package/dist/test/unit/parser/func-type.test.d.ts.map +1 -0
  326. package/dist/test/unit/parser/func-type.test.js +161 -0
  327. package/dist/test/unit/parser/func-type.test.js.map +1 -0
  328. package/dist/test/unit/parser/parser.test.js +33 -0
  329. package/dist/test/unit/parser/parser.test.js.map +1 -1
  330. package/dist/test/unit/public-api-checked-entries.test.d.ts +2 -0
  331. package/dist/test/unit/public-api-checked-entries.test.d.ts.map +1 -0
  332. package/dist/test/unit/public-api-checked-entries.test.js +28 -0
  333. package/dist/test/unit/public-api-checked-entries.test.js.map +1 -0
  334. package/dist/test/unit/typecheck/qualified-enum-member.test.d.ts +2 -0
  335. package/dist/test/unit/typecheck/qualified-enum-member.test.d.ts.map +1 -0
  336. package/dist/test/unit/typecheck/qualified-enum-member.test.js +73 -0
  337. package/dist/test/unit/typecheck/qualified-enum-member.test.js.map +1 -0
  338. package/dist/test/unit/version.test.d.ts +9 -0
  339. package/dist/test/unit/version.test.d.ts.map +1 -0
  340. package/dist/test/unit/version.test.js +34 -0
  341. package/dist/test/unit/version.test.js.map +1 -0
  342. package/package.json +2 -1
  343. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.d.ts +0 -47
  344. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.d.ts.map +0 -1
  345. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js +0 -142
  346. package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,73 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.2.0
4
+
5
+ ### 新增
6
+
7
+ - 函数类型语法 `(T1, T2) -> R` 与括号类型 `(T)`,与 aster-lang-core 文法逐条对齐;参数可带
8
+ `@pii` 注解,`?` 作用于返回类型,可空函数类型写作 `((A) -> B)?`。Core IR 新增
9
+ `{kind: 'FuncType', params, ret}`(不带 effects),与 Java `CoreModel.FuncType` 一致(#247)。
10
+ - `Module.typeAliasDecls`:保留每条 `Type X as T.` 的目标类型与位置,与 `Module.typeAliases`
11
+ 同序同长;没有别名时省略,既有 AST JSON 不变。别名仍不进入 Core IR(#246)。
12
+ - 诊断随语言包本地化:各语言的 message / help 以语言包 overlay 为唯一来源(zh-CN、de-DE 来自
13
+ aster-lang-locales,hi-IN 来自 aster-lang-hi),由 `pnpm run generate:diagnostic-overlays` 从 core
14
+ 导出的 lexicons.json 生成 `src/config/lexicons/diagnostic-overlays.generated.ts`,三种语言都覆盖全部
15
+ 95 个错误码。新增 `localizeDiagnostics(diagnostics, lexicon)`,已接入 `compile` 的
16
+ `resolutionDiagnostics`、`compileAndTypecheck` 的 `typeErrors` 与 LSP 的名称解析诊断
17
+ (aster-lang-locales#107)。
18
+ - LSP:构造字段名位置(`T with |`、`…, |`、`… and |`)补全尚未赋值的字段;按名称解析结果跳转到
19
+ 定义,覆盖大小写折叠写法、词汇本地化写法、点分路径中的字段段与枚举成员(#248)。
20
+ - `pnpm test:golden -- --update` 改写不一致的 golden 基线,缺失的基线直接新建(#248)。
21
+
22
+ ### 修复
23
+
24
+ - 格式化器在默认档与 `normalize` 档下不再丢弃 `Type X as T.`。此前带词汇时引用别名处会报 E800,
25
+ 不带词汇时别名被当成隐式类型参数,函数被静默改成泛型(#246)。
26
+ - 未闭合字符串不再让 LSP pull 诊断变空,改为发布这条词法诊断(#248)。
27
+ - 类型别名的 E807 报在后出现的声明上,不再是 0:0 或先出现的 `Define`;隐式类型参数歧义的 E804
28
+ 报在签名中该名字的第一处类型写法上,不再覆盖整个函数(#248)。
29
+ - 删除内联的 zh 诊断副本(29 条 message / 78 条 help,已与 locales 漂移),de、hi 此前没有译文
30
+ (aster-lang-locales#107)。
31
+
32
+ ### 行为变化
33
+
34
+ - **Core IR**:只在函数体中出现的显式 `of T` 保留为类型参数,`typeParams` 由 `[]` 变为 `["T"]`,
35
+ 与 Java 一致;格式化器按同一规则输出 `of T`(#248)。按裁决 R54,`RESOLVER_VERSION` 不递增,仍为 1。
36
+ - **Core IR(Java 侧,core 1.0.37)**:workflow 的 `retry`、`timeout` 与 step 的 `compensate` 未设置时
37
+ Java 引擎改为省略键,不再输出 `null`,与本包一直以来的输出一致(aster-lang-core#219)。
38
+ - 传入非 en-US lexicon 时,`compile` / `compileAndTypecheck` 与 LSP 名称解析诊断的 message / help
39
+ 输出该语言译文(此前为英文);参数不足以填满译文模板时保留原文。zh 文案改以 aster-lang-locales 为准,
40
+ 部分措辞与 1.1.0 不同。
41
+ - 删除无效的 `scripts/update-all-core-golden.js` 与陈旧的编译产物 `scripts/{cli,emit-core,golden}.js`。
42
+
43
+ ## 1.1.0
44
+
45
+ ### Breaking
46
+
47
+ - The package entries (`@aster-cloud/aster-lang-ts` and `/browser`) no longer
48
+ export `lowerModule` or the unchecked `resolveAndLower`. Use `parseSource`
49
+ followed by `resolveAndLowerChecked(ast)`, which throws `NameResolutionError`
50
+ on any E8xx diagnostic, or the higher-level `compile` /
51
+ `compileAndTypecheck` / `resolvePolicyTypes`.
52
+ - The pre-parse global identifier substitution (`translateIdentifiers`,
53
+ `IdentifierIndex.toCanonical`) is removed. Domain vocabulary is resolved by
54
+ position after parsing (ADR 0051); there is no compatibility path.
55
+ - `Number`, `Boolean` and `String` are not type names; use `Float`, `Bool`,
56
+ `Text`.
57
+
58
+ ### Added
59
+
60
+ - **Position-aware vocabulary resolution (ADR 0051)** — R1 resolves
61
+ declarations and type positions on the AST, R2 resolves typed references
62
+ (dotted field paths, bare enum members under an expected enum type,
63
+ pattern constructors, equality-comparison operands) on Core using only
64
+ explicitly declared types. `CompileOptions.vocabulary`, `buildVocabularyScopes`,
65
+ `canonicalScopesJson`, `foldKey` (Unicode 15.1 C+S fold, NFC-closed) and
66
+ `resolvePolicyTypes` are exported. New diagnostics E800–E807 / W800–W801.
67
+ - Qualified enum members `E.M` type-check and evaluate.
68
+ - Toolchain constants `RESOLVER_VERSION`, `CASEFOLD_VERSION`, `CORE_IR_ABI`.
69
+ - LSP hover and field completion by resolved role.
70
+
3
71
  ## 1.0.3
4
72
 
5
73
  ### Added
package/README.md CHANGED
@@ -24,9 +24,9 @@ pnpm install @aster-cloud/aster-lang-ts
24
24
  ## Quick Start
25
25
 
26
26
  ```typescript
27
- import { canonicalize, lex, parse, lowerModule } from '@aster-cloud/aster-lang-ts';
27
+ import { parseSource, resolveAndLowerChecked } from '@aster-cloud/aster-lang-ts';
28
28
 
29
- // Compile pipeline
29
+ // Compile pipeline: canonicalize → lex → parse → name resolution (R1) → lower → name resolution (R2)
30
30
  const source = `
31
31
  Module greeting.
32
32
 
@@ -34,12 +34,16 @@ Rule greet given name, produce:
34
34
  Return Text.concat("Hello, ", name).
35
35
  `;
36
36
 
37
- const canonical = canonicalize(source);
38
- const tokens = lex(canonical);
39
- const ast = parse(tokens);
40
- const core = lowerModule(ast);
37
+ const { ast } = parseSource(source);
38
+ // Throws NameResolutionError (E8xx diagnostics) instead of returning Core with unresolved names
39
+ const { core, diagnostics } = resolveAndLowerChecked(ast);
41
40
  ```
42
41
 
42
+ Raw lowering (`lowerModule`) and the unchecked `resolveAndLower` are internal and not exported:
43
+ every public path to Core IR runs name resolution and refuses to emit IR on resolution errors.
44
+ Use `compile` / `compileAndTypecheck` from `@aster-cloud/aster-lang-ts/browser`,
45
+ `resolveAndLowerChecked`, or `resolvePolicyTypes`.
46
+
43
47
  ## Multi-Language Support
44
48
 
45
49
  Aster supports writing policies in multiple natural languages:
@@ -130,7 +134,9 @@ src/
130
134
  | `canonicalize(source, lexicon?)` | Normalize CNL source |
131
135
  | `lex(source, lexicon?)` | Tokenize source |
132
136
  | `parse(tokens)` | Parse to AST |
133
- | `lowerModule(ast)` | Convert AST to Core IR |
137
+ | `parseSource(source, lexicon?, scopes?)` | Canonicalize, tokenize and parse |
138
+ | `resolveAndLowerChecked(ast, scopes?)` | Name resolution + lowering to Core IR; throws `NameResolutionError` on E8xx |
139
+ | `resolvePolicyTypes(source, options)` | Resolved Data/Enum declarations with original spellings |
134
140
  | `typecheck(module)` | Type check module |
135
141
 
136
142
  ### Lexicon Exports
@@ -2,7 +2,8 @@
2
2
  import fs from 'node:fs';
3
3
  import * as cp from 'node:child_process';
4
4
  import * as path from 'node:path';
5
- import { canonicalize, lex, lowerModule } from '../src/index.js';
5
+ import { canonicalize, lex, parseSource } from '../src/index.js';
6
+ import { resolveAndLowerChecked } from '../src/compile-pipeline.js';
6
7
  import { parse as parseAst } from '../src/parser.js';
7
8
  import { emitJava } from '../src/jvm/emitter.js';
8
9
  import cac from 'cac';
@@ -27,14 +28,18 @@ async function cmdParse(file) {
27
28
  const { ast } = parseAst(toks);
28
29
  console.log(JSON.stringify(ast, null, 2));
29
30
  }
31
+ /** 源码 → Core:经名称解析 R1/R2(ADR 0051),任一 E8xx 抛出 NameResolutionError,不产出 IR。 */
32
+ function coreOf(input) {
33
+ return resolveAndLowerChecked(parseSource(input).ast).core;
34
+ }
30
35
  async function cmdCore(file) {
31
36
  const input = readFileStrict(file);
32
- const core = lowerModule(parseAst(lex(canonicalize(input))).ast);
37
+ const core = coreOf(input);
33
38
  console.log(JSON.stringify(core, null, 2));
34
39
  }
35
40
  async function cmdJvm(file, outDir = 'build/jvm-src', force = false) {
36
41
  const input = readFileStrict(file);
37
- const core = lowerModule(parseAst(lex(canonicalize(input))).ast);
42
+ const core = coreOf(input);
38
43
  const target = prepareOutDir(outDir, force);
39
44
  await emitJava(core, target);
40
45
  console.log('Wrote Java sources to', target);
@@ -59,7 +64,7 @@ async function ensureAsmEmitterBuilt() {
59
64
  async function cmdClass(file, outDir = 'build/jvm-classes') {
60
65
  await ensureAsmEmitterBuilt();
61
66
  const input = readFileStrict(file);
62
- const core = lowerModule(parseAst(lex(canonicalize(input))).ast);
67
+ const core = coreOf(input);
63
68
  const payload = JSON.stringify(core);
64
69
  fs.mkdirSync('build', { recursive: true });
65
70
  fs.writeFileSync('build/last-core.json', payload);
@@ -94,7 +99,7 @@ async function cmdTruffle(input, passthrough) {
94
99
  let corePath = input;
95
100
  if (input.endsWith('.aster')) {
96
101
  const src = readFileStrict(input);
97
- const core = lowerModule(parseAst(lex(canonicalize(src))).ast);
102
+ const core = coreOf(src);
98
103
  fs.mkdirSync('build', { recursive: true });
99
104
  corePath = path.join('build', `${path.basename(input, '.aster')}_core.json`);
100
105
  fs.writeFileSync(corePath, JSON.stringify(core));
@@ -1 +1 @@
1
- {"version":3,"file":"aster.js","sourceRoot":"","sources":["../../scripts/aster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aster.js","sourceRoot":"","sources":["../../scripts/aster.ts"],"names":[],"mappings":"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"}
@@ -43,9 +43,14 @@ if (diagnostics && diagnostics.length > 0) {
43
43
  process.exit(2);
44
44
  }
45
45
  }
46
- const { lowerModule } = await import('../src/lower_to_core.js');
47
- const core = lowerModule(ast);
48
- const pruned = prune(core);
46
+ // 名称解析 R1 → lower → R2(ADR 0051);任一 E8xx 不输出 IR
47
+ const { resolveAndLower } = await import('../src/compile-pipeline.js');
48
+ const resolved = resolveAndLower(ast);
49
+ for (const d of resolved.diagnostics)
50
+ console.error(`${d.severity}: ${d.code} ${d.message}`);
51
+ if (resolved.diagnostics.some(d => d.severity === 'error'))
52
+ process.exit(2);
53
+ const pruned = prune(resolved.core);
49
54
  console.log(JSON.stringify(pruned, null, 2));
50
55
  function prune(obj) {
51
56
  if (Array.isArray(obj))
@@ -1 +1 @@
1
- {"version":3,"file":"core-ir-json.js","sourceRoot":"","sources":["../../scripts/core-ir-json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-ir-json.js","sourceRoot":"","sources":["../../scripts/core-ir-json.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import path from 'node:path';
5
5
  import { canonicalize } from '../src/frontend/canonicalizer.js';
6
6
  import { lex } from '../src/frontend/lexer.js';
7
7
  import { parse } from '../src/parser.js';
8
- import { lowerModule } from '../src/lower_to_core.js';
8
+ import { resolveAndLowerChecked } from '../src/compile-pipeline.js';
9
9
  import { emitJava } from '../src/jvm/emitter.js';
10
10
  import { prepareOutDir } from '../src/cli/utils/out-dir.js';
11
11
  import { gradleEnv } from '../src/cli/utils/gradle-env.js';
@@ -314,7 +314,8 @@ async function main() {
314
314
  const workflowModules = [];
315
315
  for (const input of inputs) {
316
316
  const src = fs.readFileSync(input, 'utf8');
317
- const core = lowerModule(parse(lex(canonicalize(src))).ast);
317
+ // 名称解析 R1 → lower → R2(ADR 0051);E8xx 时抛错,不生成 class
318
+ const core = resolveAndLowerChecked(parse(lex(canonicalize(src))).ast).core;
318
319
  const payload = JSON.stringify(core);
319
320
  fs.writeFileSync('build/last-core.json', payload);
320
321
  if (shouldUseFinanceDto(core.name)) {
@@ -1 +1 @@
1
- {"version":3,"file":"emit-classfiles.js","sourceRoot":"","sources":["../../scripts/emit-classfiles.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACpC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAG3D,MAAM,mBAAmB,GAAG,gCAAgC,CAAC;AAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAClC,6BAA6B,EAC7B,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAClC,CAAC;AACF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,oBAAoB;IACpB,0BAA0B;IAC1B,qBAAqB;IACrB,oBAAoB;IACpB,gCAAgC;IAChC,kCAAkC;IAClC,sBAAsB;IACtB,sBAAsB;IACtB,8BAA8B;IAC9B,yBAAyB;CAC1B,CAAC,CAAC;AACH,IAAI,qBAAqB,GAAG,KAAK,CAAC;AASlC,SAAS,mBAAmB,CAAC,UAAqC;IAChE,OAAO,CAAC,CAAC,UAAU,IAAI,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,qBAAqB;QAAE,OAAO;IAClC,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,qBAAqB,GAAG,IAAI,CAAC;AAC/B,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAmB;IAC9C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO;IAC5C,mBAAmB,EAAE,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB,EAAE,IAAiB;IAC7D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACpH,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,MAAM,GAAG,GAAG,8BAA8B,IAAI,CAAC,IAAI,OAAO,UAAU,SAAS,CAAC;IAC9E,OAAO,WAAW,mBAAmB,QAAQ,aAAa,GAAG,GAAG,mBAAmB,IAAI,CAAC,IAAI,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACrI,CAAC;AAED,SAAS,cAAc,CAAC,KAAmB,EAAE,MAAe,EAAE,OAAoB;IAChF,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC9C,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC;IACxD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,CAAc;IACrC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,UAAU;YACb,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,OAAO,EAAE,IAAI,EAAE,QAAQ,KAAK,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC9F,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QACtH,CAAC;QACD,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAClG,CAAC;QACD;YACE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;IACrF,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QAC/E,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QACnF,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QAChF,KAAK,QAAQ;YACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QAClF,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QAChG;YACE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;IACjF,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAClD,MAAM,oBAAoB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC;AAC3E,6GAA6G;AAC7G,MAAM,mBAAmB,GAAG;IAC1B,2CAA2C,EAAE,2DAA2D;IACxG,4DAA4D,EAAQ,sBAAsB;IAC1F,mEAAmE,EAAE,mCAAmC;CACzG,CAAC;AACF,MAAM,sBAAsB,GAAG;IAC7B,IAAI,CAAC,OAAO,CAAC,0EAA0E,CAAC;IACxF,IAAI,CAAC,OAAO,CAAC,wEAAwE,CAAC;IACtF,IAAI,CAAC,OAAO,CAAC,0EAA0E,CAAC;IACxF,IAAI,CAAC,OAAO,CAAC,2EAA2E,CAAC;IACzF,IAAI,CAAC,OAAO,CAAC,oEAAoE,CAAC;IAClF,IAAI,CAAC,OAAO,CAAC,iFAAiF,CAAC;CAChG,CAAC;AAEF,SAAS,SAAS,CAChB,UAAmB,EACnB,MAAc,EACd,UAAkB,EAClB,KAAa;IAEb,MAAM,MAAM,GACV,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,IAAI,MAAM;QAAE,OAAO;IACnB,MAAM,QAAQ,GAAG,UAAU;QACzB,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,CAAC;QAClD,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC;QACH,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAC/C,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,SAAS,EAAE;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,mBAAmB,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,mBAAmB,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAmB;IAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CACpB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAmB;IAC3C,OAAO,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAsB;IAClD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,IAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpD,KAAK,IAAI;YACP,OAAO,CACL,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC;gBAChC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAC5D,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACzB,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5D,CAAC;QACJ;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW,EAAE,aAAuB,EAAE;IAChE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,4CAA4C;YAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,MAAc;IAClD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAC5G,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IACD,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,SAAS,GAAG;QAChB,WAAW;QACX,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,MAAM;QACN,GAAG,iBAAiB;QACpB,GAAG,sBAAsB;QACzB,GAAG,gBAAgB;KACpB,CAAC;IACF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CACtB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CACnE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAiB;IAChD,sCAAsC;IACtC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IACtE,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnD,4BAA4B;IAC5B,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;CAgBrB,CAAC;IACA,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE,WAAW,CAAC,CAAC;IAE1E,8BAA8B;IAC9B,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;CAgBvB,CAAC;IACA,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,aAAa,CAAC,CAAC;IAE9E,sBAAsB;IACtB,MAAM,QAAQ,GAAG;;;;;;;;;;;;;CAalB,CAAC;IACA,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAA0D,EAC1D,MAAc;IAEd,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,OAAO,CAAC,GAAG,CACT,yBAAyB,OAAO,CAAC,MAAM,2CAA2C,CACnF,CAAC;IACF,2DAA2D;IAC3D,uDAAuD;IACvD,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAElC,mCAAmC;IACnC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAErC,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC;QAC9D,MAAM,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC9C,sCAAsC;IACtC,SAAS,CAAC,UAAU,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,aAAa,CAAC,CAAC;IAEjG,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gEAAgE;IAChE,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnD,oDAAoD;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC7F,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC7C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEtC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,+CAA+C;IAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,eAAe,GAA6C,EAAE,CAAC;IAErE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,EAAE,CAAC,aAAa,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAElD,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACtC,SAAS;QACX,CAAC;QAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CACnB,MAAM,EACN,CAAC,IAAI,EAAE,eAAe,EAAE,wBAAwB,EAAE,UAAU,MAAM,EAAE,CAAC,EACrE;gBACE,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;gBACrC,GAAG,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE;aACnD,CACF,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACzB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CACtB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CACrE,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,mBAAmB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"emit-classfiles.js","sourceRoot":"","sources":["../../scripts/emit-classfiles.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import fs from 'node:fs';
3
- import { canonicalize, lex, parse, lowerModule } from '../src/index.js';
3
+ import { parseSource, resolveAndLower } from '../src/compile-pipeline.js';
4
4
  import { DiagnosticError, formatDiagnostic } from '../src/diagnostics/diagnostics.js';
5
5
  function main() {
6
6
  const file = process.argv[2];
@@ -10,10 +10,13 @@ function main() {
10
10
  }
11
11
  const input = fs.readFileSync(file, 'utf8');
12
12
  try {
13
- const can = canonicalize(input);
14
- const toks = lex(can);
15
- const { ast } = parse(toks);
16
- const core = lowerModule(ast);
13
+ const { ast } = parseSource(input);
14
+ // 名称解析 R1 → lower → R2(ADR 0051);任一 E8xx 不输出 IR
15
+ const { core, diagnostics } = resolveAndLower(ast);
16
+ for (const d of diagnostics)
17
+ console.error(`${d.severity}: ${d.code} ${d.message}`);
18
+ if (diagnostics.some((d) => d.severity === 'error'))
19
+ process.exit(1);
17
20
  console.log(JSON.stringify(prune(core), null, 2));
18
21
  }
19
22
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"emit-core.js","sourceRoot":"","sources":["../../scripts/emit-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit-core.js","sourceRoot":"","sources":["../../scripts/emit-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generate-casefold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-casefold.d.ts","sourceRoot":"","sources":["../../scripts/generate-casefold.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * 由 aster-lang-locales 的 Unicode 15.1 简单折叠数据(C+S)生成 TS 常量表。
3
+ *
4
+ * 用法:在仓库根目录执行 `pnpm run build && node dist/scripts/generate-casefold.js`。
5
+ * 仅在升级折叠数据时运行;生成物提交入库,构建与测试不依赖兄弟仓库。
6
+ */
7
+ import { readFileSync, writeFileSync } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ const root = process.cwd();
10
+ const sourcePath = join(root, '..', 'aster-lang-locales', 'casefold', 'casefold-15.1.json');
11
+ const outputPath = join(root, 'src', 'config', 'lexicons', 'identifiers', 'casefold-table.generated.ts');
12
+ const source = JSON.parse(readFileSync(sourcePath, 'utf8'));
13
+ // 源文件的键按字典序排列,这里按码点数值排序保证输出稳定。
14
+ const entries = Object.entries(source.map)
15
+ .map(([from, to]) => [parseInt(from, 16), parseInt(to, 16)])
16
+ .sort((a, b) => a[0] - b[0]);
17
+ const hex = (cp) => '0x' + cp.toString(16).toUpperCase().padStart(4, '0');
18
+ const lines = entries.map(([from, to]) => ` [${hex(from)}, ${hex(to)}],`);
19
+ const content = `/**
20
+ * 本文件由 scripts/generate-casefold.ts 生成,请勿手工修改。
21
+ * 数据来源:aster-lang-locales/casefold/casefold-15.1.json(Unicode ${source.version} CaseFolding.txt 的 C+S 状态)。
22
+ */
23
+
24
+ /** 折叠表对应的 Unicode 版本,须与 toolchainId 的 casefold 分量一致。 */
25
+ export const CASEFOLD_VERSION = '${source.version}';
26
+
27
+ /** 码点 → 简单折叠后的码点;未出现的码点折叠为自身。 */
28
+ export const CASEFOLD_TABLE: ReadonlyMap<number, number> = new Map<number, number>([
29
+ ${lines.join('\n')}
30
+ ]);
31
+ `;
32
+ writeFileSync(outputPath, content);
33
+ console.log(`已生成 ${entries.length} 条折叠映射 -> ${outputPath}`);
34
+ //# sourceMappingURL=generate-casefold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-casefold.js","sourceRoot":"","sources":["../../scripts/generate-casefold.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC;AAC5F,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,6BAA6B,CAAC,CAAC;AAEzG,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAmB,CAAC;AAE9E,+BAA+B;AAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;KACvC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAU,CAAC;KACpE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/B,MAAM,GAAG,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1F,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAE3E,MAAM,OAAO,GAAG;;iEAEiD,MAAM,CAAC,OAAO;;;;mCAI5C,MAAM,CAAC,OAAO;;;;EAI/C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;CAEjB,CAAC;AAEF,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACnC,OAAO,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,aAAa,UAAU,EAAE,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * 诊断译文表生成脚本。
3
+ *
4
+ * 读取 aster-lang-core 导出的 lexicons.json,取出各语言包的 diagnosticMessages /
5
+ * diagnosticHelp overlay,生成 src/config/lexicons/diagnostic-overlays.generated.ts。
6
+ * 译文的唯一来源是语言包(aster-lang-locales 的 zh/de、aster-lang-hi 的 hi)的
7
+ * overlays/diagnostic-*.json;本仓不手写任何语言的诊断译文。
8
+ *
9
+ * 用法(语言包发版后、core 导出最新 lexicons.json 后运行):
10
+ * npx tsx scripts/generate-diagnostic-overlays.ts [path-to-lexicons.json]
11
+ *
12
+ * 默认读取:../aster-lang-core/build/generated/lexicons/lexicons.json
13
+ * 生成物提交入库;verify-lexicon-sync 会比对生成物与 lexicons.json,发现漂移即失败。
14
+ */
15
+ /** 生成物相对仓库根的路径。 */
16
+ export declare const DIAGNOSTIC_OVERLAYS_OUTPUT = "src/config/lexicons/diagnostic-overlays.generated.ts";
17
+ /** 只读取 lexicons.json 中与诊断译文相关的字段。 */
18
+ interface LexiconsJsonView {
19
+ readonly lexicons: Readonly<Record<string, {
20
+ readonly overlays?: Readonly<Record<string, unknown>>;
21
+ }>>;
22
+ }
23
+ /**
24
+ * 由 lexicons.json 渲染生成物内容。按语言 id 排序,只收带诊断 overlay 的语言,
25
+ * 错误码保持 overlay 文件中的顺序;同一输入的输出逐字节相同。
26
+ */
27
+ export declare function renderDiagnosticOverlays(json: LexiconsJsonView): string;
28
+ export {};
29
+ //# sourceMappingURL=generate-diagnostic-overlays.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-diagnostic-overlays.d.ts","sourceRoot":"","sources":["../../scripts/generate-diagnostic-overlays.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,mBAAmB;AACnB,eAAO,MAAM,0BAA0B,yDAAyD,CAAC;AAEjG,qCAAqC;AACrC,UAAU,gBAAgB;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC,CAAC,CAAC;CACxG;AAuBD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAyBvE"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * 诊断译文表生成脚本。
3
+ *
4
+ * 读取 aster-lang-core 导出的 lexicons.json,取出各语言包的 diagnosticMessages /
5
+ * diagnosticHelp overlay,生成 src/config/lexicons/diagnostic-overlays.generated.ts。
6
+ * 译文的唯一来源是语言包(aster-lang-locales 的 zh/de、aster-lang-hi 的 hi)的
7
+ * overlays/diagnostic-*.json;本仓不手写任何语言的诊断译文。
8
+ *
9
+ * 用法(语言包发版后、core 导出最新 lexicons.json 后运行):
10
+ * npx tsx scripts/generate-diagnostic-overlays.ts [path-to-lexicons.json]
11
+ *
12
+ * 默认读取:../aster-lang-core/build/generated/lexicons/lexicons.json
13
+ * 生成物提交入库;verify-lexicon-sync 会比对生成物与 lexicons.json,发现漂移即失败。
14
+ */
15
+ import { readFileSync, writeFileSync } from 'node:fs';
16
+ import { dirname, resolve } from 'node:path';
17
+ import { fileURLToPath } from 'node:url';
18
+ const __dirname = dirname(fileURLToPath(import.meta.url));
19
+ /** 生成物相对仓库根的路径。 */
20
+ export const DIAGNOSTIC_OVERLAYS_OUTPUT = 'src/config/lexicons/diagnostic-overlays.generated.ts';
21
+ /** overlay 键 → 其中承载译文的字段名。 */
22
+ const DIAGNOSTIC_KEYS = { diagnosticMessages: 'messages', diagnosticHelp: 'help' };
23
+ /** 校验并规范化一份诊断 overlay:译文必须是 错误码 → 非空字符串 的对象。 */
24
+ function readOverlay(id, key, raw) {
25
+ const field = DIAGNOSTIC_KEYS[key];
26
+ const overlay = raw;
27
+ const texts = overlay?.[field];
28
+ if (texts === null || typeof texts !== 'object' || Array.isArray(texts)) {
29
+ throw new Error(`${id} 的 ${key}.${field} 缺失或不是对象`);
30
+ }
31
+ for (const [code, text] of Object.entries(texts)) {
32
+ if (typeof text !== 'string' || text.trim() === '') {
33
+ throw new Error(`${id} 的 ${key}.${field}.${code} 不是非空字符串`);
34
+ }
35
+ }
36
+ return { version: typeof overlay.version === 'number' ? overlay.version : 1, [field]: texts };
37
+ }
38
+ /**
39
+ * 由 lexicons.json 渲染生成物内容。按语言 id 排序,只收带诊断 overlay 的语言,
40
+ * 错误码保持 overlay 文件中的顺序;同一输入的输出逐字节相同。
41
+ */
42
+ export function renderDiagnosticOverlays(json) {
43
+ const entries = [];
44
+ for (const id of Object.keys(json.lexicons).sort()) {
45
+ const overlays = json.lexicons[id]?.overlays ?? {};
46
+ const picked = {};
47
+ for (const key of Object.keys(DIAGNOSTIC_KEYS)) {
48
+ if (overlays[key] !== undefined)
49
+ picked[key] = readOverlay(id, key, overlays[key]);
50
+ }
51
+ if (Object.keys(picked).length === 0)
52
+ continue;
53
+ const body = JSON.stringify(picked, null, 2).replace(/\n/g, '\n ');
54
+ entries.push(` '${id}': ${body},`);
55
+ }
56
+ return `/**
57
+ * 本文件由 scripts/generate-diagnostic-overlays.ts 生成,请勿手工修改。
58
+ * 数据来源:aster-lang-core exportLexicons 导出的 lexicons.json 中各语言包的
59
+ * diagnosticMessages / diagnosticHelp overlay(译文唯一来源为 aster-lang-locales 与 aster-lang-hi)。
60
+ */
61
+
62
+ import type { OverlayData } from './overlay-loader.js';
63
+
64
+ /** 语言 id → 诊断译文 overlay(与语言包 overlays/diagnostic-*.json 原样一致)。 */
65
+ export const DIAGNOSTIC_OVERLAYS: Readonly<Record<string, Pick<OverlayData, 'diagnosticMessages' | 'diagnosticHelp'>>> = {
66
+ ${entries.join('\n')}
67
+ };
68
+ `;
69
+ }
70
+ function main() {
71
+ const args = process.argv.slice(2).filter((a) => a !== '--');
72
+ const jsonPath = args[0] ?? resolve(__dirname, '../../aster-lang-core/build/generated/lexicons/lexicons.json');
73
+ let json;
74
+ try {
75
+ json = JSON.parse(readFileSync(jsonPath, 'utf-8'));
76
+ }
77
+ catch {
78
+ console.error(`无法读取 lexicons.json: ${jsonPath}`);
79
+ console.error('请先运行: cd ../aster-lang-core && ./gradlew exportLexicons');
80
+ process.exit(1);
81
+ }
82
+ const output = resolve(__dirname, '..', DIAGNOSTIC_OVERLAYS_OUTPUT);
83
+ writeFileSync(output, renderDiagnosticOverlays(json), 'utf-8');
84
+ console.log(`已生成 ${DIAGNOSTIC_OVERLAYS_OUTPUT}`);
85
+ }
86
+ // 仅在直接运行时写文件;被测试或校验脚本导入时只提供渲染函数。
87
+ if (process.argv[1] && resolve(process.argv[1]) === fileURLToPath(import.meta.url)) {
88
+ main();
89
+ }
90
+ //# sourceMappingURL=generate-diagnostic-overlays.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-diagnostic-overlays.js","sourceRoot":"","sources":["../../scripts/generate-diagnostic-overlays.ts"],"names":[],"mappings":"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"}