hclang 0.1.0 → 0.5.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 (153) hide show
  1. package/README.md +25 -3
  2. package/lib/src/cli/bin.js +4 -0
  3. package/lib/src/cli/hc.js +45 -0
  4. package/lib/src/execute/eval-pipe.js +15 -0
  5. package/lib/src/execute/evaluate.js +10 -0
  6. package/lib/src/execute/execute.js +18 -0
  7. package/lib/src/execute/frame-space.js +17 -0
  8. package/lib/src/execute/hc-eval.js +105 -0
  9. package/lib/src/execute/hc-log.js +39 -0
  10. package/lib/src/execute/hc-test.js +43 -0
  11. package/lib/src/execute/lex-bytes.js +42 -0
  12. package/lib/src/execute/lex-pipe.js +56 -0
  13. package/lib/src/execute/lex.js +110 -0
  14. package/lib/src/execute/lexer.js +24 -0
  15. package/lib/src/execute/parse-pipe.js +52 -0
  16. package/lib/src/execute/syntax.js +36 -0
  17. package/lib/src/execute/terminals.js +54 -0
  18. package/lib/src/execute.js +3 -0
  19. package/lib/src/frames/frame-alias.js +45 -0
  20. package/lib/src/frames/frame-arg.js +62 -0
  21. package/lib/src/frames/frame-array.js +47 -0
  22. package/lib/src/frames/frame-atom.js +41 -0
  23. package/lib/src/frames/frame-blob.js +104 -0
  24. package/lib/src/frames/frame-bytes.js +31 -0
  25. package/lib/src/frames/frame-comment.js +28 -0
  26. package/lib/src/frames/frame-doc.js +19 -0
  27. package/lib/src/frames/frame-expr.js +34 -0
  28. package/lib/src/frames/frame-group.js +31 -0
  29. package/lib/src/frames/frame-lazy.js +39 -0
  30. package/lib/src/frames/frame-list.js +58 -0
  31. package/lib/src/frames/frame-name.js +29 -0
  32. package/lib/src/frames/frame-note.js +104 -0
  33. package/lib/src/frames/frame-number.js +28 -0
  34. package/lib/src/frames/frame-schema.js +47 -0
  35. package/lib/src/frames/frame-string.js +41 -0
  36. package/lib/src/frames/frame-symbol.js +75 -0
  37. package/lib/src/frames/frame.js +75 -0
  38. package/lib/src/frames/meta-frame.js +99 -0
  39. package/lib/src/frames.js +24 -0
  40. package/lib/src/index.js +5 -0
  41. package/lib/src/maml/tag.js +17 -0
  42. package/lib/src/maml.js +26 -0
  43. package/lib/src/ops/conditionals.js +14 -0
  44. package/lib/src/ops/frame-curry.js +17 -0
  45. package/lib/src/ops/frame-ops.js +24 -0
  46. package/lib/src/ops/iterators.js +28 -0
  47. package/lib/src/ops.js +12 -0
  48. package/lib/src/version.js +3 -0
  49. package/lib/test/execute/eval-pipe-spec.js +45 -0
  50. package/lib/test/execute/evaluate-spec.js +76 -0
  51. package/lib/test/execute/execute-spec.js +115 -0
  52. package/lib/test/execute/hc-eval-spec.js +68 -0
  53. package/lib/test/execute/hc-test-spec.js +47 -0
  54. package/lib/test/execute/lex-pipe-spec.js +25 -0
  55. package/lib/test/execute/parse-spec.js +67 -0
  56. package/lib/test/execute/script-spec.js +29 -0
  57. package/lib/test/frames/frame-alias-spec.js +36 -0
  58. package/lib/test/frames/frame-arg-spec.js +57 -0
  59. package/lib/test/frames/frame-array-spec.js +54 -0
  60. package/lib/test/frames/frame-blob-spec.js +56 -0
  61. package/lib/test/frames/frame-bytes-spec.js +16 -0
  62. package/lib/test/frames/frame-comment-spec.js +17 -0
  63. package/lib/test/frames/frame-expr-spec.js +60 -0
  64. package/lib/test/frames/frame-group-spec.js +27 -0
  65. package/lib/test/frames/frame-lazy-spec.js +49 -0
  66. package/lib/test/frames/frame-name-spec.js +26 -0
  67. package/lib/test/frames/frame-note-spec.js +48 -0
  68. package/lib/test/frames/frame-number-spec.js +17 -0
  69. package/lib/test/frames/frame-schema-spec.js +54 -0
  70. package/lib/test/frames/frame-spec.js +31 -0
  71. package/lib/test/frames/frame-string-spec.js +43 -0
  72. package/lib/test/frames/frame-symbol-spec.js +64 -0
  73. package/lib/test/frames/meta-frame-spec.js +75 -0
  74. package/lib/test/maml/maml-spec.js +42 -0
  75. package/lib/test/maml/tag-spec.js +53 -0
  76. package/lib/test/ops/iterators-spec.js +70 -0
  77. package/package.json +61 -34
  78. package/lib/bin.d.ts +0 -0
  79. package/lib/bin.js +0 -6
  80. package/lib/execute/actions.d.ts +0 -13
  81. package/lib/execute/actions.js +0 -48
  82. package/lib/execute/eval-pipe.d.ts +0 -5
  83. package/lib/execute/eval-pipe.js +0 -32
  84. package/lib/execute/evaluate.d.ts +0 -2
  85. package/lib/execute/evaluate.js +0 -20
  86. package/lib/execute/frame-space.d.ts +0 -7
  87. package/lib/execute/frame-space.js +0 -32
  88. package/lib/execute/group-pipe.d.ts +0 -6
  89. package/lib/execute/group-pipe.js +0 -27
  90. package/lib/execute/lex-pipe.d.ts +0 -12
  91. package/lib/execute/lex-pipe.js +0 -55
  92. package/lib/execute/lex.d.ts +0 -26
  93. package/lib/execute/lex.js +0 -94
  94. package/lib/execute/lexer.d.ts +0 -9
  95. package/lib/execute/lexer.js +0 -55
  96. package/lib/execute/parse-pipe.d.ts +0 -8
  97. package/lib/execute/parse-pipe.js +0 -49
  98. package/lib/execute/parser.d.ts +0 -8
  99. package/lib/execute/parser.js +0 -49
  100. package/lib/execute/syntax.d.ts +0 -2
  101. package/lib/execute/syntax.js +0 -23
  102. package/lib/execute/terminals.d.ts +0 -10
  103. package/lib/execute/terminals.js +0 -48
  104. package/lib/execute.d.ts +0 -1
  105. package/lib/execute.js +0 -9
  106. package/lib/frames/frame-arg.d.ts +0 -24
  107. package/lib/frames/frame-arg.js +0 -81
  108. package/lib/frames/frame-array.d.ts +0 -15
  109. package/lib/frames/frame-array.js +0 -50
  110. package/lib/frames/frame-atom.d.ts +0 -17
  111. package/lib/frames/frame-atom.js +0 -52
  112. package/lib/frames/frame-comment.d.ts +0 -12
  113. package/lib/frames/frame-comment.js +0 -36
  114. package/lib/frames/frame-doc.d.ts +0 -9
  115. package/lib/frames/frame-doc.js +0 -31
  116. package/lib/frames/frame-expr.d.ts +0 -9
  117. package/lib/frames/frame-expr.js +0 -48
  118. package/lib/frames/frame-group.d.ts +0 -7
  119. package/lib/frames/frame-group.js +0 -39
  120. package/lib/frames/frame-lazy.d.ts +0 -13
  121. package/lib/frames/frame-lazy.js +0 -54
  122. package/lib/frames/frame-list.d.ts +0 -15
  123. package/lib/frames/frame-list.js +0 -51
  124. package/lib/frames/frame-name.d.ts +0 -12
  125. package/lib/frames/frame-name.js +0 -37
  126. package/lib/frames/frame-number.d.ts +0 -9
  127. package/lib/frames/frame-number.js +0 -31
  128. package/lib/frames/frame-string.d.ts +0 -14
  129. package/lib/frames/frame-string.js +0 -47
  130. package/lib/frames/frame-symbol.d.ts +0 -18
  131. package/lib/frames/frame-symbol.js +0 -64
  132. package/lib/frames/frame.d.ts +0 -22
  133. package/lib/frames/frame.js +0 -73
  134. package/lib/frames/meta-frame.d.ts +0 -26
  135. package/lib/frames/meta-frame.js +0 -85
  136. package/lib/frames.d.ts +0 -15
  137. package/lib/frames.js +0 -36
  138. package/lib/hc.d.ts +0 -0
  139. package/lib/hc.js +0 -13
  140. package/lib/index.d.ts +0 -3
  141. package/lib/index.js +0 -9
  142. package/lib/maml/tag.d.ts +0 -2
  143. package/lib/maml/tag.js +0 -19
  144. package/lib/maml.d.ts +0 -2
  145. package/lib/maml.js +0 -30
  146. package/lib/ops/frame-curry.d.ts +0 -9
  147. package/lib/ops/frame-curry.js +0 -31
  148. package/lib/ops/frame-ops.d.ts +0 -12
  149. package/lib/ops/frame-ops.js +0 -41
  150. package/lib/ops/iterators.d.ts +0 -2
  151. package/lib/ops/iterators.js +0 -12
  152. package/lib/ops.d.ts +0 -3
  153. package/lib/ops.js +0 -8
