meaoiu 0.1.1 → 0.1.3

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 (53) hide show
  1. package/dist/api/execution.d.ts.map +1 -1
  2. package/dist/api/execution.js +3 -3
  3. package/dist/api/execution.js.map +1 -1
  4. package/dist/api/serviceState.d.ts.map +1 -1
  5. package/dist/api/serviceState.js +3 -6
  6. package/dist/api/serviceState.js.map +1 -1
  7. package/dist/api/services/formatting.d.ts.map +1 -1
  8. package/dist/api/services/formatting.js +4 -6
  9. package/dist/api/services/formatting.js.map +1 -1
  10. package/dist/api/services/highlight.d.ts.map +1 -1
  11. package/dist/api/services/highlight.js +28 -38
  12. package/dist/api/services/highlight.js.map +1 -1
  13. package/dist/api/services/inlayHints.d.ts.map +1 -1
  14. package/dist/api/services/inlayHints.js +3 -8
  15. package/dist/api/services/inlayHints.js.map +1 -1
  16. package/dist/api/services/search.js +2 -2
  17. package/dist/api/utils/symbolAnalyzer.d.ts +1 -2
  18. package/dist/api/utils/symbolAnalyzer.d.ts.map +1 -1
  19. package/dist/api/utils/symbolAnalyzer.js +25 -9
  20. package/dist/api/utils/symbolAnalyzer.js.map +1 -1
  21. package/dist/api/utils/symbolTable.d.ts +3 -3
  22. package/dist/api/utils/symbolTable.d.ts.map +1 -1
  23. package/dist/cli/main.js +1 -1
  24. package/dist/core/builtIns.d.ts +4 -3
  25. package/dist/core/builtIns.d.ts.map +1 -1
  26. package/dist/core/builtIns.js +4 -6
  27. package/dist/core/builtIns.js.map +1 -1
  28. package/dist/core/error.d.ts +4 -11
  29. package/dist/core/error.d.ts.map +1 -1
  30. package/dist/core/error.js +9 -20
  31. package/dist/core/error.js.map +1 -1
  32. package/dist/core/lexer/preprocessor.d.ts.map +1 -1
  33. package/dist/core/lexer/preprocessor.js +30 -57
  34. package/dist/core/lexer/preprocessor.js.map +1 -1
  35. package/dist/core/lexer/tokenizer.d.ts +5 -2
  36. package/dist/core/lexer/tokenizer.d.ts.map +1 -1
  37. package/dist/core/lexer/tokenizer.js +76 -84
  38. package/dist/core/lexer/tokenizer.js.map +1 -1
  39. package/dist/core/parser.d.ts +1 -77
  40. package/dist/core/parser.d.ts.map +1 -1
  41. package/dist/core/parser.js +62 -55
  42. package/dist/core/parser.js.map +1 -1
  43. package/dist/core/run/environment.d.ts.map +1 -1
  44. package/dist/core/run/environment.js +1 -2
  45. package/dist/core/run/environment.js.map +1 -1
  46. package/dist/core/run/interpreter.d.ts.map +1 -1
  47. package/dist/core/run/interpreter.js +8 -8
  48. package/dist/core/run/interpreter.js.map +1 -1
  49. package/dist/core/typedef.d.ts +16 -7
  50. package/dist/core/typedef.d.ts.map +1 -1
  51. package/dist/core/typedef.js +10 -10
  52. package/dist/core/typedef.js.map +1 -1
  53. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
1
  // src/core/builtIns.ts
2
2
  import { getMeaoiuType, typeNames } from './typedef.js';
