@aster-cloud/aster-lang-ts 1.0.0 → 1.0.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 CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.1
4
+
5
+ ### Added
6
+
7
+ - **Hindi (hi-IN) lexicon** — fourth locale (ADR 0017). 78 Devanagari
8
+ keywords, danda「।」statement-end, ENGLISH whitespace mode. Generated
9
+ from aster-lang-core's lexicon export, exported as `HI_IN` and
10
+ registered (opt-in) via `initializeAllBundledLexicons`. Devanagari
11
+ abugida marks are now accepted by the lexer (matches the Java engine);
12
+ TS↔Java parse-parity verified.
13
+
3
14
  ## Unreleased
4
15
 
5
16
  ### Deprecations (will be removed in 0.3.0 / next major)
@@ -16,7 +16,7 @@ export const EN_US = {
16
16
  [SemanticTokenKind.FUNC_TO]: 'Rule',
17
17
  [SemanticTokenKind.FUNC_GIVEN]: 'given',
18
18
  [SemanticTokenKind.FUNC_PRODUCE]: 'produce',
19
- [SemanticTokenKind.FUNC_PERFORMS]: 'it performs',
19
+ [SemanticTokenKind.FUNC_PERFORMS]: 'It performs',
20
20
  [SemanticTokenKind.IF]: 'If',
21
21
  [SemanticTokenKind.OTHERWISE]: 'Otherwise',
22
22
  [SemanticTokenKind.MATCH]: 'Match',
@@ -0,0 +1,3 @@
1
+ import type { Lexicon } from './types.js';
2
+ export declare const HI_IN: Lexicon;
3
+ //# sourceMappingURL=hi-IN.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hi-IN.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/hi-IN.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,KAAK,EAAE,OAmHnB,CAAC"}
@@ -0,0 +1,115 @@
1
+ // @generated — 由 scripts/generate-lexicons.ts 自动生成,请勿手动修改
2
+ import { SemanticTokenKind } from '../token-kind.js';
3
+ export const HI_IN = {
4
+ id: 'hi-IN',
5
+ name: 'हिन्दी',
6
+ direction: 'ltr',
7
+ keywords: {
8
+ [SemanticTokenKind.MODULE_DECL]: 'मॉड्यूल',
9
+ [SemanticTokenKind.IMPORT]: 'उपयोग',
10
+ [SemanticTokenKind.IMPORT_ALIAS]: 'रूप में',
11
+ [SemanticTokenKind.IMPORT_VERSION]: 'संस्करण',
12
+ [SemanticTokenKind.TYPE_DEF]: 'परिभाषित',
13
+ [SemanticTokenKind.TYPE_WITH]: 'सहित',
14
+ [SemanticTokenKind.TYPE_HAS]: 'रखता है',
15
+ [SemanticTokenKind.TYPE_ONE_OF]: 'इनमें से एक',
16
+ [SemanticTokenKind.FUNC_TO]: 'नियम',
17
+ [SemanticTokenKind.FUNC_GIVEN]: 'दिया गया',
18
+ [SemanticTokenKind.FUNC_PRODUCE]: 'उत्पन्न',
19
+ [SemanticTokenKind.FUNC_PERFORMS]: 'यह करता है',
20
+ [SemanticTokenKind.IF]: 'यदि',
21
+ [SemanticTokenKind.OTHERWISE]: 'अन्यथा',
22
+ [SemanticTokenKind.MATCH]: 'मिलान',
23
+ [SemanticTokenKind.WHEN]: 'जब',
24
+ [SemanticTokenKind.RETURN]: 'लौटाएं',
25
+ [SemanticTokenKind.RESULT_IS]: 'परिणाम है',
26
+ [SemanticTokenKind.FOR_EACH]: 'प्रत्येक',
27
+ [SemanticTokenKind.IN]: 'में',
28
+ [SemanticTokenKind.LET]: 'मानें',
29
+ [SemanticTokenKind.BE]: 'हो',
30
+ [SemanticTokenKind.SET]: 'निर्धारित',
31
+ [SemanticTokenKind.TO_WORD]: 'को',
32
+ [SemanticTokenKind.OR]: 'या',
33
+ [SemanticTokenKind.AND]: 'और',
34
+ [SemanticTokenKind.NOT]: 'नहीं',
35
+ [SemanticTokenKind.PLUS]: 'जोड़',
36
+ [SemanticTokenKind.MINUS_WORD]: 'घटा',
37
+ [SemanticTokenKind.TIMES]: 'गुणा',
38
+ [SemanticTokenKind.DIVIDED_BY]: 'भाग',
39
+ [SemanticTokenKind.INTEGER_DIVIDED_BY]: 'पूर्णांक भाग',
40
+ [SemanticTokenKind.MODULO]: 'शेषफल',
41
+ [SemanticTokenKind.LESS_THAN]: 'से कम',
42
+ [SemanticTokenKind.GREATER_THAN]: 'से अधिक',
43
+ [SemanticTokenKind.EQUALS_TO]: 'बराबर',
44
+ [SemanticTokenKind.IS]: 'है',
45
+ [SemanticTokenKind.UNDER]: 'नीचे',
46
+ [SemanticTokenKind.OVER]: 'ऊपर',
47
+ [SemanticTokenKind.MORE_THAN]: 'से ज्यादा',
48
+ [SemanticTokenKind.MAYBE]: 'शायद',
49
+ [SemanticTokenKind.OPTION_OF]: 'विकल्प',
50
+ [SemanticTokenKind.RESULT_OF]: 'परिणाम का',
51
+ [SemanticTokenKind.OK_OF]: 'सही',
52
+ [SemanticTokenKind.ERR_OF]: 'त्रुटि',
53
+ [SemanticTokenKind.SOME_OF]: 'कुछ',
54
+ [SemanticTokenKind.NONE]: 'कोई नहीं',
55
+ [SemanticTokenKind.TRUE]: 'सत्य',
56
+ [SemanticTokenKind.FALSE]: 'असत्य',
57
+ [SemanticTokenKind.NULL]: 'शून्य',
58
+ [SemanticTokenKind.TEXT]: 'पाठ',
59
+ [SemanticTokenKind.INT_TYPE]: 'पूर्णांक',
60
+ [SemanticTokenKind.FLOAT_TYPE]: 'दशमलव',
61
+ [SemanticTokenKind.BOOL_TYPE]: 'बूलियन',
62
+ [SemanticTokenKind.IO]: 'आईओ',
63
+ [SemanticTokenKind.CPU]: 'सीपीयू',
64
+ [SemanticTokenKind.WORKFLOW]: 'कार्यप्रवाह',
65
+ [SemanticTokenKind.STEP]: 'चरण',
66
+ [SemanticTokenKind.DEPENDS]: 'निर्भर',
67
+ [SemanticTokenKind.ON]: 'पर',
68
+ [SemanticTokenKind.COMPENSATE]: 'क्षतिपूर्ति',
69
+ [SemanticTokenKind.RETRY]: 'पुनः प्रयास',
70
+ [SemanticTokenKind.TIMEOUT]: 'समय समाप्ति',
71
+ [SemanticTokenKind.MAX_ATTEMPTS]: 'अधिकतम प्रयास',
72
+ [SemanticTokenKind.BACKOFF]: 'प्रतीक्षा',
73
+ [SemanticTokenKind.WITHIN]: 'भीतर',
74
+ [SemanticTokenKind.SCOPE]: 'क्षेत्र',
75
+ [SemanticTokenKind.START]: 'आरंभ',
76
+ [SemanticTokenKind.ASYNC]: 'अतुल्यकालिक',
77
+ [SemanticTokenKind.AWAIT]: 'प्रतीक्षा करें',
78
+ [SemanticTokenKind.WAIT_FOR]: 'इंतजार',
79
+ [SemanticTokenKind.REQUIRED]: 'आवश्यक',
80
+ [SemanticTokenKind.BETWEEN]: 'के बीच',
81
+ [SemanticTokenKind.AT_LEAST]: 'कम से कम',
82
+ [SemanticTokenKind.AT_MOST]: 'अधिक से अधिक',
83
+ [SemanticTokenKind.MATCHING]: 'मिलते',
84
+ [SemanticTokenKind.PATTERN]: 'पैटर्न',
85
+ },
86
+ punctuation: {
87
+ statementEnd: '।',
88
+ listSeparator: ',',
89
+ enumSeparator: ',',
90
+ blockStart: ':',
91
+ stringQuotes: {
92
+ open: '"',
93
+ close: '"',
94
+ },
95
+ },
96
+ canonicalization: {
97
+ fullWidthToHalf: false,
98
+ whitespaceMode: 'english',
99
+ removeArticles: false,
100
+ allowedDuplicates: [
101
+ [SemanticTokenKind.FUNC_TO, SemanticTokenKind.TO_WORD],
102
+ [SemanticTokenKind.UNDER, SemanticTokenKind.LESS_THAN],
103
+ [SemanticTokenKind.OVER, SemanticTokenKind.GREATER_THAN, SemanticTokenKind.MORE_THAN],
104
+ ],
105
+ },
106
+ messages: {
107
+ unexpectedToken: 'अप्रत्याशित टोकन: {token}',
108
+ expectedKeyword: 'अपेक्षित कीवर्ड: {keyword}',
109
+ undefinedVariable: 'अपरिभाषित चर: {name}',
110
+ typeMismatch: 'प्रकार बेमेल: अपेक्षित {expected}, मिला {actual}',
111
+ unterminatedString: 'अधूरा स्ट्रिंग शाब्दिक',
112
+ invalidIndentation: 'अमान्य इंडेंटेशन: 2 स्थानों के गुणकों में होना चाहिए',
113
+ },
114
+ };
115
+ //# sourceMappingURL=hi-IN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hi-IN.js","sourceRoot":"","sources":["../../../../src/config/lexicons/hi-IN.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,MAAM,CAAC,MAAM,KAAK,GAAY;IAC5B,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,KAAK;IAEhB,QAAQ,EAAE;QACR,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,SAAS;QAC1C,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO;QACnC,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,SAAS;QAC3C,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,SAAS;QAC7C,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,UAAU;QACxC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM;QACrC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,SAAS;QACvC,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,aAAa;QAC9C,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM;QACnC,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,UAAU;QAC1C,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,SAAS;QAC3C,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,YAAY;QAC/C,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,KAAK;QAC7B,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,QAAQ;QACvC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,OAAO;QAClC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI;QAC9B,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,QAAQ;QACpC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,WAAW;QAC1C,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,UAAU;QACxC,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,KAAK;QAC7B,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,OAAO;QAChC,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,IAAI;QAC5B,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,WAAW;QACpC,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,IAAI;QACjC,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,IAAI;QAC5B,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI;QAC7B,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM;QAC/B,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM;QAChC,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,KAAK;QACrC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM;QACjC,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,KAAK;QACrC,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,cAAc;QACtD,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO;QACnC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,OAAO;QACtC,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,SAAS;QAC3C,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,OAAO;QACtC,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,IAAI;QAC5B,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM;QACjC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK;QAC/B,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,WAAW;QAC1C,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM;QACjC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,QAAQ;QACvC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,WAAW;QAC1C,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK;QAChC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,QAAQ;QACpC,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,KAAK;QAClC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,UAAU;QACpC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM;QAChC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,OAAO;QAClC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO;QACjC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK;QAC/B,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,UAAU;QACxC,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,OAAO;QACvC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,QAAQ;QACvC,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,KAAK;QAC7B,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,QAAQ;QACjC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,aAAa;QAC3C,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK;QAC/B,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,QAAQ;QACrC,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,IAAI;QAC5B,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,aAAa;QAC7C,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,aAAa;QACxC,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,aAAa;QAC1C,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,eAAe;QACjD,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,WAAW;QACxC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM;QAClC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,SAAS;QACpC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM;QACjC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,aAAa;QACxC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,gBAAgB;QAC3C,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ;QACtC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ;QACtC,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,QAAQ;QACrC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,UAAU;QACxC,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,cAAc;QAC3C,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,OAAO;QACrC,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,QAAQ;KACtC;IAED,WAAW,EAAE;QACX,YAAY,EAAE,GAAG;QACjB,aAAa,EAAE,GAAG;QAClB,aAAa,EAAE,GAAG;QAClB,UAAU,EAAE,GAAG;QACf,YAAY,EAAE;YACZ,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,GAAG;SACX;KACF;IAED,gBAAgB,EAAE;QAChB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,SAAS;QACzB,cAAc,EAAE,KAAK;QACrB,iBAAiB,EAAE;YACjB,CAAC,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;YACtD,CAAC,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,CAAC;YACtD,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,YAAY,EAAE,iBAAiB,CAAC,SAAS,CAAC;SACtF;KACF;IAED,QAAQ,EAAE;QACR,eAAe,EAAE,2BAA2B;QAC5C,eAAe,EAAE,4BAA4B;QAC7C,iBAAiB,EAAE,sBAAsB;QACzC,YAAY,EAAE,kDAAkD;QAChE,kBAAkB,EAAE,wBAAwB;QAC5C,kBAAkB,EAAE,sDAAsD;KAC3E;CACF,CAAC"}
@@ -24,6 +24,7 @@ export { EN_US } from './en-US.js';
24
24
  export { ZH_CN } from './zh-CN.js';
25
25
  /** @deprecated 将迁移到独立 npm 包 @aster-cloud/aster-lang-ts-de。 */
26
26
  export { DE_DE } from './de-DE.js';
27
+ export { HI_IN } from './hi-IN.js';
27
28
  export { createFallbackLexicon, isFallbackLexicon, FallbackLexicon, } from './fallback-lexicon.js';
28
29
  export { SemanticTokenKind, getAllSemanticTokenKinds, isSemanticTokenKind, SEMANTIC_TOKEN_CATEGORIES, } from '../token-kind.js';
29
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,uBAAuB,EACvB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAItD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAKnC,8DAA8D;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,8DAA8D;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAOhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAOnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAUH,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,uBAAuB,EACvB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAItD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAKnC,8DAA8D;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,8DAA8D;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAOhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAQnD"}
@@ -20,6 +20,7 @@ import { LexiconRegistry as Registry } from './registry.js';
20
20
  import { EN_US as EnglishLexicon } from './en-US.js';
21
21
  import { ZH_CN as ChineseLexicon } from './zh-CN.js';
22
22
  import { DE_DE as GermanLexicon } from './de-DE.js';
23
+ import { HI_IN as HindiLexicon } from './hi-IN.js';
23
24
  // 类型工具函数
24
25
  export { buildKeywordIndex, getMultiWordKeywords, findSemanticTokenKind, isLexiconKeyword, } from './types.js';
25
26
  // 注册表
@@ -34,6 +35,9 @@ export { EN_US } from './en-US.js';
34
35
  export { ZH_CN } from './zh-CN.js';
35
36
  /** @deprecated 将迁移到独立 npm 包 @aster-cloud/aster-lang-ts-de。 */
36
37
  export { DE_DE } from './de-DE.js';
38
+ // hi-IN(Hindi/天城文)= 第四语种(ADR 0017 Phase 2 的 2a)。
39
+ // 与 zh/de 一样不默认注册,消费者按需 `LexiconRegistry.register(HI_IN)`。
40
+ export { HI_IN } from './hi-IN.js';
37
41
  // FallbackLexicon 工厂 + 类型守卫(公开,便于消费者直接用 + 测试)
38
42
  export { createFallbackLexicon, isFallbackLexicon, FallbackLexicon, } from './fallback-lexicon.js';
39
43
  // SemanticTokenKind 重导出(便于使用)
@@ -78,6 +82,8 @@ export function initializeAllBundledLexicons() {
78
82
  Registry.register(ChineseLexicon);
79
83
  if (!Registry.has('de-DE'))
80
84
  Registry.register(GermanLexicon);
85
+ if (!Registry.has('hi-IN'))
86
+ Registry.register(HindiLexicon);
81
87
  // 同 initializeDefaultLexicons:仅首次注册时强制回置 default
82
88
  if (enWasNew)
83
89
  Registry.setDefault('en-US');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/config/lexicons/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,gBAAgB;AAChB,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,KAAK,IAAI,cAAc,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,KAAK,IAAI,cAAc,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AAapD,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,MAAM;AACN,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,QAAQ;AACR,6BAA6B;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,sCAAsC;AACtC,yDAAyD;AACzD,kCAAkC;AAClC,8DAA8D;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,8DAA8D;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,8CAA8C;AAC9C,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,8BAA8B;AAC9B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB;IACvC,qDAAqD;IACrD,2DAA2D;IAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAClC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B;IAC1C,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,QAAQ;QAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC9D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC7D,iDAAiD;IACjD,IAAI,QAAQ;QAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/config/lexicons/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,gBAAgB;AAChB,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,KAAK,IAAI,cAAc,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,KAAK,IAAI,cAAc,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AAanD,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,MAAM;AACN,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,QAAQ;AACR,6BAA6B;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,sCAAsC;AACtC,yDAAyD;AACzD,kCAAkC;AAClC,8DAA8D;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,8DAA8D;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,iDAAiD;AACjD,2DAA2D;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,8CAA8C;AAC9C,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAE/B,8BAA8B;AAC9B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,yBAAyB;IACvC,qDAAqD;IACrD,2DAA2D;IAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAClC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B;IAC1C,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,QAAQ;QAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC9D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC5D,iDAAiD;IACjD,IAAI,QAAQ;QAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/zh-CN.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,KAAK,EAAE,OA2InB,CAAC"}
1
+ {"version":3,"file":"zh-CN.d.ts","sourceRoot":"","sources":["../../../../src/config/lexicons/zh-CN.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,KAAK,EAAE,OAsInB,CAAC"}
@@ -1,14 +1,4 @@
1
- // 简体中文 lexicon (v2)
2
- //
3
- // 设计原则(见 ADR-0008):
4
- // 1. **不使用与中文常用字冲突的 1 字关键字**。例如砍掉 `或`/`且`/`非`/
5
- // `真`/`假`/`空`/`无`/`是`/`在`/`为`/`和` 等高频字,改为 2+ 字形式。
6
- // 理由:`或然率` `真客户` `是否成年` 等业务标识符若与 1 字关键字
7
- // 冲突,会让分词必须靠空格强制,违背 CNL "可读" 的核心承诺。
8
- // 2. **`加`/`减`/`乘` 保留单字**:算术上下文强、客户标识符极少撞这三个
9
- // 字。规则保守为多字(`加上`/`减去`/`乘以`)也可,做了多字升级。
10
- // 3. **与英文 lexicon 在语义级 1:1 对齐**:每个 SemanticTokenKind 都
11
- // 有且仅有一个中文映射;不要为"自然"而引入同义词链。
1
+ // @generated 由 scripts/generate-lexicons.ts 自动生成,请勿手动修改
12
2
  import { SemanticTokenKind } from '../token-kind.js';
13
3
  export const ZH_CN = {
14
4
  id: 'zh-CN',
@@ -62,13 +52,13 @@ export const ZH_CN = {
62
52
  [SemanticTokenKind.ERR_OF]: '失败值',
63
53
  [SemanticTokenKind.SOME_OF]: '有值',
64
54
  [SemanticTokenKind.NONE]: '无值',
55
+ [SemanticTokenKind.TRUE]: '真值',
56
+ [SemanticTokenKind.FALSE]: '假值',
57
+ [SemanticTokenKind.NULL]: '空值',
65
58
  [SemanticTokenKind.TEXT]: '文本',
66
59
  [SemanticTokenKind.INT_TYPE]: '整数',
67
60
  [SemanticTokenKind.FLOAT_TYPE]: '小数',
68
61
  [SemanticTokenKind.BOOL_TYPE]: '布尔',
69
- [SemanticTokenKind.TRUE]: '真值',
70
- [SemanticTokenKind.FALSE]: '假值',
71
- [SemanticTokenKind.NULL]: '空值',
72
62
  [SemanticTokenKind.IO]: '输入输出',
73
63
  [SemanticTokenKind.CPU]: '计算',
74
64
  [SemanticTokenKind.WORKFLOW]: '流程',
@@ -107,13 +97,8 @@ export const ZH_CN = {
107
97
  fullWidthToHalf: true,
108
98
  whitespaceMode: 'chinese',
109
99
  removeArticles: false,
110
- // v2 关键字调整后的允许重复:
111
- // - TYPE_WITH 与 TYPE_HAS 在中文都是「包含」(en-US 一致:with/has 都用一个词不合理但
112
- // en-US 也存在该模糊,先对齐英文 lexicon 的行为)
113
- // - IS 与 EQUALS_TO 在中文都是「等于」(消除了原本 IS=「是」与标识符 `是否成年` 的冲突)
114
- // - UNDER/LESS_THAN、OVER/GREATER_THAN/MORE_THAN 是同义比较词,与 en-US 一致
115
100
  allowedDuplicates: [
116
- [SemanticTokenKind.TYPE_WITH, SemanticTokenKind.TYPE_HAS],
101
+ [SemanticTokenKind.TYPE_HAS, SemanticTokenKind.TYPE_WITH],
117
102
  [SemanticTokenKind.IS, SemanticTokenKind.EQUALS_TO],
118
103
  [SemanticTokenKind.UNDER, SemanticTokenKind.LESS_THAN],
119
104
  [SemanticTokenKind.OVER, SemanticTokenKind.GREATER_THAN, SemanticTokenKind.MORE_THAN],
@@ -1 +1 @@
1
- {"version":3,"file":"zh-CN.js","sourceRoot":"","sources":["../../../../src/config/lexicons/zh-CN.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zh-CN.js","sourceRoot":"","sources":["../../../../src/config/lexicons/zh-CN.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../../src/frontend/lexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAY,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAgG3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,CAsa7D"}
1
+ {"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../../src/frontend/lexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAY,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAsG3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,CAsa7D"}
@@ -47,8 +47,9 @@ function getEffectiveLexicon(lexicon) {
47
47
  function isLetter(ch, lexicon) {
48
48
  if (!ch)
49
49
  return false;
50
- // 英语模式:允许 ASCII 字母和 Latin Extended 字母(包括德语元音变音)
51
- // 德语使用 whitespaceMode: 'english' 但关键词包含 ü, ö, ä, ß 等字符
50
+ // 英语模式:允许 ASCII 字母、Latin Extended(德语元音变音)和天城文 Devanagari
51
+ // 字母(Hindi,ADR 0017 Phase 1)。德语用 whitespaceMode: 'english' 但关键词含
52
+ // ü/ö/ä/ß;Hindi 同样用 'english'(Devanagari 词间有空格),关键词/标识符含天城文。
52
53
  if (!lexicon || lexicon.canonicalization.whitespaceMode === 'english') {
53
54
  // ASCII letters
54
55
  if (/[A-Za-z]/.test(ch))
@@ -60,6 +61,11 @@ function isLetter(ch, lexicon) {
60
61
  if ((code >= 0x00C0 && code <= 0x00FF) || (code >= 0x0100 && code <= 0x017F)) {
61
62
  return true;
62
63
  }
64
+ // Devanagari letters 0x0900-0x097F,排除 danda U+0964 / 双 danda U+0965
65
+ // (它们是标点/句末符,由 punctuation.statementEnd 处理,不是标识符字符)。
66
+ if (code >= 0x0900 && code <= 0x097F && code !== 0x0964 && code !== 0x0965) {
67
+ return true;
68
+ }
63
69
  return false;
64
70
  }
65
71
  // 中文模式:允许 ASCII 字母和中文字符
@@ -1 +1 @@
1
- {"version":3,"file":"lexer.js","sourceRoot":"","sources":["../../../src/frontend/lexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lexer.js","sourceRoot":"","sources":["../../../src/frontend/lexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hi-IN.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hi-IN.test.d.ts","sourceRoot":"","sources":["../../../../../test/unit/config/lexicons/hi-IN.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,81 @@
1
+ // hi-IN(Hindi / 天城文)端到端编译冒烟测试。
2
+ //
3
+ // 验证第四语种(ADR 0017 Phase 2 的 2a)在 TS 引擎里可用:
4
+ // 用注册的 HI_IN 词法表把真实的 Hindi CNL 源码一路编译到 Core IR。
5
+ // 这些样本沿用 Phase 0 POC 已验证过的三段策略(定价 / 信贷 / 算术),
6
+ // 区别在于:此处用的是 @generated 的生产词法表 HI_IN(从 core 导出),
7
+ // 而非 POC 手写的一次性 HI_IN_POC。
8
+ //
9
+ // 比较用 `से अधिक`(greater than) / `से कम`(less than) / `बराबर`(equals to)
10
+ // 这类已实现的关键词,不依赖 `है`(is) 的裸比较语义。
11
+ import { describe, it } from 'node:test';
12
+ import assert from 'node:assert/strict';
13
+ import { compile } from '../../../../src/browser.js';
14
+ import { HI_IN } from '../../../../src/config/lexicons/hi-IN.js';
15
+ import { LexiconRegistry, initializeAllBundledLexicons } from '../../../../src/config/lexicons/index.js';
16
+ describe('hi-IN(Hindi/天城文)第四语种', () => {
17
+ // 与 i18n 套件一样,需显式注册全部内置语言(initializeDefaultLexicons 仅 en-US)
18
+ initializeAllBundledLexicons();
19
+ describe('词法表注册', () => {
20
+ it('hi-IN 应已注册且 id 正确', () => {
21
+ assert.ok(LexiconRegistry.has('hi-IN'), 'hi-IN 应已注册');
22
+ const lex = LexiconRegistry.get('hi-IN');
23
+ assert.ok(lex, 'hi-IN 应可获取');
24
+ assert.equal(lex.id, 'hi-IN');
25
+ });
26
+ it('句末符应为天城文 danda(।)而非 ASCII 句点', () => {
27
+ assert.equal(HI_IN.punctuation.statementEnd, '।');
28
+ });
29
+ it('关键词应为天城文(mod_decl / func / if / return)', () => {
30
+ assert.equal(HI_IN.keywords.MODULE_DECL, 'मॉड्यूल');
31
+ assert.equal(HI_IN.keywords.FUNC_TO, 'नियम');
32
+ assert.equal(HI_IN.keywords.IF, 'यदि');
33
+ assert.equal(HI_IN.keywords.RETURN, 'लौटाएं');
34
+ });
35
+ });
36
+ describe('端到端编译到 Core IR', () => {
37
+ it('定价规则(greater than 比较 + 算术)应编译成功', () => {
38
+ const source = [
39
+ 'मॉड्यूल pricing।',
40
+ '',
41
+ 'नियम discountedPrice दिया गया amount रूप में पूर्णांक, उत्पन्न पूर्णांक:',
42
+ ' यदि amount से अधिक 100',
43
+ ' लौटाएं amount गुणा 80 भाग 100।',
44
+ ' लौटाएं amount।',
45
+ ].join('\n');
46
+ const result = compile(source, { lexicon: HI_IN });
47
+ assert.ok(result.success, `应编译成功,错误:${JSON.stringify(result.parseErrors ?? result.loweringErrors)}`);
48
+ assert.ok(result.core, '应产出 Core IR');
49
+ });
50
+ it('信贷规则(struct + 字段访问 + 布尔返回)应编译成功', () => {
51
+ const source = [
52
+ 'मॉड्यूल loan।',
53
+ '',
54
+ 'परिभाषित Applicant रखता है creditScore रूप में पूर्णांक, income रूप में पूर्णांक।',
55
+ '',
56
+ 'नियम approve दिया गया a रूप में Applicant, उत्पन्न बूलियन:',
57
+ ' यदि a.creditScore से अधिक 700',
58
+ ' लौटाएं सत्य।',
59
+ ' लौटाएं असत्य।',
60
+ ].join('\n');
61
+ const result = compile(source, { lexicon: HI_IN });
62
+ assert.ok(result.success, `应编译成功,错误:${JSON.stringify(result.parseErrors ?? result.loweringErrors)}`);
63
+ assert.ok(result.core, '应产出 Core IR');
64
+ });
65
+ it('算术规则(let 绑定 + 减法 + less than)应编译成功', () => {
66
+ const source = [
67
+ 'मॉड्यूल calc।',
68
+ '',
69
+ 'नियम net दिया गया gross रूप में पूर्णांक, tax रूप में पूर्णांक, उत्पन्न पूर्णांक:',
70
+ ' मानें result हो gross घटा tax।',
71
+ ' यदि result से कम 0',
72
+ ' लौटाएं 0।',
73
+ ' लौटाएं result।',
74
+ ].join('\n');
75
+ const result = compile(source, { lexicon: HI_IN });
76
+ assert.ok(result.success, `应编译成功,错误:${JSON.stringify(result.parseErrors ?? result.loweringErrors)}`);
77
+ assert.ok(result.core, '应产出 Core IR');
78
+ });
79
+ });
80
+ });
81
+ //# sourceMappingURL=hi-IN.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hi-IN.test.js","sourceRoot":"","sources":["../../../../../test/unit/config/lexicons/hi-IN.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=devanagari.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devanagari.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/lexer/devanagari.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Phase 1(ADR 0017)—— 天城文 Devanagari 词法支持测试(TS 引擎)。
3
+ *
4
+ * 与 aster-lang-core 的 DevanagariLexerTest 对齐(双引擎 parity):
5
+ * 1. abugida 组合记号(matra ◌ॉ ◌ू、virama ◌्)必须算标识符字符——否则天城文词
6
+ * 在记号处碎裂(मॉड्यूल → 碎片)。修复在 lexer.ts isLetter() english 分支加
7
+ * Devanagari 范围 0x0900–0x097F。
8
+ * 2. danda「।」(lexicon punctuation.statementEnd)须排除在字母范围外(0x0964/0x0965),
9
+ * 由 lexer 的标点分支识别为 DOT,不被吞进标识符。
10
+ */
11
+ import { describe, test } from 'node:test';
12
+ import assert from 'node:assert/strict';
13
+ import { lex } from '../../../src/frontend/lexer.js';
14
+ import { EN_US } from '../../../src/config/lexicons/en-US.js';
15
+ import { TokenKind } from '../../../src/types.js';
16
+ // 最小 Hindi lexicon:danda 句末符 + 少量天城文关键词。继承 EN_US 的 keywords 形状
17
+ // 后覆盖 punctuation.statementEnd 为 danda,并保持 whitespaceMode 'english'。
18
+ const HI_IN = {
19
+ ...EN_US,
20
+ id: 'hi-IN',
21
+ name: 'हिन्दी',
22
+ punctuation: {
23
+ ...EN_US.punctuation,
24
+ statementEnd: '।', // Devanagari danda
25
+ },
26
+ };
27
+ describe('天城文 Devanagari 词法', () => {
28
+ test('含元音符号/virama 的天城文词应为单个标识符(不碎裂)', () => {
29
+ // मॉड्यूल = म + ◌ॉ + ड + ◌् + य + ◌ू + ल(多个组合记号)
30
+ const toks = lex('मॉड्यूल pricing', HI_IN);
31
+ const devIdents = toks.filter((t) => t.kind === TokenKind.IDENT &&
32
+ [...String(t.value)].some((c) => {
33
+ const cc = c.charCodeAt(0);
34
+ return cc >= 0x0900 && cc <= 0x097f;
35
+ }));
36
+ assert.equal(devIdents.length, 1, `天城文词应是单个 IDENT,实际: ${JSON.stringify(toks.map((t) => [t.kind, t.value]))}`);
37
+ assert.equal(toks.some((t) => t.value === 'मॉड्यूल'), true, 'मॉड्यूल 应完整成 IDENT');
38
+ });
39
+ test('danda「।」应识别为句末 DOT,不被吞进标识符', () => {
40
+ const toks = lex('pricing।', HI_IN);
41
+ assert.equal(toks[0]?.kind, TokenKind.IDENT, `第一个应是 pricing IDENT: ${JSON.stringify(toks)}`);
42
+ assert.equal(toks[1]?.kind, TokenKind.DOT, `danda 应是 DOT: ${JSON.stringify(toks)}`);
43
+ assert.equal(toks[1]?.value, '।');
44
+ });
45
+ test('天城文词 + danda:词完整且 danda 分开', () => {
46
+ const toks = lex('मॉड्यूल।', HI_IN);
47
+ assert.equal(toks.some((t) => t.value === 'मॉड्यूल'), true, '词应完整');
48
+ assert.equal(toks.some((t) => t.kind === TokenKind.DOT && t.value === '।'), true, 'danda 应分开成 DOT');
49
+ });
50
+ test('回归:ASCII「.」仍是 DOT(不破坏 en/de 行为)', () => {
51
+ const toks = lex('foo.', EN_US);
52
+ assert.equal(toks[1]?.kind, TokenKind.DOT, `ASCII 句号仍应是 DOT: ${JSON.stringify(toks)}`);
53
+ });
54
+ });
55
+ //# sourceMappingURL=devanagari.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devanagari.test.js","sourceRoot":"","sources":["../../../../test/unit/lexer/devanagari.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aster-cloud/aster-lang-ts",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Aster CNL (Controlled Natural Language) TypeScript Compiler - Lexer, Parser, AST, Core IR, Type Checker",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",