package/lib/bin.js DELETED
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- var chalk_1 = require("chalk");
5
- console.log(chalk_1.green("MAML; "));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Jpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwrQkFBNEI7QUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FDVCxhQUFLLENBQ0gsUUFBUSxDQUNULENBQ0YsQ0FBQyJ9
@@ -1,13 +0,0 @@
1
- import * as frame from "../frames";
2
- export declare type LexOptions = {
3
- [key: string]: any;
4
- };
5
- export declare type OptionMap = {
6
- [key: string]: LexOptions;
7
- };
8
- export declare class FrameStatement extends frame.Frame {
9
- }
10
- export declare class FrameLazyGroup extends frame.FrameLazy {
11
- constructor(data: Array<frame.FrameExpr>, meta?: frame.Context);
12
- }
13
- export declare const actions: OptionMap;
@@ -1,48 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return function (d, b) {
7
- extendStatics(d, b);
8
- function __() { this.constructor = d; }
9
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10
- };
11
- })();
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- var frame = require("../frames");
14
- var FrameStatement = (function (_super) {
15
- __extends(FrameStatement, _super);
16
- function FrameStatement() {
17
- return _super !== null && _super.apply(this, arguments) || this;
18
- }
19
- return FrameStatement;
20
- }(frame.Frame));
21
- exports.FrameStatement = FrameStatement;
22
- var FrameLazyGroup = (function (_super) {
23
- __extends(FrameLazyGroup, _super);
24
- function FrameLazyGroup(data, meta) {
25
- if (meta === void 0) { meta = frame.NilContext; }
26
- var _this = this;
27
- var group = new frame.FrameGroup(data);
28
- _this = _super.call(this, [group], meta) || this;
29
- return _this;
30
- }
31
- return FrameLazyGroup;
32
- }(frame.FrameLazy));
33
- exports.FrameLazyGroup = FrameLazyGroup;
34
- ;
35
- exports.actions = {
36
- "\n": {},
37
- ",": {},
38
- ";": { wrap: FrameStatement },
39
- };
40
- function addGroup(grouper) {
41
- var sample = new grouper([], frame.NilContext);
42
- var open = sample.string_open();
43
- var close = sample.string_close();
44
- exports.actions[open] = { push: grouper };
45
- exports.actions[close] = { pop: grouper };
46
- }
47
- addGroup(frame.FrameGroup);
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGVjdXRlL2FjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsaUNBQW1DO0FBTW5DO0lBQW9DLGtDQUFXO0lBQS9DOztJQUVBLENBQUM7SUFBRCxxQkFBQztBQUFELENBQUMsQUFGRCxDQUFvQyxLQUFLLENBQUMsS0FBSyxHQUU5QztBQUZZLHdDQUFjO0FBSTNCO0lBQW9DLGtDQUFlO0lBQ2pELHdCQUFZLElBQTRCLEVBQUUsSUFBc0M7UUFBdEMscUJBQUEsRUFBQSxPQUFzQixLQUFLLENBQUMsVUFBVTtRQUFoRixpQkFHQztRQUZDLElBQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxRQUFBLGtCQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQUM7O0lBQ3ZCLENBQUM7SUFDSCxxQkFBQztBQUFELENBQUMsQUFMRCxDQUFvQyxLQUFLLENBQUMsU0FBUyxHQUtsRDtBQUxZLHdDQUFjO0FBSzFCLENBQUM7QUFFVyxRQUFBLE9BQU8sR0FBYztJQUNoQyxJQUFJLEVBQUUsRUFBRTtJQUNSLEdBQUcsRUFBRSxFQUFFO0lBQ1AsR0FBRyxFQUFFLEVBQUMsSUFBSSxFQUFFLGNBQWMsRUFBQztDQUM1QixDQUFDO0FBRUYsa0JBQWtCLE9BQWdDO0lBQ2hELElBQU0sTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDakQsSUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xDLElBQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwQyxlQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFDLENBQUM7SUFDaEMsZUFBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUMsR0FBRyxFQUFFLE9BQU8sRUFBQyxDQUFDO0FBQ2xDLENBQUM7QUFFRCxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDIn0=
@@ -1,5 +0,0 @@
1
- import { Context, Frame } from "../frames";
2
- export declare class EvalPipe extends Frame {
3
- constructor(out: Frame, meta?: Context);
4
- apply(expr: Frame, context: Frame): Frame;
5
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return function (d, b) {
7
- extendStatics(d, b);
8
- function __() { this.constructor = d; }
9
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10
- };
11
- })();
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- var frames_1 = require("../frames");
14
- var EvalPipe = (function (_super) {
15
- __extends(EvalPipe, _super);
16
- function EvalPipe(out, meta) {
17
- if (meta === void 0) { meta = frames_1.NilContext; }
18
- var _this = _super.call(this, meta) || this;
19
- _this.set(frames_1.Frame.kOUT, out);
20
- _this.up = out;
21
- return _this;
22
- }
23
- EvalPipe.prototype.apply = function (expr, context) {
24
- var out = this.get(frames_1.Frame.kOUT);
25
- var result = expr.in([context, out]);
26
- out.call(result);
27
- return result;
28
- };
29
- return EvalPipe;
30
- }(frames_1.Frame));
31
- exports.EvalPipe = EvalPipe;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZhbC1waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dGUvZXZhbC1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLG9DQUF1RDtBQUV2RDtJQUE4Qiw0QkFBSztJQUNqQyxrQkFBWSxHQUFVLEVBQUUsSUFBMEI7UUFBMUIscUJBQUEsRUFBQSwwQkFBMEI7UUFBbEQsWUFDRSxrQkFBTSxJQUFJLENBQUMsU0FHWjtRQUZDLEtBQUksQ0FBQyxHQUFHLENBQUMsY0FBSyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxQixLQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQzs7SUFDaEIsQ0FBQztJQUVNLHdCQUFLLEdBQVosVUFBYSxJQUFXLEVBQUUsT0FBYztRQUN0QyxJQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQixNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFDSCxlQUFDO0FBQUQsQ0FBQyxBQWJELENBQThCLGNBQUssR0FhbEM7QUFiWSw0QkFBUSJ9
@@ -1,2 +0,0 @@
1
- import { Context, Frame } from "../frames";
2
- export declare const evaluate: (input: string, context?: Context) => Frame;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var frames_1 = require("../frames");
4
- var eval_pipe_1 = require("./eval-pipe");
5
- var group_pipe_1 = require("./group-pipe");
6
- var lex_pipe_1 = require("./lex-pipe");
7
- var parse_pipe_1 = require("./parse-pipe");
8
- exports.evaluate = function (input, context) {
9
- if (context === void 0) { context = frames_1.NilContext; }
10
- var result = new frames_1.FrameArray([], context);
11
- var evaluator = new eval_pipe_1.EvalPipe(result);
12
- var grouper = new group_pipe_1.GroupPipe(evaluator);
13
- var parser = new parse_pipe_1.ParsePipe(grouper);
14
- var lexer = new lex_pipe_1.LexPipe(parser);
15
- var status = lexer.lex_string(input);
16
- if (status !== lexer) {
17
- }
18
- return result;
19
- };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZhbHVhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhlY3V0ZS9ldmFsdWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG9DQUF3RztBQUN4Ryx5Q0FBdUM7QUFDdkMsMkNBQXlDO0FBQ3pDLHVDQUFxQztBQUNyQywyQ0FBeUM7QUFFNUIsUUFBQSxRQUFRLEdBQUcsVUFBQyxLQUFhLEVBQUUsT0FBb0I7SUFBcEIsd0JBQUEsRUFBQSw2QkFBb0I7SUFDMUQsSUFBTSxNQUFNLEdBQUcsSUFBSSxtQkFBVSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxJQUFNLFNBQVMsR0FBRyxJQUFJLG9CQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsSUFBTSxPQUFPLEdBQUcsSUFBSSxzQkFBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLElBQU0sTUFBTSxHQUFHLElBQUksc0JBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxJQUFNLEtBQUssR0FBRyxJQUFJLGtCQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbEMsSUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztJQUV2QixDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUMifQ==
@@ -1,7 +0,0 @@
1
- import * as frame from "../frames";
2
- export declare class FrameSpace extends frame.FrameAtom {
3
- static readonly SPACE_CHAR: string;
4
- string_start(): string;
5
- canInclude(char: string): boolean;
6
- isVoid(): boolean;
7
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return function (d, b) {
7
- extendStatics(d, b);
8
- function __() { this.constructor = d; }
9
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10
- };
11
- })();
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- var frame = require("../frames");
14
- var FrameSpace = (function (_super) {
15
- __extends(FrameSpace, _super);
16
- function FrameSpace() {
17
- return _super !== null && _super.apply(this, arguments) || this;
18
- }
19
- FrameSpace.prototype.string_start = function () { return FrameSpace.SPACE_CHAR; };
20
- ;
21
- FrameSpace.prototype.canInclude = function (char) {
22
- return char === FrameSpace.SPACE_CHAR;
23
- };
24
- FrameSpace.prototype.isVoid = function () {
25
- return true;
26
- };
27
- return FrameSpace;
28
- }(frame.FrameAtom));
29
- FrameSpace.SPACE_CHAR = " ";
30
- exports.FrameSpace = FrameSpace;
31
- ;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtc3BhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhlY3V0ZS9mcmFtZS1zcGFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxpQ0FBbUM7QUFFbkM7SUFBZ0MsOEJBQWU7SUFBL0M7O0lBWUEsQ0FBQztJQVRRLGlDQUFZLEdBQW5CLGNBQXdCLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFFakQsK0JBQVUsR0FBakIsVUFBa0IsSUFBWTtRQUM1QixNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxVQUFVLENBQUM7SUFDeEMsQ0FBQztJQUVNLDJCQUFNLEdBQWI7UUFDRSxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNILGlCQUFDO0FBQUQsQ0FBQyxBQVpELENBQWdDLEtBQUssQ0FBQyxTQUFTO0FBQ3RCLHFCQUFVLEdBQUcsR0FBRyxDQUFDO0FBRDdCLGdDQUFVO0FBWXRCLENBQUMifQ==
@@ -1,6 +0,0 @@
1
- import { Frame, FrameGroup } from "../frames";
2
- import { ParsePipe } from "./parse-pipe";
3
- export declare class GroupPipe extends ParsePipe {
4
- constructor(out: Frame);
5
- protected makeFrame(): FrameGroup;
6
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return function (d, b) {
7
- extendStatics(d, b);
8
- function __() { this.constructor = d; }
9
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10
- };
11
- })();
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- var frames_1 = require("../frames");
14
- var parse_pipe_1 = require("./parse-pipe");
15
- var GroupPipe = (function (_super) {
16
- __extends(GroupPipe, _super);
17
- function GroupPipe(out) {
18
- return _super.call(this, out) || this;
19
- }
20
- GroupPipe.prototype.makeFrame = function () {
21
- var current = this.asArray();
22
- return new frames_1.FrameGroup(current);
23
- };
24
- return GroupPipe;
25
- }(parse_pipe_1.ParsePipe));
26
- exports.GroupPipe = GroupPipe;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtcGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGVjdXRlL2dyb3VwLXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsb0NBQThDO0FBQzlDLDJDQUF5QztBQUd6QztJQUErQiw2QkFBUztJQUN0QyxtQkFBWSxHQUFVO2VBQ3BCLGtCQUFNLEdBQUcsQ0FBQztJQUNaLENBQUM7SUFFUyw2QkFBUyxHQUFuQjtRQUNFLElBQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixNQUFNLENBQUMsSUFBSSxtQkFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDSCxnQkFBQztBQUFELENBQUMsQUFURCxDQUErQixzQkFBUyxHQVN2QztBQVRZLDhCQUFTIn0=
@@ -1,12 +0,0 @@
1
- import { Frame, FrameString } from "../frames";
2
- import { ParsePipe } from "./parse-pipe";
3
- export declare class LexPipe extends Frame {
4
- constructor(out: Frame);
5
- lex_string(input: string): Frame;
6
- lex(source: FrameString): Frame;
7
- parser(): ParsePipe;
8
- push(): Frame;
9
- pop(): Frame;
10
- finish(): Frame;
11
- next(): this;
12
- }
@@ -1,55 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return function (d, b) {
7
- extendStatics(d, b);
8
- function __() { this.constructor = d; }
9
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10
- };
11
- })();
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- var frames_1 = require("../frames");
14
- var syntax_1 = require("./syntax");
15
- var LexPipe = (function (_super) {
16
- __extends(LexPipe, _super);
17
- function LexPipe(out) {
18
- var _this = this;
19
- syntax_1.syntax[LexPipe.kOUT] = out;
20
- _this = _super.call(this, syntax_1.syntax) || this;
21
- return _this;
22
- }
23
- LexPipe.prototype.lex_string = function (input) {
24
- var source = new frames_1.FrameString(input);
25
- return this.lex(source);
26
- };
27
- LexPipe.prototype.lex = function (source) {
28
- return source.reduce(this);
29
- };
30
- LexPipe.prototype.parser = function () {
31
- return this.get(LexPipe.kOUT);
32
- };
33
- LexPipe.prototype.push = function () {
34
- var next_parser = this.parser().push();
35
- this.set(LexPipe.kOUT, next_parser);
36
- return this;
37
- };
38
- LexPipe.prototype.pop = function () {
39
- var next_parser = this.parser().pop();
40
- this.set(LexPipe.kOUT, next_parser);
41
- return this;
42
- };
43
- LexPipe.prototype.finish = function () {
44
- var output = frames_1.FrameSymbol.end();
45
- var out = this.get(frames_1.Frame.kOUT);
46
- return out.call(output);
47
- };
48
- LexPipe.prototype.next = function () {
49
- this.finish();
50
- return this;
51
- };
52
- return LexPipe;
53
- }(frames_1.Frame));
54
- exports.LexPipe = LexPipe;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV4LXBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhlY3V0ZS9sZXgtcGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSxvQ0FBcUU7QUFFckUsbUNBQWtDO0FBRWxDO0lBQTZCLDJCQUFLO0lBQ2hDLGlCQUFZLEdBQVU7UUFBdEIsaUJBSUM7UUFIQyxlQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUUzQixRQUFBLGtCQUFNLGVBQU0sQ0FBQyxTQUFDOztJQUNoQixDQUFDO0lBRU0sNEJBQVUsR0FBakIsVUFBa0IsS0FBYTtRQUM3QixJQUFNLE1BQU0sR0FBRyxJQUFJLG9CQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLHFCQUFHLEdBQVYsVUFBVyxNQUFtQjtRQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sd0JBQU0sR0FBYjtRQUNFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQWMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sc0JBQUksR0FBWDtRQUNFLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxxQkFBRyxHQUFWO1FBQ0UsSUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNwQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLHdCQUFNLEdBQWI7UUFDRSxJQUFNLE1BQU0sR0FBRyxvQkFBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLElBQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFTSxzQkFBSSxHQUFYO1FBQ0UsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNkLENBQUM7SUFDSCxjQUFDO0FBQUQsQ0FBQyxBQTFDRCxDQUE2QixjQUFLLEdBMENqQztBQTFDWSwwQkFBTyJ9
@@ -1,26 +0,0 @@
1
- import { Frame, FrameAtom, ISourced } from "../frames";
2
- export declare type Flag = {
3
- [key: string]: boolean;
4
- };
5
- export declare class Token extends FrameAtom {
6
- protected data: Frame;
7
- constructor(data: Frame);
8
- called_by(callee: Frame, parameter: Frame): Frame;
9
- protected toData(): any;
10
- }
11
- export declare class Lex extends Frame implements ISourced {
12
- protected factory: any;
13
- source: string;
14
- protected body: string;
15
- protected sample: FrameAtom;
16
- constructor(factory: any);
17
- call(argument: Frame, parameter?: Frame): Frame;
18
- getClassName(): string;
19
- toString(): string;
20
- protected isEnd(char: string): boolean;
21
- protected isTerminal(char: string): boolean;
22
- protected isQuote(): boolean;
23
- protected finish(argument: Frame, passAlong: boolean): Frame;
24
- protected exportFrame(): Frame;
25
- protected makeFrame(): Token;
26
- }
@@ -1,94 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return function (d, b) {
7
- extendStatics(d, b);
8
- function __() { this.constructor = d; }
9
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10
- };
11
- })();
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- var _ = require("lodash");
14
- var frames_1 = require("../frames");
15
- var terminals_1 = require("./terminals");
16
- var Token = (function (_super) {
17
- __extends(Token, _super);
18
- function Token(data) {
19
- var _this = _super.call(this, frames_1.NilContext) || this;
20
- _this.data = data;
21
- return _this;
22
- }
23
- Token.prototype.called_by = function (callee, parameter) {
24
- return callee.apply(this.data, parameter);
25
- };
26
- Token.prototype.toData = function () { return this.data; };
27
- return Token;
28
- }(frames_1.FrameAtom));
29
- exports.Token = Token;
30
- var Lex = (function (_super) {
31
- __extends(Lex, _super);
32
- function Lex(factory) {
33
- var _this = _super.call(this) || this;
34
- _this.factory = factory;
35
- _this.body = "";
36
- _this.sample = new factory("");
37
- _this.source = "";
38
- return _this;
39
- }
40
- Lex.prototype.call = function (argument, parameter) {
41
- if (parameter === void 0) { parameter = frames_1.Frame.nil; }
42
- var char = argument.toString();
43
- if (this.isEnd(char)) {
44
- return this.finish(argument, !this.isQuote());
45
- }
46
- if (this.isTerminal(char) && !this.isQuote()) {
47
- return this.finish(argument, true);
48
- }
49
- if (this.body === "") {
50
- this.body = this.source;
51
- }
52
- this.body = this.body + argument.toString();
53
- return this;
54
- };
55
- Lex.prototype.getClassName = function () {
56
- var funcNameRegex = /function (.{1,})\(/;
57
- var results = (funcNameRegex).exec(this.constructor.toString());
58
- return (results && results.length > 1) ? results[1] : "<class>";
59
- };
60
- Lex.prototype.toString = function () {
61
- return this.getClassName() + ("[" + this.body + "]");
62
- };
63
- Lex.prototype.isEnd = function (char) {
64
- return !this.sample.canInclude(char);
65
- };
66
- Lex.prototype.isTerminal = function (char) {
67
- var terms = _.keys(terminals_1.terminals);
68
- return _.includes(terms, char);
69
- };
70
- Lex.prototype.isQuote = function () {
71
- return (this.sample instanceof frames_1.FrameString);
72
- };
73
- Lex.prototype.finish = function (argument, passAlong) {
74
- this.exportFrame();
75
- if (passAlong) {
76
- var result = this.up.call(argument);
77
- return result;
78
- }
79
- return this.up;
80
- };
81
- Lex.prototype.exportFrame = function () {
82
- var output = this.makeFrame();
83
- var out = this.get(frames_1.Frame.kOUT);
84
- this.body = "";
85
- return out.call(output);
86
- };
87
- Lex.prototype.makeFrame = function () {
88
- var frame = new this.factory(this.body);
89
- return new Token(frame);
90
- };
91
- return Lex;
92
- }(frames_1.Frame));
93
- exports.Lex = Lex;
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dGUvbGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDBCQUE0QjtBQUM1QixvQ0FBNEY7QUFDNUYseUNBQXdDO0FBSXhDO0lBQTJCLHlCQUFTO0lBQ2xDLGVBQXNCLElBQVc7UUFBakMsWUFDRSxrQkFBTSxtQkFBVSxDQUFDLFNBQ2xCO1FBRnFCLFVBQUksR0FBSixJQUFJLENBQU87O0lBRWpDLENBQUM7SUFFTSx5QkFBUyxHQUFoQixVQUFpQixNQUFhLEVBQUUsU0FBZ0I7UUFDOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRVMsc0JBQU0sR0FBaEIsY0FBMEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9DLFlBQUM7QUFBRCxDQUFDLEFBVkQsQ0FBMkIsa0JBQVMsR0FVbkM7QUFWWSxzQkFBSztBQVlsQjtJQUF5Qix1QkFBSztJQU01QixhQUE2QixPQUFZO1FBQXpDLFlBQ0UsaUJBQU8sU0FHUjtRQUo0QixhQUFPLEdBQVAsT0FBTyxDQUFLO1FBSC9CLFVBQUksR0FBVyxFQUFFLENBQUM7UUFLMUIsS0FBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QixLQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQzs7SUFDbkIsQ0FBQztJQUVNLGtCQUFJLEdBQVgsVUFBWSxRQUFlLEVBQUUsU0FBcUI7UUFBckIsMEJBQUEsRUFBQSxZQUFZLGNBQUssQ0FBQyxHQUFHO1FBQ2hELElBQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FB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
@@ -1,9 +0,0 @@
1
- import { Frame, FrameString } from "../frames";
2
- import { LexOptions } from "./actions";
3
- export declare class Lexer extends Frame {
4
- constructor(out: Frame);
5
- lex_string(input: string): Frame;
6
- lex(source: FrameString): Frame;
7
- fold(argument: Frame): void;
8
- finish(options: LexOptions): Frame;
9
- }
@@ -1,55 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return function (d, b) {
7
- extendStatics(d, b);
8
- function __() { this.constructor = d; }
9
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10
- };
11
- })();
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- var frames_1 = require("../frames");
14
- var syntax_1 = require("./syntax");
15
- var LexTerminal = (function (_super) {
16
- __extends(LexTerminal, _super);
17
- function LexTerminal(options) {
18
- var _this = _super.call(this, frames_1.NilContext) || this;
19
- _this.options = options;
20
- _this.callme = true;
21
- return _this;
22
- }
23
- LexTerminal.prototype.apply = function (argument, parameter) {
24
- var source = argument;
25
- var options = parameter;
26
- return source.finish(options);
27
- };
28
- return LexTerminal;
29
- }(frames_1.Frame));
30
- var Lexer = (function (_super) {
31
- __extends(Lexer, _super);
32
- function Lexer(out) {
33
- var _this = this;
34
- syntax_1.syntax[Lexer.kOUT] = out;
35
- _this = _super.call(this, syntax_1.syntax) || this;
36
- return _this;
37
- }
38
- Lexer.prototype.lex_string = function (input) {
39
- var source = new frames_1.FrameString(input);
40
- return this.lex(source);
41
- };
42
- Lexer.prototype.lex = function (source) {
43
- return source.reduce(this);
44
- };
45
- Lexer.prototype.fold = function (argument) {
46
- var out = this.get(frames_1.Frame.kOUT);
47
- this.set(frames_1.Frame.kOUT, out.call(argument));
48
- };
49
- Lexer.prototype.finish = function (options) {
50
- return frames_1.Frame.nil;
51
- };
52
- return Lexer;
53
- }(frames_1.Frame));
54
- exports.Lexer = Lexer;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV4ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhlY3V0ZS9sZXhlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSxvQ0FBZ0Y7QUFJaEYsbUNBQWtDO0FBRWxDO0lBQTBCLCtCQUFLO0lBQzdCLHFCQUFzQixPQUFtQjtRQUF6QyxZQUNFLGtCQUFNLG1CQUFVLENBQUMsU0FFbEI7UUFIcUIsYUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUV2QyxLQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzs7SUFDckIsQ0FBQztJQUVNLDJCQUFLLEdBQVosVUFBYSxRQUFlLEVBQUUsU0FBZ0I7UUFDNUMsSUFBTSxNQUFNLEdBQUcsUUFBaUIsQ0FBQztRQUNqQyxJQUFNLE9BQU8sR0FBRyxTQUF1QixDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDSCxrQkFBQztBQUFELENBQUMsQUFYRCxDQUEwQixjQUFLLEdBVzlCO0FBRUQ7SUFBMkIseUJBQUs7SUFDOUIsZUFBWSxHQUFVO1FBQXRCLGlCQUdDO1FBRkMsZUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDekIsUUFBQSxrQkFBTSxlQUFNLENBQUMsU0FBQzs7SUFDaEIsQ0FBQztJQUVNLDBCQUFVLEdBQWpCLFVBQWtCLEtBQWE7UUFDN0IsSUFBTSxNQUFNLEdBQUcsSUFBSSxvQkFBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFTSxtQkFBRyxHQUFWLFVBQVcsTUFBbUI7UUFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLG9CQUFJLEdBQVgsVUFBWSxRQUFlO1FBQ3pCLElBQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBSyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLHNCQUFNLEdBQWIsVUFBYyxPQUFtQjtRQUMvQixNQUFNLENBQUMsY0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNuQixDQUFDO0lBQ0gsWUFBQztBQUFELENBQUMsQUF2QkQsQ0FBMkIsY0FBSyxHQXVCL0I7QUF2Qlksc0JBQUsifQ==
@@ -1,8 +0,0 @@
1
- import { Frame, FrameArray, FrameExpr } from "../frames";
2
- export declare class ParsePipe extends FrameArray {
3
- constructor(out: Frame);
4
- push(): Frame;
5
- pop(): Frame;
6
- finish(): Frame;
7
- protected makeFrame(): FrameExpr;
8
- }
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return function (d, b) {
7
- extendStatics(d, b);
8
- function __() { this.constructor = d; }
9
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10
- };
11
- })();
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- var frames_1 = require("../frames");
14
- var terminals_1 = require("./terminals");
15
- var ParsePipe = (function (_super) {
16
- __extends(ParsePipe, _super);
17
- function ParsePipe(out) {
18
- var _this = this;
19
- var meta = {};
20
- meta[ParsePipe.kOUT] = out;
21
- meta[frames_1.Frame.kEND] = terminals_1.Terminal.end();
22
- _this = _super.call(this, [], meta) || this;
23
- return _this;
24
- }
25
- ParsePipe.prototype.push = function () {
26
- var child = new ParsePipe(this);
27
- return child;
28
- };
29
- ParsePipe.prototype.pop = function () {
30
- var parent = this.get(ParsePipe.kOUT);
31
- return parent;
32
- };
33
- ParsePipe.prototype.finish = function () {
34
- var terminal = frames_1.FrameSymbol.end();
35
- var result = this.makeFrame();
36
- var out = this.get(frames_1.Frame.kOUT);
37
- out.call(result);
38
- out.call(terminal);
39
- this.reset();
40
- return result;
41
- };
42
- ParsePipe.prototype.makeFrame = function () {
43
- var current = this.asArray();
44
- return new frames_1.FrameExpr(current);
45
- };
46
- return ParsePipe;
47
- }(frames_1.FrameArray));
48
- exports.ParsePipe = ParsePipe;
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtcGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGVjdXRlL3BhcnNlLXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsb0NBQXNHO0FBQ3RHLHlDQUF1QztBQUV2QztJQUErQiw2QkFBVTtJQUN2QyxtQkFBWSxHQUFVO1FBQXRCLGlCQUtDO1FBSkMsSUFBTSxJQUFJLEdBQVksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsb0JBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNsQyxRQUFBLGtCQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBQzs7SUFDbEIsQ0FBQztJQUVNLHdCQUFJLEdBQVg7UUFDRSxJQUFNLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLHVCQUFHLEdBQVY7UUFDRSxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTSwwQkFBTSxHQUFiO1FBQ0UsSUFBTSxRQUFRLEdBQUcsb0JBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNuQyxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEMsSUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQixHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVTLDZCQUFTLEdBQW5CO1FBQ0UsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxJQUFJLGtCQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNILGdCQUFDO0FBQUQsQ0FBQyxBQWhDRCxDQUErQixtQkFBVSxHQWdDeEM7QUFoQ1ksOEJBQVMifQ==
@@ -1,8 +0,0 @@
1
- import { Frame, FrameArray, FrameExpr } from "../frames";
2
- export declare class Parser extends FrameArray {
3
- constructor(out: Frame);
4
- push(): Frame;
5
- pop(): Frame;
6
- finish(): Frame;
7
- protected makeFrame(): FrameExpr;
8
- }
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
- return function (d, b) {
7
- extendStatics(d, b);
8
- function __() { this.constructor = d; }
9
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
10
- };
11
- })();
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- var frames_1 = require("../frames");
14
- var terminals_1 = require("./terminals");
15
- var Parser = (function (_super) {
16
- __extends(Parser, _super);
17
- function Parser(out) {
18
- var _this = this;
19
- var meta = {};
20
- meta[Parser.kOUT] = out;
21
- meta[frames_1.Frame.kEND] = terminals_1.Terminal.end();
22
- _this = _super.call(this, [], meta) || this;
23
- return _this;
24
- }
25
- Parser.prototype.push = function () {
26
- var child = new Parser(this);
27
- return child;
28
- };
29
- Parser.prototype.pop = function () {
30
- var parent = this.get(Parser.kOUT);
31
- return parent;
32
- };
33
- Parser.prototype.finish = function () {
34
- var terminal = frames_1.FrameSymbol.end();
35
- var result = this.makeFrame();
36
- var out = this.get(frames_1.Frame.kOUT);
37
- out.call(result);
38
- out.call(terminal);
39
- this.reset();
40
- return result;
41
- };
42
- Parser.prototype.makeFrame = function () {
43
- var current = this.asArray();
44
- return new frames_1.FrameExpr(current);
45
- };
46
- return Parser;
47
- }(frames_1.FrameArray));
48
- exports.Parser = Parser;
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dGUvcGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLG9DQUFzRztBQUN0Ryx5Q0FBdUM7QUFFdkM7SUFBNEIsMEJBQVU7SUFDcEMsZ0JBQVksR0FBVTtRQUF0QixpQkFLQztRQUpDLElBQU0sSUFBSSxHQUFZLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLG9CQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbEMsUUFBQSxrQkFBTSxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQUM7O0lBQ2xCLENBQUM7SUFFTSxxQkFBSSxHQUFYO1FBQ0UsSUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxvQkFBRyxHQUFWO1FBQ0UsSUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sdUJBQU0sR0FBYjtRQUNFLElBQU0sUUFBUSxHQUFHLG9CQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbkMsSUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLElBQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakIsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFUywwQkFBUyxHQUFuQjtRQUNFLElBQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQixNQUFNLENBQUMsSUFBSSxrQkFBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDSCxhQUFDO0FBQUQsQ0FBQyxBQWhDRCxDQUE0QixtQkFBVSxHQWdDckM7QUFoQ1ksd0JBQU0ifQ==
@@ -1,2 +0,0 @@
1
- import * as frame from "../frames";
2
- export declare const syntax: frame.Context;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var _ = require("lodash");
4
- var frame = require("../frames");
5
- var frame_space_1 = require("./frame-space");
6
- var lex_1 = require("./lex");
7
- var terminals_1 = require("./terminals");
8
- var tokenFrames = [
9
- frame_space_1.FrameSpace,
10
- frame.FrameComment,
11
- frame.FrameDoc,
12
- frame.FrameName,
13
- frame.FrameNumber,
14
- frame.FrameString,
15
- frame.FrameSymbol,
16
- ];
17
- _.map(tokenFrames, function (klass) {
18
- var sample = new klass("");
19
- var key = sample.string_start();
20
- terminals_1.terminals[key] = new lex_1.Lex(klass);
21
- });
22
- exports.syntax = terminals_1.terminals;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ludGF4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dGUvc3ludGF4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMEJBQTRCO0FBQzVCLGlDQUFtQztBQUNuQyw2Q0FBMkM7QUFDM0MsNkJBQTRCO0FBQzVCLHlDQUFrRDtBQUVsRCxJQUFNLFdBQVcsR0FBZTtJQUM5Qix3QkFBVTtJQUNWLEtBQUssQ0FBQyxZQUFZO0lBQ2xCLEtBQUssQ0FBQyxRQUFRO0lBQ2QsS0FBSyxDQUFDLFNBQVM7SUFDZixLQUFLLENBQUMsV0FBVztJQUNqQixLQUFLLENBQUMsV0FBVztJQUNqQixLQUFLLENBQUMsV0FBVztDQUNsQixDQUFDO0FBRUYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBQyxLQUFVO0lBQzVCLElBQU0sTUFBTSxHQUFvQixJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5QyxJQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbEMscUJBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLFNBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNsQyxDQUFDLENBQUMsQ0FBQztBQUVVLFFBQUEsTUFBTSxHQUFrQixxQkFBUyxDQUFDIn0=
@@ -1,10 +0,0 @@
1
- import { Context, Frame } from "../frames";
2
- import { ICurryFunction } from "../ops";
3
- export declare class Terminal extends Frame {
4
- protected data: ICurryFunction;
5
- static end(): Terminal;
6
- constructor(data: ICurryFunction);
7
- apply(argument: Frame, parameter: Frame): Frame;
8
- protected toData(): any;
9
- }
10
- export declare const terminals: Context;