3
- export const MeaoiuBuiltInNames = [
3
+ export const meaoiuBuiltInNames = [
4
4
  '喵',
5
5
  '祈求',
6
6
  '呼噜',
@@ -21,10 +21,8 @@ export const MeaoiuBuiltInNames = [
21
21
  '猫咪艺术',
22
22
  '哈气',
23
23
  ];
24
- const BuiltInFunctionNameSet = new Set(MeaoiuBuiltInNames);
25
- export function isBuiltInFunctionName(name) {
26
- return BuiltInFunctionNameSet.has(name);
27
- }
24
+ export const builtInNameSet = new Set(meaoiuBuiltInNames);
25
+ export const isBuiltInFunctionName = (name) => builtInNameSet.has(name);
28
26
  export const createBuiltInFunctions = (io) => ({
29
27
  // I/O
30
28
  喵: {
@@ -159,7 +157,7 @@ export function checkArgsForBuiltIn(builtIn, args) {
159
157
  if (MAX_INDEX_T < 0)
160
158
  return undefined;
161
159
  check: for (let i = 0; i < args.length; i++) {
162
- const paramType = paramTypes[i > MAX_INDEX_T ? MAX_INDEX_T : i];
160
+ const paramType = paramTypes[Math.min(i, MAX_INDEX_T)];
163
161
  if (paramType.length < 1)
164
162
  continue;
165
163
  const argType = getMeaoiuType(args[i]);
@@ -1 +1 @@
1
- {"version":3,"file":"builtIns.js","sourceRoot":"","sources":["../../src/core/builtIns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtIns.js","sourceRoot":"","sources":["../../src/core/builtIns.ts"],"names":[],"mappings":"AAAA,uBAAuB;AAIvB,OAAO,EAAE,aAAa,EAAc,SAAS,EAAoB,MAAM,cAAc,CAAC;AAEtF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,KAAK;IACL,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,IAAI;CACK,CAAC;AAaX,MAAM,CAAC,MAAM,cAAc,GAA6B,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAuB,EAAE,CAAE,cAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAEtH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAmB,EAAkB,EAAE,CAAC,CAAC;IAC/E,MAAM;IACN,CAAC,EAAE;QACF,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;KACxC;IACD,EAAE,EAAE;QACH,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC,2BAAmB,CAAC;QACjC,QAAQ,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAE,QAA+B,IAAI,IAAI,CAAC;KACnF;IAED,kBAAkB;IAClB,GAAG,EAAE;QACJ,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC,2BAAmB,CAAC;QACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE;YACtB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,MAAgB,CAAC,CAAC;YAChD,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QACvC,CAAC;KACD;IACD,EAAE,EAAE;QACH,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;KACpC;IACD,EAAE,EAAE;QACH,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KACtD;IAED,QAAQ;IACR,EAAE,EAAE;QACH,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM;KACrC;IAED,OAAO;IACP,IAAI,EAAE;QACL,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC,2BAAmB,CAAC;QACjC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAW,CAAC;KACxC;IACD,GAAG,EAAE;QACJ,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC,2BAAmB,CAAC;QACjC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAW,CAAC;KAC1C;IACD,GAAG,EAAE;QACJ,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC,2BAAmB,CAAC,oBAAoB,CAAC;QACtD,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,MAAmB,CAAC;KACrD;IACD,GAAG,EAAE;QACJ,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC,2BAAmB,CAAC;QACjC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,MAAmB,CAAC;KACrD;IACD,EAAE,EAAE;QACH,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC,2BAAmB,EAAE,2BAAmB,CAAC;QACtD,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACpB,qDAAqD;YACrD,MAAM,SAAS,GAAI,CAAY,GAAI,CAAY,CAAC;YAChD,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACnD,CAAC;KACD;IACD,EAAE,EAAE;QACH,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC,2BAAmB,EAAE,2BAAmB,CAAC;QACtD,QAAQ,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE;YACtD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAE,GAAc,GAAI,GAAc,GAAG,CAAC,CAAC,CAAC,GAAI,GAAc,CAAC;QAC9F,CAAC;KACD;IAED,sBAAsB;IACtB,GAAG,EAAE;QACJ,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC,0DAA0C,EAAE,EAAE,CAAC,kBAAkB,CAAC;QAC/E,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAE,MAA+B,CAAC,MAAM;KAC/D;IACD,SAAS;IACT,IAAI,EAAE;QACL,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC,2BAAmB,CAAC;QACjC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;KACrC;IAED,kBAAkB;IAClB,EAAE,EAAE;QACH,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC,2BAAmB,CAAC;QACjC,QAAQ,EAAE,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE;YAChC,MAAM,EAAE,GAAI,MAAiB,GAAG,IAAI,CAAC;YACrC,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD,EAAE,EAAE;QACH,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,wDAAwD,CAAC,CAAC,EAAE,IAAI,CAAC;KAC5F;IACD,EAAE,EAAE;QACH,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC,2BAAmB,CAAC;QACjC,QAAQ,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAI,KAAgB,EAAE,CAAC,EAAE;gBAAE,EAAE,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD,IAAI,EAAE;QACL,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE;YAC5B,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAC7F,OAAO,IAAI,CAAC;QACb,CAAC;KACD;IACD,EAAE,EAAE;QACH,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC,oDAAoC,CAAC;QAClD,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE;YACvB,MAAM,IAAI,KAAK,CAAC,OAAiB,CAAC,CAAC;QACpC,CAAC;KACD;CACD,CAAC,CAAC;AAEH,MAAM,UAAU,mBAAmB,CAAC,OAAoC,EAAE,IAAmB;IAC5F,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,UAAU;QAAE,OAAO,KAAK,UAAU,WAAW,IAAI,CAAC,MAAM,QAAQ,CAAC;IACnF,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1C,IAAI,WAAW,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAEtC,KAAK,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAE,CAAC;QACxD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAEnC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,SAAS;YAAE,IAAI,IAAI,KAAK,OAAO;gBAAE,SAAS,KAAK,CAAC;QAEnE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,WAAW,SAAS;aAC9D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC"}
@@ -8,21 +8,14 @@ export declare const enum Phase {
8
8
  SEMANTIC = 4,
9
9
  RUNTIME = 5
10
10
  }
11
- type StartPosition = {
11
+ type ErrorParams = {
12
+ message: string;
13
+ phase: Phase;
12
14
  line: number;
13
15
  col: number;
14
- };
15
- type EndPosition = {
16
16
  endLine: number;
17
17
  endCol: number;
18
- } | {
19
- endLine?: never;
20
- endCol?: never;
21
18
  };
22
- type ErrorParams = {
23
- message: string;
24
- phase: Phase;
25
- } & StartPosition & EndPosition;
26
19
  export declare class MeaoiuError {
27
20
  readonly message: string;
28
21
  readonly phase: Phase;
@@ -30,7 +23,7 @@ export declare class MeaoiuError {
30
23
  readonly col: number;
31
24
  readonly endLine: number;
32
25
  readonly endCol: number;
33
- constructor(params: ErrorParams);
26
+ constructor({ message, phase, line, col, endLine, endCol }: ErrorParams);
34
27
  /** 错误消息,包含错误种类 */
35
28
  get messageWithPhase(): string;
36
29
  toString(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/core/error.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,0BAAkB,KAAK;IACtB,OAAO,IAAI;IACX,SAAS,IAAA;IACT,OAAO,IAAA;IACP,SAAS,IAAA;IACT,QAAQ,IAAA;IACR,OAAO,IAAA;CACP;AAED,KAAK,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AACnD,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAC7F,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,aAAa,GAAG,WAAW,CAAC;AAEnF,qBAAa,WAAW;IACvB,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,MAAM,EAAE,WAAW;IAU/B,kBAAkB;IAClB,IAAW,gBAAgB,IAAI,MAAM,CAUpC;IAEM,QAAQ,IAAI,MAAM;CAGzB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,WAAW,CAM3F;AAQD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,KAAqB,GAAG,WAAW,CAerF"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/core/error.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,0BAAkB,KAAK;IACtB,OAAO,IAAI;IACX,SAAS,IAAA;IACT,OAAO,IAAA;IACP,SAAS,IAAA;IACT,QAAQ,IAAA;IACR,OAAO,IAAA;CACP;AAED,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjH,qBAAa,WAAW;IACvB,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,MAAM,EAAE,MAAM,CAAC;gBAEnB,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW;IASvE,kBAAkB;IAClB,IAAW,gBAAgB,IAAI,MAAM,CAUpC;IAEM,QAAQ,IAAI,MAAM;CAGzB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,WAAW,CAO3F;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,KAAqB,GAAG,WAAW,CAUrF"}
@@ -6,8 +6,7 @@ export class MeaoiuError {
6
6
  col;
7
7
  endLine;
8
8
  endCol;
9
- constructor(params) {
10
- const { message, phase, line, col, endLine = line, endCol = col } = params;
9
+ constructor({ message, phase, line, col, endLine, endCol }) {
11
10
  this.message = message;
12
11
  this.phase = phase;
13
12
  this.line = line;
@@ -35,28 +34,18 @@ export function errorFrom(ele, message, phase) {
35
34
  return new MeaoiuError({
36
35
  message,
37
36
  phase,
38
- ...('endLine' in ele ? ele : { ...ele, endLine: ele.line, endCol: ele.col + (ele.value.length || 1) }),
39
- }); // 若来 ErrorNode,自然以 ErrorNode message 覆盖;若是 Token,尾端位置为 Token 末尾
37
+ ...ele,
38
+ endCol: ele.endCol + +(ele.line === ele.endLine && ele.col === ele.endCol),
39
+ }); // 若来 ErrorNode,自然以 ErrorNode 的 message 覆盖
40
40
  }
41
- const parseIntOrNull = (input) => {
42
- if (input == null)
43
- return null; // undefined 或 null -> 空
44
- const n = Number.parseInt(input, 10);
45
- return Number.isNaN(n) ? null : n;
46
- };
47
41
  export function parseError(message, phase = 0 /* Phase.UNKNOWN */) {
48
- const errorParams = {
49
- message,
50
- phase,
51
- line: -1,
52
- col: -1,
53
- };
54
- const match = message.match(/\[(\d+):(\d+)\]/);
42
+ const errorParams = { message, phase, line: -1, col: -1, endLine: -1, endCol: -1 };
43
+ const match = /^\s*\[(\d+):(\d+)\]\s*/.exec(message);
55
44
  if (match) {
56
45
  const [rawPos, rawLine, rawCol] = match;
57
- errorParams.message = message.replace(rawPos, '').trim(); // 移除匹配到的位置信息部分
58
- errorParams.line = parseIntOrNull(rawLine) ?? errorParams.line;
59
- errorParams.col = parseIntOrNull(rawCol) ?? errorParams.col;
46
+ errorParams.message = message.slice(rawPos.length); // 移除匹配到的位置信息部分
47
+ errorParams.endLine = errorParams.line = Number.parseInt(rawLine, 10);
48
+ errorParams.endCol = (errorParams.col = Number.parseInt(rawCol, 10)) + 1;
60
49
  }
61
50
  return new MeaoiuError(errorParams);
62
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/core/error.ts"],"names":[],"mappings":"AAAA,oBAAoB;AAkBpB,MAAM,OAAO,WAAW;IACP,OAAO,CAAS;IAChB,KAAK,CAAQ;IACb,IAAI,CAAS;IACb,GAAG,CAAS;IACZ,OAAO,CAAS;IAChB,MAAM,CAAS;IAE/B,YAAY,MAAmB;QAC9B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,kBAAkB;IAClB,IAAW,gBAAgB;QAC1B,MAAM,WAAW,GAAG;YACnB,uBAAe,EAAE,KAAK;YACtB,yBAAiB,EAAE,MAAM;YACzB,uBAAe,EAAE,MAAM;YACvB,yBAAiB,EAAE,MAAM;YACzB,wBAAgB,EAAE,MAAM;YACxB,uBAAe,EAAE,MAAM;SACvB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,OAAO,GAAG,WAAW,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC;CACD;AAED,MAAM,UAAU,SAAS,CAAC,GAAqB,EAAE,OAAe,EAAE,KAAY;IAC7E,OAAO,IAAI,WAAW,CAAC;QACtB,OAAO;QACP,KAAK;QACL,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;KACtG,CAAC,CAAC,CAAC,kEAAkE;AACvE,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,KAAyB,EAAiB,EAAE;IACnE,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,wBAAwB;IACxD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,6BAA4B;IACvE,MAAM,WAAW,GAAG;QACnB,OAAO;QACP,KAAK;QACL,IAAI,EAAE,CAAC,CAAC;QACR,GAAG,EAAE,CAAC,CAAC;KACP,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC/C,IAAI,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;QACxC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,eAAe;QACzE,WAAW,CAAC,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC;QAC/D,WAAW,CAAC,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/core/error.ts"],"names":[],"mappings":"AAAA,oBAAoB;AAgBpB,MAAM,OAAO,WAAW;IACP,OAAO,CAAS;IAChB,KAAK,CAAQ;IACb,IAAI,CAAS;IACb,GAAG,CAAS;IACZ,OAAO,CAAS;IAChB,MAAM,CAAS;IAE/B,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAe;QACtE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,kBAAkB;IAClB,IAAW,gBAAgB;QAC1B,MAAM,WAAW,GAAG;YACnB,uBAAe,EAAE,KAAK;YACtB,yBAAiB,EAAE,MAAM;YACzB,uBAAe,EAAE,MAAM;YACvB,yBAAiB,EAAE,MAAM;YACzB,wBAAgB,EAAE,MAAM;YACxB,uBAAe,EAAE,MAAM;SACvB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,OAAO,GAAG,WAAW,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC;CACD;AAED,MAAM,UAAU,SAAS,CAAC,GAAqB,EAAE,OAAe,EAAE,KAAY;IAC7E,OAAO,IAAI,WAAW,CAAC;QACtB,OAAO;QACP,KAAK;QACL,GAAG,GAAG;QACN,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC;KAC1E,CAAC,CAAC,CAAC,0CAA0C;AAC/C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,6BAA4B;IACvE,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;IACnF,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;QACxC,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe;QACnE,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAQ,EAAE,EAAE,CAAC,CAAC;QACvE,WAAW,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAO,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"preprocessor.d.ts","sourceRoot":"","sources":["../../../src/core/lexer/preprocessor.ts"],"names":[],"mappings":"AAoIA,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAoErD"}
1
+ {"version":3,"file":"preprocessor.d.ts","sourceRoot":"","sources":["../../../src/core/lexer/preprocessor.ts"],"names":[],"mappings":"AA6HA,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAsCrD"}
@@ -1,5 +1,5 @@
1
1
  // src/core/lexer/preprocessor.ts
2
- const fullWidthMap = {
2
+ const nonAsciiMap = {
3
3
  // 数字
4
4
  '0': '0',
5
5
  '1': '1',
@@ -119,69 +119,42 @@ const fullWidthMap = {
119
119
  };
120
120
  export function preprocess(sourceCode) {
121
121
  let result = '';
122
- let state = 0 /* State.DEFAULT */;
123
- let commentNesting = 0;
124
- for (let i = 0; i < sourceCode.length; i++) {
125
- const char = sourceCode[i];
126
- const convertedChar = fullWidthMap[char] ?? char;
127
- switch (state) {
128
- case 0 /* State.DEFAULT */: {
129
- // 根据转换后的字符来判断状态切换
130
- if (convertedChar === "'") {
131
- state = 1 /* State.IN_SINGLE_QUOTE */;
132
- }
133
- else if (convertedChar === '"') {
134
- state = 2 /* State.IN_DOUBLE_QUOTE */;
135
- }
136
- else if (convertedChar === '(') {
137
- state = 3 /* State.IN_COMMENT */;
138
- commentNesting = 1;
139
- }
140
- // 在 DEFAULT 状态下,总是添加转换后的字符
141
- result += convertedChar;
142
- break;
143
- }
144
- case 1 /* State.IN_SINGLE_QUOTE */: {
145
- if (convertedChar === "'") {
146
- state = 0 /* State.DEFAULT */;
147
- result += convertedChar; // 统一输出半宽
148
- }
149
- else {
150
- result += char; // 内部字符原样输出
122
+ const sourceCodeLen = sourceCode.length;
123
+ let prevStart = 0;
124
+ for (let cursor = 0, prevEnd = 0, closeChar = ''; cursor < sourceCodeLen; prevEnd = ++cursor) {
125
+ const openChar = nonAsciiMap[(closeChar = sourceCode[cursor])] ?? closeChar;
126
+ convert: switch (openChar) {
127
+ case "'":
128
+ case '"':
129
+ case '{':
130
+ for (const closing = openChar === '{' ? '}' : openChar; ++cursor < sourceCodeLen;) {
131
+ if ((closeChar = nonAsciiMap[(closeChar = sourceCode[cursor])] ?? closeChar) === closing)
132
+ break convert;
151
133
  }
134
+ closeChar = '';
152
135
  break;
153
- }
154
- case 2 /* State.IN_DOUBLE_QUOTE */: {
155
- if (convertedChar === '"') {
156
- state = 0 /* State.DEFAULT */;
157
- result += convertedChar; // 统一输出半宽
158
- }
159
- else {
160
- result += char; // 内部字符原样输出
161
- }
162
- break;
163
- }
164
- case 3 /* State.IN_COMMENT */: {
165
- if (convertedChar === '(') {
166
- commentNesting++;
167
- }
168
- else if (convertedChar === ')') {
169
- commentNesting--;
170
- }
171
- if (commentNesting === 0) {
172
- state = 0 /* State.DEFAULT */;
173
- result += convertedChar; // 统一输出半宽
174
- }
175
- else {
176
- result += char; // 内部字符原样输出
136
+ case '(':
137
+ for (let nestingLevel = 1; ++cursor < sourceCodeLen;) {
138
+ closeChar = nonAsciiMap[(closeChar = sourceCode[cursor])] ?? closeChar;
139
+ if (closeChar === '(')
140
+ nestingLevel++;
141
+ else if (closeChar === ')' && --nestingLevel === 0)
142
+ break convert;
177
143
  }
144
+ closeChar = '';
178
145
  break;
179
- }
180
146
  default:
181
- const _s = state;
182
- console.error('只是告诉你发生了奇怪的事情:', _s);
147
+ if (openChar === closeChar)
148
+ continue;
149
+ result += `${sourceCode.slice(prevStart, cursor)}${openChar}`;
150
+ prevStart = cursor + 1;
151
+ continue;
183
152
  }
153
+ result += `${sourceCode.slice(prevStart, prevEnd)}${openChar}${sourceCode.slice(prevEnd + 1, cursor)}${closeChar}`;
154
+ prevStart = cursor + 1;
184
155
  }
156
+ if (prevStart < sourceCodeLen)
157
+ result += sourceCode.slice(prevStart);
185
158
  return result;
186
159
  }
187
160
  //# sourceMappingURL=preprocessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preprocessor.js","sourceRoot":"","sources":["../../../src/core/lexer/preprocessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preprocessor.js","sourceRoot":"","sources":["../../../src/core/lexer/preprocessor.ts"],"names":[],"mappings":"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"}
@@ -45,8 +45,8 @@ export declare const enum TokenKind {
45
45
  COMMENT = 43,
46
46
  EOF = 44
47
47
  }
48
- export type AdditiveTokenKind = TokenKind.ARITHMETIC_PLUS | TokenKind.ARITHMETIC_MINUS;
49
- export type MultiplicativeTokenKind = TokenKind.ARITHMETIC_MULTIPLY | TokenKind.ARITHMETIC_DIVIDE;
48
+ type AdditiveTokenKind = TokenKind.ARITHMETIC_PLUS | TokenKind.ARITHMETIC_MINUS;
49
+ type MultiplicativeTokenKind = TokenKind.ARITHMETIC_MULTIPLY | TokenKind.ARITHMETIC_DIVIDE;
50
50
  export type ArithmeticTokenKind = AdditiveTokenKind | MultiplicativeTokenKind;
51
51
  export type EqualityTokenKind = TokenKind.COMPARISON_EQUAL | TokenKind.COMPARISON_NOT_EQUAL;
52
52
  type OrderingTokenKind = TokenKind.COMPARISON_GREATER | TokenKind.COMPARISON_LESS | TokenKind.COMPARISON_GREATER_EQUAL | TokenKind.COMPARISON_LESS_EQUAL;
@@ -69,11 +69,14 @@ type TokenUnion = {
69
69
  value: K extends keyof TokenValueMap ? TokenValueMap[K] : string;
70
70
  line: number;
71
71
  col: number;
72
+ endLine: number;
73
+ endCol: number;
72
74
  };
73
75
  }[TokenKind];
74
76
  export type Token<K extends TokenKind = TokenKind> = Extract<TokenUnion, {
75
77
  kind: K;
76
78
  }>;
79
+ export declare function newToken<K extends TokenKind>(kind: K, value: K extends keyof TokenValueMap ? TokenValueMap[K] : string, startLine: number, startCol: number, endLine: number, endCol: number): Token<K>;
77
80
  declare const KEYWORDS: {
78
81
  readonly 蹭: TokenKind.KEYWORD_USE;
79
82
  readonly 就是: TokenKind.ASSIGNMENT_IS;
@@ -1 +1 @@
1
- {"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../../src/core/lexer/tokenizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../../src/core/lexer/tokenizer.ts"],"names":[],"mappings":"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"}