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.
- package/dist/api/execution.d.ts.map +1 -1
- package/dist/api/execution.js +3 -3
- package/dist/api/execution.js.map +1 -1
- package/dist/api/serviceState.d.ts.map +1 -1
- package/dist/api/serviceState.js +3 -6
- package/dist/api/serviceState.js.map +1 -1
- package/dist/api/services/formatting.d.ts.map +1 -1
- package/dist/api/services/formatting.js +4 -6
- package/dist/api/services/formatting.js.map +1 -1
- package/dist/api/services/highlight.d.ts.map +1 -1
- package/dist/api/services/highlight.js +28 -38
- package/dist/api/services/highlight.js.map +1 -1
- package/dist/api/services/inlayHints.d.ts.map +1 -1
- package/dist/api/services/inlayHints.js +3 -8
- package/dist/api/services/inlayHints.js.map +1 -1
- package/dist/api/services/search.js +2 -2
- package/dist/api/utils/symbolAnalyzer.d.ts +1 -2
- package/dist/api/utils/symbolAnalyzer.d.ts.map +1 -1
- package/dist/api/utils/symbolAnalyzer.js +25 -9
- package/dist/api/utils/symbolAnalyzer.js.map +1 -1
- package/dist/api/utils/symbolTable.d.ts +3 -3
- package/dist/api/utils/symbolTable.d.ts.map +1 -1
- package/dist/cli/main.js +1 -1
- package/dist/core/builtIns.d.ts +4 -3
- package/dist/core/builtIns.d.ts.map +1 -1
- package/dist/core/builtIns.js +4 -6
- package/dist/core/builtIns.js.map +1 -1
- package/dist/core/error.d.ts +4 -11
- package/dist/core/error.d.ts.map +1 -1
- package/dist/core/error.js +9 -20
- package/dist/core/error.js.map +1 -1
- package/dist/core/lexer/preprocessor.d.ts.map +1 -1
- package/dist/core/lexer/preprocessor.js +30 -57
- package/dist/core/lexer/preprocessor.js.map +1 -1
- package/dist/core/lexer/tokenizer.d.ts +5 -2
- package/dist/core/lexer/tokenizer.d.ts.map +1 -1
- package/dist/core/lexer/tokenizer.js +76 -84
- package/dist/core/lexer/tokenizer.js.map +1 -1
- package/dist/core/parser.d.ts +1 -77
- package/dist/core/parser.d.ts.map +1 -1
- package/dist/core/parser.js +62 -55
- package/dist/core/parser.js.map +1 -1
- package/dist/core/run/environment.d.ts.map +1 -1
- package/dist/core/run/environment.js +1 -2
- package/dist/core/run/environment.js.map +1 -1
- package/dist/core/run/interpreter.d.ts.map +1 -1
- package/dist/core/run/interpreter.js +8 -8
- package/dist/core/run/interpreter.js.map +1 -1
- package/dist/core/typedef.d.ts +16 -7
- package/dist/core/typedef.d.ts.map +1 -1
- package/dist/core/typedef.js +10 -10
- package/dist/core/typedef.js.map +1 -1
- package/package.json +3 -3
package/dist/core/builtIns.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/core/builtIns.ts
|
|
2
2
|
import { getMeaoiuType, typeNames } from './typedef.js';
|
|
3
|
-
export const
|
|
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
|
|
25
|
-
export
|
|
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
|
|
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":"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,
|
|
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"}
|
package/dist/core/error.d.ts
CHANGED
|
@@ -8,21 +8,14 @@ export declare const enum Phase {
|
|
|
8
8
|
SEMANTIC = 4,
|
|
9
9
|
RUNTIME = 5
|
|
10
10
|
}
|
|
11
|
-
type
|
|
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(
|
|
26
|
+
constructor({ message, phase, line, col, endLine, endCol }: ErrorParams);
|
|
34
27
|
/** 错误消息,包含错误种类 */
|
|
35
28
|
get messageWithPhase(): string;
|
|
36
29
|
toString(): string;
|
package/dist/core/error.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/core/error.js
CHANGED
|
@@ -6,8 +6,7 @@ export class MeaoiuError {
|
|
|
6
6
|
col;
|
|
7
7
|
endLine;
|
|
8
8
|
endCol;
|
|
9
|
-
constructor(
|
|
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
|
-
...
|
|
39
|
-
|
|
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
|
-
|
|
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.
|
|
58
|
-
errorParams.line =
|
|
59
|
-
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
|
}
|
package/dist/core/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/core/error.ts"],"names":[],"mappings":"AAAA,oBAAoB;
|
|
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":"
|
|
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
|
|
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
|
-
|
|
123
|
-
let
|
|
124
|
-
for (let
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
case
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
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
|
-
|
|
182
|
-
|
|
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":"AAAA,iCAAiC;AAEjC,MAAM,
|
|
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
|
-
|
|
49
|
-
|
|
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":"AAKA,0BAAkB,SAAS;IAC1B,KAAK,IAAA,CAAE,SAAS;IAGhB,WAAW,IAAA;IACX,aAAa,IAAA;IACb,eAAe,IAAA;IACf,eAAe,IAAA;IACf,aAAa,IAAA;IACb,YAAY,IAAA;IACZ,eAAe,IAAA;IACf,YAAY,IAAA;IACZ,YAAY,IAAA;IACZ,aAAa,KAAA;IACb,cAAc,KAAA;IACd,WAAW,KAAA;IACX,YAAY,KAAA;IACZ,cAAc,KAAA;IAGd,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IACP,IAAI,KAAA;IAGJ,UAAU,KAAA;IAGV,gBAAgB,KAAA,CAAE,KAAK;IACvB,cAAc,KAAA,CAAE,KAAK;IACrB,WAAW,KAAA,CAAE,KAAK;IAClB,SAAS,KAAA,CAAE,KAAK;IAChB,UAAU,KAAA,CAAE,IAAI;IAChB,QAAQ,KAAA,CAAE,IAAI;IAEd,eAAe,KAAA,CAAE,IAAI;IACrB,gBAAgB,KAAA,CAAE,IAAI;IACtB,mBAAmB,KAAA,CAAE,IAAI;IACzB,iBAAiB,KAAA,CAAE,IAAI;IACvB,gBAAgB,KAAA,CAAE,KAAK;IACvB,oBAAoB,KAAA,CAAE,KAAK;IAC3B,kBAAkB,KAAA,CAAE,IAAI;IACxB,eAAe,KAAA,CAAE,IAAI;IACrB,wBAAwB,KAAA,CAAE,KAAK;IAC/B,qBAAqB,KAAA,CAAE,KAAK;IAC5B,KAAK,KAAA,CAAE,IAAI;IAGX,SAAS,KAAA,CAAE,IAAI;IACf,QAAQ,KAAA,CAAE,IAAI;IACd,eAAe,KAAA,CAAE,KAAK;IACtB,cAAc,KAAA,CAAE,KAAK;IACrB,eAAe,KAAA,CAAE,KAAK;IACtB,gBAAgB,KAAA,CAAE,KAAK;IAGvB,OAAO,KAAA;IACP,GAAG,KAAA;CACH;AAED,
|
|
1
|
+
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../../src/core/lexer/tokenizer.ts"],"names":[],"mappings":"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"}
|