@gmb/bitmark-parser-generator 1.5.12 → 1.5.13

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 (48) hide show
  1. package/dist/browser/bitmark-parser-generator.min.js +1 -1
  2. package/dist/browser/bundle-report.html +2 -2
  3. package/dist/cjs/ast/Ast.js +13 -13
  4. package/dist/cjs/ast/Ast.js.map +1 -1
  5. package/dist/cjs/generated/build-info.js +1 -1
  6. package/dist/cjs/generated/parser/text/text-peggy-parser.js +729 -642
  7. package/dist/cjs/generated/parser/text/text-peggy-parser.js.map +1 -1
  8. package/dist/cjs/generator/AstWalkerGenerator.js +83 -0
  9. package/dist/cjs/generator/AstWalkerGenerator.js.map +1 -0
  10. package/dist/cjs/generator/bitmark/BitmarkGenerator.js +144 -180
  11. package/dist/cjs/generator/bitmark/BitmarkGenerator.js.map +1 -1
  12. package/dist/cjs/generator/json/JsonGenerator.js +66 -95
  13. package/dist/cjs/generator/json/JsonGenerator.js.map +1 -1
  14. package/dist/cjs/generator/text/TextGenerator.js +36 -73
  15. package/dist/cjs/generator/text/TextGenerator.js.map +1 -1
  16. package/dist/cjs/model/enum/TextNodeType.js +1 -0
  17. package/dist/cjs/model/enum/TextNodeType.js.map +1 -1
  18. package/dist/esm/ast/Ast.js +13 -13
  19. package/dist/esm/ast/Ast.js.map +1 -1
  20. package/dist/esm/generated/build-info.js +1 -1
  21. package/dist/esm/generated/parser/text/text-peggy-parser.js +729 -642
  22. package/dist/esm/generated/parser/text/text-peggy-parser.js.map +1 -1
  23. package/dist/esm/generator/AstWalkerGenerator.js +80 -0
  24. package/dist/esm/generator/AstWalkerGenerator.js.map +1 -0
  25. package/dist/esm/generator/bitmark/BitmarkGenerator.js +144 -180
  26. package/dist/esm/generator/bitmark/BitmarkGenerator.js.map +1 -1
  27. package/dist/esm/generator/json/JsonGenerator.js +66 -95
  28. package/dist/esm/generator/json/JsonGenerator.js.map +1 -1
  29. package/dist/esm/generator/text/TextGenerator.js +36 -73
  30. package/dist/esm/generator/text/TextGenerator.js.map +1 -1
  31. package/dist/esm/model/enum/TextNodeType.js +1 -0
  32. package/dist/esm/model/enum/TextNodeType.js.map +1 -1
  33. package/dist/types/ast/Ast.d.ts +4 -8
  34. package/dist/types/ast/Ast.d.ts.map +1 -1
  35. package/dist/types/generated/parser/text/text-peggy-parser.d.ts.map +1 -1
  36. package/dist/types/generator/AstWalkerGenerator.d.ts +32 -0
  37. package/dist/types/generator/AstWalkerGenerator.d.ts.map +1 -0
  38. package/dist/types/generator/Generator.d.ts +2 -2
  39. package/dist/types/generator/Generator.d.ts.map +1 -1
  40. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts +121 -127
  41. package/dist/types/generator/bitmark/BitmarkGenerator.d.ts.map +1 -1
  42. package/dist/types/generator/json/JsonGenerator.d.ts +43 -48
  43. package/dist/types/generator/json/JsonGenerator.d.ts.map +1 -1
  44. package/dist/types/generator/text/TextGenerator.d.ts +13 -17
  45. package/dist/types/generator/text/TextGenerator.d.ts.map +1 -1
  46. package/dist/types/model/enum/TextNodeType.d.ts +2 -0
  47. package/dist/types/model/enum/TextNodeType.d.ts.map +1 -1
  48. package/package.json +1 -1
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AstWalkerGenerator = void 0;
4
+ const Ast_1 = require("../ast/Ast");
5
+ /**
6
+ * Generator that walks bitmark AST.
7
+ *
8
+ * The implementation should implement functions with the correct naming, and these will be called when
9
+ * walking the AST:
10
+ *
11
+ * enter_<nodeKey>() - called when entering a branch node
12
+ * between_<nodeKey>() - called when between child nodes
13
+ * exit_<nodeKey>() - called when exiting a branch node
14
+ * leaf_<nodeKey>() - called when entering a leaf node
15
+ */
16
+ class AstWalkerGenerator {
17
+ constructor() {
18
+ this.ast = new Ast_1.Ast();
19
+ // Debugging
20
+ this.debugGenerationInline = false;
21
+ this.printed = false;
22
+ }
23
+ enter(node, route, context) {
24
+ let res = void 0;
25
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
+ const gen = this;
27
+ const funcName = `enter_${node.key}`;
28
+ if (!this.printed) {
29
+ this.printed = true;
30
+ }
31
+ if (this.debugGenerationInline)
32
+ this.writeInlineDebug(node.key, { open: true });
33
+ if (typeof gen[funcName] === 'function') {
34
+ res = gen[funcName](node, route, context);
35
+ }
36
+ return res;
37
+ }
38
+ between(node, left, right, route, context) {
39
+ let res = void 0;
40
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
41
+ const gen = this;
42
+ const funcName = `between_${node.key}`;
43
+ if (this.debugGenerationInline)
44
+ this.writeInlineDebug(node.key, { single: true });
45
+ if (typeof gen[funcName] === 'function') {
46
+ res = gen[funcName](node, left, right, route, context);
47
+ }
48
+ return res;
49
+ }
50
+ exit(node, route, context) {
51
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
+ const gen = this;
53
+ const funcName = `exit_${node.key}`;
54
+ if (this.debugGenerationInline)
55
+ this.writeInlineDebug(node.key, { close: true });
56
+ if (typeof gen[funcName] === 'function') {
57
+ gen[funcName](node, route, context);
58
+ }
59
+ }
60
+ leaf(node, route, context) {
61
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
62
+ const gen = this;
63
+ const funcName = `leaf_${node.key}`;
64
+ if (this.debugGenerationInline)
65
+ this.writeInlineDebug(node.key, { open: true });
66
+ if (typeof gen[funcName] === 'function') {
67
+ gen[funcName](node, route, context);
68
+ }
69
+ if (this.debugGenerationInline)
70
+ this.writeInlineDebug(node.key, { close: true });
71
+ }
72
+ //
73
+ // HELPER FUNCTIONS
74
+ //
75
+ getParentNode(route, nodesBack = 1) {
76
+ if (route.length > nodesBack + 1) {
77
+ return route[route.length - nodesBack - 1];
78
+ }
79
+ return undefined;
80
+ }
81
+ }
82
+ exports.AstWalkerGenerator = AstWalkerGenerator;
83
+ //# sourceMappingURL=AstWalkerGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AstWalkerGenerator.js","sourceRoot":"","sources":["../../../src/generator/AstWalkerGenerator.ts"],"names":[],"mappings":"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"}