@graffiticode/parser 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/src/config/config.d.ts +3 -0
- package/dist/api/src/config/config.js +4 -0
- package/dist/api/src/config/config.js.map +1 -0
- package/dist/api/src/config/index.d.ts +1 -0
- package/dist/api/src/config/index.js +3 -0
- package/dist/api/src/config/index.js.map +1 -0
- package/dist/api/src/lang/base-url.d.ts +7 -0
- package/dist/api/src/lang/base-url.js +24 -0
- package/dist/api/src/lang/base-url.js.map +1 -0
- package/dist/api/src/lang/compile.d.ts +4 -0
- package/dist/api/src/lang/compile.js +6 -0
- package/dist/api/src/lang/compile.js.map +1 -0
- package/dist/api/src/lang/get-asset.d.ts +4 -0
- package/dist/api/src/lang/get-asset.js +9 -0
- package/dist/api/src/lang/get-asset.js.map +1 -0
- package/dist/api/src/lang/index.d.ts +4 -0
- package/dist/api/src/lang/index.js +22 -0
- package/dist/api/src/lang/index.js.map +1 -0
- package/dist/api/src/lang/ping-lang.d.ts +5 -0
- package/dist/api/src/lang/ping-lang.js +31 -0
- package/dist/api/src/lang/ping-lang.js.map +1 -0
- package/dist/api/src/util.d.ts +23 -0
- package/dist/api/src/util.js +187 -0
- package/dist/api/src/util.js.map +1 -0
- package/dist/parser/src/ast.d.ts +58 -0
- package/dist/parser/src/ast.js +683 -0
- package/dist/parser/src/ast.js.map +1 -0
- package/dist/parser/src/env.d.ts +8 -0
- package/dist/parser/src/env.js +38 -0
- package/dist/parser/src/env.js.map +1 -0
- package/dist/parser/src/fold.d.ts +4 -0
- package/dist/parser/src/fold.js +217 -0
- package/dist/parser/src/fold.js.map +1 -0
- package/dist/parser/src/folder.d.ts +30 -0
- package/dist/parser/src/folder.js +231 -0
- package/dist/parser/src/folder.js.map +1 -0
- package/dist/parser/src/index.d.ts +5 -0
- package/dist/parser/src/index.js +6 -0
- package/dist/parser/src/index.js.map +1 -0
- package/dist/parser/src/parse.d.ts +56 -0
- package/dist/parser/src/parse.js +902 -0
- package/dist/parser/src/parse.js.map +1 -0
- package/dist/parser/src/parser.d.ts +17 -0
- package/dist/parser/src/parser.js +89 -0
- package/dist/parser/src/parser.js.map +1 -0
- package/dist/parser/src/parserForTests.d.ts +3 -0
- package/dist/parser/src/parserForTests.js +4 -0
- package/dist/parser/src/parserForTests.js.map +1 -0
- package/dist/parser/src/stringstream.d.ts +10 -0
- package/dist/parser/src/stringstream.js +21 -0
- package/dist/parser/src/stringstream.js.map +1 -0
- package/dist/parser/src/testing/index.d.ts +2 -0
- package/dist/parser/src/testing/index.js +17 -0
- package/dist/parser/src/testing/index.js.map +1 -0
- package/dist/parser/src/types.d.ts +44 -0
- package/dist/parser/src/types.js +2 -0
- package/dist/parser/src/types.js.map +1 -0
- package/package.json +2 -4
- package/src/ast.js +724 -0
- package/src/env.js +46 -0
- package/src/folder.js +244 -0
- package/src/parse.js +35 -935
- package/src/parse.ts~ +1037 -0
- package/src/{parser.js~ → parser.ts~} +25 -7
- package/src/stringstream.js +22 -0
- package/src/fold.js +0 -235
- package/src/parser.spec.js~ +0 -175
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/parse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import vm from "vm";
|
|
2
|
+
interface ParserOptions {
|
|
3
|
+
log: (message: string, ...args: any[]) => void;
|
|
4
|
+
cache: Map<string, any>;
|
|
5
|
+
getLangAsset: (lang: string, path: string) => Promise<any>;
|
|
6
|
+
main: MainParser;
|
|
7
|
+
vm: typeof vm;
|
|
8
|
+
}
|
|
9
|
+
interface MainParser {
|
|
10
|
+
parse: (src: string, lexicon: any) => any;
|
|
11
|
+
}
|
|
12
|
+
interface Parser {
|
|
13
|
+
parse: (lang: string, src: string) => Promise<any>;
|
|
14
|
+
}
|
|
15
|
+
export declare const buildParser: ({ log, cache, getLangAsset, main, vm }: ParserOptions) => Parser;
|
|
16
|
+
export declare const parser: Parser;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import vm from "vm";
|
|
2
|
+
import { getLangAsset } from "../../api/src/lang/index.js";
|
|
3
|
+
// Import as any since we're keeping parse.js as JavaScript
|
|
4
|
+
import parse from "./parse.js";
|
|
5
|
+
// commonjs export
|
|
6
|
+
const main = {
|
|
7
|
+
parse(src, lexicon) {
|
|
8
|
+
const stream = new parse.StringStream(src);
|
|
9
|
+
const state = {
|
|
10
|
+
cc: parse.program, // top level parsing function
|
|
11
|
+
argc: 0,
|
|
12
|
+
argcStack: [0],
|
|
13
|
+
paramc: 0,
|
|
14
|
+
paramcStack: [0],
|
|
15
|
+
env: [{ name: "global", lexicon }],
|
|
16
|
+
exprc: 0,
|
|
17
|
+
exprcStack: [0],
|
|
18
|
+
nodeStack: [],
|
|
19
|
+
nodeStackStack: [],
|
|
20
|
+
nodePool: ["unused"],
|
|
21
|
+
nodeMap: {},
|
|
22
|
+
nextToken: -1,
|
|
23
|
+
errors: [],
|
|
24
|
+
coords: [],
|
|
25
|
+
inStr: 0,
|
|
26
|
+
quoteCharStack: []
|
|
27
|
+
};
|
|
28
|
+
const next = function () {
|
|
29
|
+
return parse.parse(stream, state);
|
|
30
|
+
};
|
|
31
|
+
let ast;
|
|
32
|
+
while (state.cc !== null && stream.peek()) {
|
|
33
|
+
ast = next();
|
|
34
|
+
}
|
|
35
|
+
if (state.cc) {
|
|
36
|
+
throw new Error("End of program reached.");
|
|
37
|
+
}
|
|
38
|
+
console.log("parse()", "ast=" + JSON.stringify(ast, null, 2));
|
|
39
|
+
return ast;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
export const buildParser = ({ log, cache, getLangAsset, main, vm }) => {
|
|
43
|
+
return {
|
|
44
|
+
async parse(lang, src) {
|
|
45
|
+
if (!cache.has(lang)) {
|
|
46
|
+
let data = await getLangAsset(lang, "/lexicon.js");
|
|
47
|
+
// TODO Make lexicon JSON.
|
|
48
|
+
if (data instanceof Buffer) {
|
|
49
|
+
data = data.toString();
|
|
50
|
+
}
|
|
51
|
+
if (typeof (data) !== "string") {
|
|
52
|
+
log(`Failed to get usable lexicon for ${lang}`, typeof (data), data);
|
|
53
|
+
throw new Error("unable to use lexicon");
|
|
54
|
+
}
|
|
55
|
+
const lstr = data.substring(data.indexOf("{"));
|
|
56
|
+
let lexicon;
|
|
57
|
+
try {
|
|
58
|
+
lexicon = JSON.parse(lstr);
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
if (err instanceof SyntaxError) {
|
|
62
|
+
log(`failed to parse ${lang} lexicon: ${err.message}`);
|
|
63
|
+
const context = { window: { gcexports: { globalLexicon: null } } };
|
|
64
|
+
vm.createContext(context);
|
|
65
|
+
vm.runInContext(data, context);
|
|
66
|
+
if (typeof (context.window.gcexports.globalLexicon) === "object") {
|
|
67
|
+
lexicon = context.window.gcexports.globalLexicon;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (!lexicon) {
|
|
71
|
+
throw new Error("Malformed lexicon");
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
cache.set(lang, lexicon);
|
|
75
|
+
}
|
|
76
|
+
;
|
|
77
|
+
const lexicon = cache.get(lang);
|
|
78
|
+
return await main.parse(src, lexicon);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
export const parser = buildParser({
|
|
83
|
+
log: console.log,
|
|
84
|
+
cache: new Map(),
|
|
85
|
+
getLangAsset,
|
|
86
|
+
main,
|
|
87
|
+
vm
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parserForTests.js","sourceRoot":"","sources":["../../../src/parserForTests.js"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export class StringStream {
|
|
2
|
+
constructor(string, tabSize = 2) {
|
|
3
|
+
this.pos = 0;
|
|
4
|
+
this.start = 0;
|
|
5
|
+
this.string = string;
|
|
6
|
+
this.tabSize = tabSize;
|
|
7
|
+
}
|
|
8
|
+
peek() {
|
|
9
|
+
return this.string.charAt(this.pos) || undefined;
|
|
10
|
+
}
|
|
11
|
+
next() {
|
|
12
|
+
if (this.pos < this.string.length) {
|
|
13
|
+
return this.string.charAt(this.pos++);
|
|
14
|
+
}
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
backUp(n) {
|
|
18
|
+
this.pos -= n;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=stringstream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringstream.js","sourceRoot":"","sources":["../../../src/stringstream.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAY;IAMvB,YAAY,MAAc,EAAE,OAAO,GAAG,CAAC;QACrC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;IACnD,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,CAAS;QACd,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jest } from "@jest/globals";
|
|
2
|
+
export const mockPromiseError = (err) => {
|
|
3
|
+
return jest.fn().mockImplementation((...params) => {
|
|
4
|
+
if (params.length > 0) {
|
|
5
|
+
throw err;
|
|
6
|
+
}
|
|
7
|
+
else {
|
|
8
|
+
throw new Error("no callback paramter given");
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
export const mockPromiseValue = (value) => {
|
|
13
|
+
return jest.fn().mockImplementation((...params) => {
|
|
14
|
+
return value;
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/testing/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,EAAE;IACtC,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE;QAChD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,GAAG,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE;QAChD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export interface EnvEntry {
|
|
2
|
+
name: string;
|
|
3
|
+
lexicon: Record<string, WordEntry>;
|
|
4
|
+
pattern: any[];
|
|
5
|
+
paramc?: number;
|
|
6
|
+
}
|
|
7
|
+
export interface WordEntry {
|
|
8
|
+
tk?: number;
|
|
9
|
+
cls: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
length?: number;
|
|
12
|
+
nid?: number;
|
|
13
|
+
val?: any;
|
|
14
|
+
offset?: number;
|
|
15
|
+
env?: EnvEntry;
|
|
16
|
+
}
|
|
17
|
+
export interface Context {
|
|
18
|
+
state: {
|
|
19
|
+
env: EnvEntry[];
|
|
20
|
+
paramc: number;
|
|
21
|
+
nodeStack: number[];
|
|
22
|
+
nodeStackStack: number[][];
|
|
23
|
+
exprc: number;
|
|
24
|
+
exprcStack: number[];
|
|
25
|
+
nodePool: any[];
|
|
26
|
+
nodeMap: Record<string, number>;
|
|
27
|
+
coords: Record<string, any>;
|
|
28
|
+
inStr?: number;
|
|
29
|
+
nextToken?: number;
|
|
30
|
+
cc?: Function | null;
|
|
31
|
+
errors?: any[];
|
|
32
|
+
quoteCharStack?: number[];
|
|
33
|
+
};
|
|
34
|
+
scan?: any;
|
|
35
|
+
}
|
|
36
|
+
declare global {
|
|
37
|
+
interface Window {
|
|
38
|
+
gcexports: {
|
|
39
|
+
topEnv: (ctx: Context) => EnvEntry;
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
};
|
|
42
|
+
isSynthetic?: boolean;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graffiticode/parser",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
8
|
-
"
|
|
9
|
-
"./parser": "./src/index.js"
|
|
10
|
-
},
|
|
8
|
+
"main": "./src/index.js",
|
|
11
9
|
"devDependencies": {
|
|
12
10
|
"eslint": "^8.38.0",
|
|
13
11
|
"jest": "^29.5.0",
|