@graffiticode/parser 0.1.0 → 0.1.2

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 (71) hide show
  1. package/dist/api/src/config/config.d.ts +3 -0
  2. package/dist/api/src/config/config.js +4 -0
  3. package/dist/api/src/config/config.js.map +1 -0
  4. package/dist/api/src/config/index.d.ts +1 -0
  5. package/dist/api/src/config/index.js +3 -0
  6. package/dist/api/src/config/index.js.map +1 -0
  7. package/dist/api/src/lang/base-url.d.ts +7 -0
  8. package/dist/api/src/lang/base-url.js +24 -0
  9. package/dist/api/src/lang/base-url.js.map +1 -0
  10. package/dist/api/src/lang/compile.d.ts +4 -0
  11. package/dist/api/src/lang/compile.js +6 -0
  12. package/dist/api/src/lang/compile.js.map +1 -0
  13. package/dist/api/src/lang/get-asset.d.ts +4 -0
  14. package/dist/api/src/lang/get-asset.js +9 -0
  15. package/dist/api/src/lang/get-asset.js.map +1 -0
  16. package/dist/api/src/lang/index.d.ts +4 -0
  17. package/dist/api/src/lang/index.js +22 -0
  18. package/dist/api/src/lang/index.js.map +1 -0
  19. package/dist/api/src/lang/ping-lang.d.ts +5 -0
  20. package/dist/api/src/lang/ping-lang.js +31 -0
  21. package/dist/api/src/lang/ping-lang.js.map +1 -0
  22. package/dist/api/src/util.d.ts +23 -0
  23. package/dist/api/src/util.js +187 -0
  24. package/dist/api/src/util.js.map +1 -0
  25. package/dist/parser/src/ast.d.ts +58 -0
  26. package/dist/parser/src/ast.js +683 -0
  27. package/dist/parser/src/ast.js.map +1 -0
  28. package/dist/parser/src/env.d.ts +8 -0
  29. package/dist/parser/src/env.js +38 -0
  30. package/dist/parser/src/env.js.map +1 -0
  31. package/dist/parser/src/fold.d.ts +4 -0
  32. package/dist/parser/src/fold.js +217 -0
  33. package/dist/parser/src/fold.js.map +1 -0
  34. package/dist/parser/src/folder.d.ts +30 -0
  35. package/dist/parser/src/folder.js +231 -0
  36. package/dist/parser/src/folder.js.map +1 -0
  37. package/dist/parser/src/index.d.ts +5 -0
  38. package/dist/parser/src/index.js +6 -0
  39. package/dist/parser/src/index.js.map +1 -0
  40. package/dist/parser/src/parse.d.ts +56 -0
  41. package/dist/parser/src/parse.js +902 -0
  42. package/dist/parser/src/parse.js.map +1 -0
  43. package/dist/parser/src/parser.d.ts +17 -0
  44. package/dist/parser/src/parser.js +89 -0
  45. package/dist/parser/src/parser.js.map +1 -0
  46. package/dist/parser/src/parserForTests.d.ts +3 -0
  47. package/dist/parser/src/parserForTests.js +4 -0
  48. package/dist/parser/src/parserForTests.js.map +1 -0
  49. package/dist/parser/src/stringstream.d.ts +10 -0
  50. package/dist/parser/src/stringstream.js +21 -0
  51. package/dist/parser/src/stringstream.js.map +1 -0
  52. package/dist/parser/src/testing/index.d.ts +2 -0
  53. package/dist/parser/src/testing/index.js +17 -0
  54. package/dist/parser/src/testing/index.js.map +1 -0
  55. package/dist/parser/src/types.d.ts +44 -0
  56. package/dist/parser/src/types.js +2 -0
  57. package/dist/parser/src/types.js.map +1 -0
  58. package/package.json +5 -9
  59. package/src/ast.js +730 -0
  60. package/src/env.js +50 -0
  61. package/src/folder.js +249 -0
  62. package/src/folder.spec.js +42 -0
  63. package/src/parse.js +35 -935
  64. package/src/parse.spec.js +118 -0
  65. package/src/parse.spec.js~ +119 -0
  66. package/src/parse.ts~ +1037 -0
  67. package/src/parser.spec.js +11 -35
  68. package/src/{parser.js~ → parser.ts~} +25 -7
  69. package/src/stringstream.js +22 -0
  70. package/src/fold.js +0 -235
  71. 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,3 @@
1
+ import { parser } from './parser.js';
2
+ import { buildParser } from './parser.js';
3
+ export { parser, buildParser };
@@ -0,0 +1,4 @@
1
+ // This file is just for providing compatibility with the JS tests
2
+ import { parser, buildParser } from './parser.js';
3
+ export { parser, buildParser };
4
+ //# sourceMappingURL=parserForTests.js.map
@@ -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,10 @@
1
+ export declare class StringStream {
2
+ pos: number;
3
+ start: number;
4
+ string: string;
5
+ tabSize: number;
6
+ constructor(string: string, tabSize?: number);
7
+ peek(): string | undefined;
8
+ next(): string | undefined;
9
+ backUp(n: number): void;
10
+ }
@@ -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,2 @@
1
+ export function mockPromiseError(err: any): import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
2
+ export function mockPromiseValue(value: any): import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,16 +1,14 @@
1
1
  {
2
2
  "name": "@graffiticode/parser",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
- "exports": {
9
- "./parser": "./src/index.js"
10
- },
8
+ "main": "./src/index.js",
11
9
  "devDependencies": {
12
10
  "eslint": "^8.38.0",
13
- "jest": "^29.5.0",
11
+ "jest": "^29.7.0",
14
12
  "supertest": "^6.3.3"
15
13
  },
16
14
  "scripts": {
@@ -20,8 +18,6 @@
20
18
  },
21
19
  "keywords": [],
22
20
  "author": "",
23
- "license": "ISC",
24
- "description": "",
25
- "dependencies": {
26
- }
21
+ "license": "MIT",
22
+ "description": ""
27
23
  }