hclang 0.0.5 → 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 (129) 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 -3
  79. package/lib/bin.js +0 -7
  80. package/lib/execute/eval-pipe.d.ts +0 -5
  81. package/lib/execute/eval-pipe.js +0 -25
  82. package/lib/execute/evaluate.d.ts +0 -2
  83. package/lib/execute/evaluate.js +0 -17
  84. package/lib/execute/lex-pipe.d.ts +0 -7
  85. package/lib/execute/lex-pipe.js +0 -36
  86. package/lib/execute/lex.d.ts +0 -11
  87. package/lib/execute/lex.js +0 -52
  88. package/lib/execute/parse-pipe.d.ts +0 -5
  89. package/lib/execute/parse-pipe.js +0 -29
  90. package/lib/execute/terminals.d.ts +0 -11
  91. package/lib/execute/terminals.js +0 -31
  92. package/lib/execute/tokens.d.ts +0 -21
  93. package/lib/execute/tokens.js +0 -72
  94. package/lib/execute.d.ts +0 -1
  95. package/lib/execute.js +0 -8
  96. package/lib/frames/frame-arg.d.ts +0 -24
  97. package/lib/frames/frame-arg.js +0 -75
  98. package/lib/frames/frame-array.d.ts +0 -14
  99. package/lib/frames/frame-array.js +0 -41
  100. package/lib/frames/frame-comment.d.ts +0 -10
  101. package/lib/frames/frame-comment.js +0 -27
  102. package/lib/frames/frame-expr.d.ts +0 -9
  103. package/lib/frames/frame-expr.js +0 -41
  104. package/lib/frames/frame-lazy.d.ts +0 -12
  105. package/lib/frames/frame-lazy.js +0 -47
  106. package/lib/frames/frame-name.d.ts +0 -12
  107. package/lib/frames/frame-name.js +0 -29
  108. package/lib/frames/frame-number.d.ts +0 -8
  109. package/lib/frames/frame-number.js +0 -24
  110. package/lib/frames/frame-string.d.ts +0 -12
  111. package/lib/frames/frame-string.js +0 -40
  112. package/lib/frames/frame-symbol.d.ts +0 -15
  113. package/lib/frames/frame-symbol.js +0 -48
  114. package/lib/frames/frame.d.ts +0 -53
  115. package/lib/frames/frame.js +0 -166
  116. package/lib/frames.d.ts +0 -10
  117. package/lib/frames.js +0 -26
  118. package/lib/hc.d.ts +0 -0
  119. package/lib/hc.js +0 -12
  120. package/lib/index.d.ts +0 -3
  121. package/lib/index.js +0 -8
  122. package/lib/maml/tag.d.ts +0 -2
  123. package/lib/maml/tag.js +0 -18
  124. package/lib/maml.d.ts +0 -2
  125. package/lib/maml.js +0 -29
  126. package/lib/ops/iterators.d.ts +0 -2
  127. package/lib/ops/iterators.js +0 -11
  128. package/lib/ops.d.ts +0 -13
  129. package/lib/ops.js +0 -54
package/lib/bin.js DELETED
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- var clear = require("clear");
3
- var chalk = require("chalk");
4
- var figlet = require("figlet");
5
- clear();
6
- console.log(chalk.green(figlet.textSync("MAML", { horizontalLayout: "full" })));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Jpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzdCLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM3QixJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFL0IsS0FBSyxFQUFFLENBQUM7QUFDUixPQUFPLENBQUMsR0FBRyxDQUNULEtBQUssQ0FBQyxLQUFLLENBQ1QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUN0RCxDQUNGLENBQUMifQ==
@@ -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,25 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || function (d, b) {
3
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4
- function __() { this.constructor = d; }
5
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
- };
7
- var frames_1 = require("../frames");
8
- var EvalPipe = (function (_super) {
9
- __extends(EvalPipe, _super);
10
- function EvalPipe(out, meta) {
11
- if (meta === void 0) { meta = frames_1.Void; }
12
- var _this = _super.call(this, meta) || this;
13
- _this.set(frames_1.Frame.kOUT, out);
14
- return _this;
15
- }
16
- EvalPipe.prototype.apply = function (expr, context) {
17
- var result = expr.in([context]);
18
- var out = this.get(frames_1.Frame.kOUT);
19
- out.call(result);
20
- return result;
21
- };
22
- return EvalPipe;
23
- }(frames_1.Frame));
24
- exports.EvalPipe = EvalPipe;
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZhbC1waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dGUvZXZhbC1waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9DQUFpRDtBQUVqRDtJQUE4Qiw0QkFBSztJQUNqQyxrQkFBWSxHQUFVLEVBQUUsSUFBb0I7UUFBcEIscUJBQUEsRUFBQSxvQkFBb0I7UUFBNUMsWUFDRSxrQkFBTSxJQUFJLENBQUMsU0FFWjtRQURDLEtBQUksQ0FBQyxHQUFHLENBQUMsY0FBSyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQzs7SUFDNUIsQ0FBQztJQUVNLHdCQUFLLEdBQVosVUFBYSxJQUFXLEVBQUUsT0FBYztRQUN0QyxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNILGVBQUM7QUFBRCxDQUFDLEFBWkQsQ0FBOEIsY0FBSyxHQVlsQztBQVpZLDRCQUFRIn0=
@@ -1,2 +0,0 @@
1
- import { Context, Frame } from "../frames";
2
- export declare const evaluate: (input: string, context?: Context) => Frame;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var frames_1 = require("../frames");
3
- var eval_pipe_1 = require("./eval-pipe");
4
- var lex_pipe_1 = require("./lex-pipe");
5
- var parse_pipe_1 = require("./parse-pipe");
6
- exports.evaluate = function (input, context) {
7
- if (context === void 0) { context = frames_1.Void; }
8
- var result = new frames_1.FrameArray([], context);
9
- var evaluator = new eval_pipe_1.EvalPipe(result);
10
- var parser = new parse_pipe_1.ParsePipe(evaluator);
11
- var lexer = new lex_pipe_1.LexPipe(parser);
12
- var status = lexer.lex_string(input);
13
- if (status !== lexer) {
14
- }
15
- return result;
16
- };
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZhbHVhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhlY3V0ZS9ldmFsdWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0NBQWtHO0FBQ2xHLHlDQUF1QztBQUN2Qyx1Q0FBcUM7QUFDckMsMkNBQXlDO0FBRTVCLFFBQUEsUUFBUSxHQUFHLFVBQUMsS0FBYSxFQUFFLE9BQWM7SUFBZCx3QkFBQSxFQUFBLHVCQUFjO0lBQ3BELElBQU0sTUFBTSxHQUFHLElBQUksbUJBQVUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0MsSUFBTSxTQUFTLEdBQUcsSUFBSSxvQkFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLElBQU0sTUFBTSxHQUFHLElBQUksc0JBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4QyxJQUFNLEtBQUssR0FBRyxJQUFJLGtCQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbEMsSUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztJQUV2QixDQUFDO0lBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUMifQ==
@@ -1,7 +0,0 @@
1
- import { Frame, FrameString } from "../frames";
2
- export declare class LexPipe extends Frame {
3
- constructor(out: Frame);
4
- lex_string(input: string): Frame;
5
- lex(source: FrameString): Frame;
6
- finish(): Frame;
7
- }
@@ -1,36 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || function (d, b) {
3
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4
- function __() { this.constructor = d; }
5
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
- };
7
- var _ = require("lodash");
8
- var frames_1 = require("../frames");
9
- var terminals_1 = require("./terminals");
10
- var tokens_1 = require("./tokens");
11
- var meta = _.clone(tokens_1.tokens);
12
- _.merge(meta, terminals_1.terminals);
13
- var LexPipe = (function (_super) {
14
- __extends(LexPipe, _super);
15
- function LexPipe(out) {
16
- var _this = this;
17
- meta[frames_1.Frame.kOUT] = out;
18
- _this = _super.call(this, meta) || this;
19
- return _this;
20
- }
21
- LexPipe.prototype.lex_string = function (input) {
22
- var source = new frames_1.FrameString(input);
23
- return this.lex(source);
24
- };
25
- LexPipe.prototype.lex = function (source) {
26
- return source.reduce(this);
27
- };
28
- LexPipe.prototype.finish = function () {
29
- var output = frames_1.FrameSymbol.end();
30
- var out = this.get(frames_1.Frame.kOUT);
31
- return out.call(output);
32
- };
33
- return LexPipe;
34
- }(frames_1.Frame));
35
- exports.LexPipe = LexPipe;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV4LXBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhlY3V0ZS9sZXgtcGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwQkFBNEI7QUFDNUIsb0NBQXFFO0FBQ3JFLHlDQUFrRDtBQUNsRCxtQ0FBa0M7QUFFbEMsSUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFNLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxxQkFBUyxDQUFDLENBQUM7QUFFekI7SUFBNkIsMkJBQUs7SUFDaEMsaUJBQVksR0FBVTtRQUF0QixpQkFJQztRQUhDLElBQUksQ0FBQyxjQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBRXZCLFFBQUEsa0JBQU0sSUFBSSxDQUFDLFNBQUM7O0lBQ2QsQ0FBQztJQUVNLDRCQUFVLEdBQWpCLFVBQWtCLEtBQWE7UUFDN0IsSUFBTSxNQUFNLEdBQUcsSUFBSSxvQkFBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFTSxxQkFBRyxHQUFWLFVBQVcsTUFBbUI7UUFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLHdCQUFNLEdBQWI7UUFDRSxJQUFNLE1BQU0sR0FBRyxvQkFBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLElBQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDSCxjQUFDO0FBQUQsQ0FBQyxBQXJCRCxDQUE2QixjQUFLLEdBcUJqQztBQXJCWSwwQkFBTyJ9
@@ -1,11 +0,0 @@
1
- import { Frame } from "../frames";
2
- export declare class Lex extends Frame {
3
- protected body: string;
4
- protected pass_on: boolean;
5
- call(argument: Frame, parameter?: Frame): Frame;
6
- getClassName(): string;
7
- toString(): string;
8
- protected isEnd(char: string): boolean;
9
- protected exportFrame(): Frame;
10
- protected makeFrame(): Frame;
11
- }
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || function (d, b) {
3
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4
- function __() { this.constructor = d; }
5
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
- };
7
- var frames_1 = require("../frames");
8
- var Lex = (function (_super) {
9
- __extends(Lex, _super);
10
- function Lex() {
11
- var _this = _super !== null && _super.apply(this, arguments) || this;
12
- _this.body = "";
13
- _this.pass_on = false;
14
- return _this;
15
- }
16
- Lex.prototype.call = function (argument, parameter) {
17
- if (parameter === void 0) { parameter = frames_1.Frame.nil; }
18
- if (this.isEnd(argument.toString())) {
19
- this.exportFrame();
20
- this.body = "";
21
- if (this.pass_on) {
22
- var result = this.up.call(argument);
23
- return result;
24
- }
25
- return this.up;
26
- }
27
- this.body = this.body + argument.toString();
28
- return this;
29
- };
30
- Lex.prototype.getClassName = function () {
31
- var funcNameRegex = /function (.{1,})\(/;
32
- var results = (funcNameRegex).exec(this.constructor.toString());
33
- return (results && results.length > 1) ? results[1] : "<class>";
34
- };
35
- Lex.prototype.toString = function () {
36
- return this.getClassName() + ("[" + this.body + "]");
37
- };
38
- Lex.prototype.isEnd = function (char) {
39
- return false;
40
- };
41
- Lex.prototype.exportFrame = function () {
42
- var output = this.makeFrame();
43
- var out = this.get(frames_1.Frame.kOUT);
44
- return out.call(output);
45
- };
46
- Lex.prototype.makeFrame = function () {
47
- return frames_1.Frame.nil;
48
- };
49
- return Lex;
50
- }(frames_1.Frame));
51
- exports.Lex = Lex;
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dGUvbGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLG9DQUFrQztBQUVsQztJQUF5Qix1QkFBSztJQUE5QjtRQUFBLHFFQTRDQztRQTFDVyxVQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLGFBQU8sR0FBRyxLQUFLLENBQUM7O0lBeUM1QixDQUFDO0lBdkNRLGtCQUFJLEdBQVgsVUFBWSxRQUFlLEVBQUUsU0FBcUI7UUFBckIsMEJBQUEsRUFBQSxZQUFZLGNBQUssQ0FBQyxHQUFHO1FBQ2hELEVBQUUsQ0FBQyxDQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFFLENBQUMsQ0FBQyxDQUFDO1lBRXRDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNmLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNqQixJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNoQixDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDakIsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSwwQkFBWSxHQUFuQjtRQUNFLElBQU0sYUFBYSxHQUFHLG9CQUFvQixDQUFDO1FBQzNDLElBQU0sT0FBTyxHQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNuRSxNQUFNLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxzQkFBUSxHQUFmO1FBQ0UsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBRyxNQUFJLElBQUksQ0FBQyxJQUFJLE1BQUcsQ0FBQSxDQUFDO0lBQ2hELENBQUM7SUFFUyxtQkFBSyxHQUFmLFVBQWdCLElBQVk7UUFDMUIsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFUyx5QkFBVyxHQUFyQjtRQUNFLElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQyxJQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVqQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRVMsdUJBQVMsR0FBbkI7UUFDRSxNQUFNLENBQUMsY0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNuQixDQUFDO0lBQ0gsVUFBQztBQUFELENBQUMsQUE1Q0QsQ0FBeUIsY0FBSyxHQTRDN0I7QUE1Q1ksa0JBQUcifQ==
@@ -1,5 +0,0 @@
1
- import { Frame, FrameArray } from "../frames";
2
- export declare class ParsePipe extends FrameArray {
3
- constructor(out: Frame);
4
- finish(): Frame;
5
- }
@@ -1,29 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || function (d, b) {
3
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4
- function __() { this.constructor = d; }
5
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
- };
7
- var frames_1 = require("../frames");
8
- var terminals_1 = require("./terminals");
9
- var ParsePipe = (function (_super) {
10
- __extends(ParsePipe, _super);
11
- function ParsePipe(out) {
12
- var _this = this;
13
- var meta = {};
14
- meta[ParsePipe.kOUT] = out;
15
- meta[frames_1.Frame.kEND] = terminals_1.Terminal.end();
16
- _this = _super.call(this, [], meta) || this;
17
- return _this;
18
- }
19
- ParsePipe.prototype.finish = function () {
20
- var current = this.asArray();
21
- var expr = new frames_1.FrameExpr(current);
22
- var out = this.get(frames_1.Frame.kOUT);
23
- out.call(expr);
24
- return expr;
25
- };
26
- return ParsePipe;
27
- }(frames_1.FrameArray));
28
- exports.ParsePipe = ParsePipe;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtcGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGVjdXRlL3BhcnNlLXBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0NBQW1GO0FBQ25GLHlDQUF1QztBQUV2QztJQUErQiw2QkFBVTtJQUN2QyxtQkFBWSxHQUFVO1FBQXRCLGlCQUtDO1FBSkMsSUFBTSxJQUFJLEdBQVksRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsb0JBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNsQyxRQUFBLGtCQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBQzs7SUFDbEIsQ0FBQztJQUVNLDBCQUFNLEdBQWI7UUFDRSxJQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBTSxJQUFJLEdBQUcsSUFBSSxrQkFBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLElBQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDZixNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNILGdCQUFDO0FBQUQsQ0FBQyxBQWZELENBQStCLG1CQUFVLEdBZXhDO0FBZlksOEJBQVMifQ==
@@ -1,11 +0,0 @@
1
- import { Context, Frame } from "../frames";
2
- import { ICurryFunction } from "../ops";
3
- export declare const ender: ICurryFunction;
4
- export declare class Terminal extends Frame {
5
- protected data: ICurryFunction;
6
- static end(): Terminal;
7
- constructor(data: ICurryFunction);
8
- apply(argument: Frame, parameter: Frame): Frame;
9
- protected toData(): any;
10
- }
11
- export declare const terminals: Context;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || function (d, b) {
3
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4
- function __() { this.constructor = d; }
5
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
- };
7
- var frames_1 = require("../frames");
8
- exports.ender = function (source, parameter) {
9
- var pipe = source;
10
- return pipe.finish();
11
- };
12
- var Terminal = (function (_super) {
13
- __extends(Terminal, _super);
14
- function Terminal(data) {
15
- var _this = _super.call(this, frames_1.Void) || this;
16
- _this.data = data;
17
- _this.callme = true;
18
- return _this;
19
- }
20
- Terminal.end = function () { return new Terminal(exports.ender); };
21
- ;
22
- Terminal.prototype.apply = function (argument, parameter) {
23
- return this.data(argument, parameter);
24
- };
25
- Terminal.prototype.toData = function () { return this.data; };
26
- return Terminal;
27
- }(frames_1.Frame));
28
- exports.Terminal = Terminal;
29
- exports.terminals = {};
30
- exports.terminals[frames_1.Frame.kEND] = Terminal.end();
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dGUvdGVybWluYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9DQUEyRTtBQUs5RCxRQUFBLEtBQUssR0FBbUIsVUFBQyxNQUFhLEVBQUUsU0FBZ0I7SUFDbkUsSUFBTSxJQUFJLEdBQUcsTUFBaUIsQ0FBQztJQUMvQixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3ZCLENBQUMsQ0FBQztBQUVGO0lBQThCLDRCQUFLO0lBR2pDLGtCQUFzQixJQUFvQjtRQUExQyxZQUNFLGtCQUFNLGFBQUksQ0FBQyxTQUVaO1FBSHFCLFVBQUksR0FBSixJQUFJLENBQWdCO1FBRXhDLEtBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDOztJQUNyQixDQUFDO0lBTGEsWUFBRyxHQUFqQixjQUFzQixNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsYUFBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQU83Qyx3QkFBSyxHQUFaLFVBQWEsUUFBZSxFQUFFLFNBQWdCO1FBQzVDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRVMseUJBQU0sR0FBaEIsY0FBMEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9DLGVBQUM7QUFBRCxDQUFDLEFBYkQsQ0FBOEIsY0FBSyxHQWFsQztBQWJZLDRCQUFRO0FBZVIsUUFBQSxTQUFTLEdBQVksRUFDakMsQ0FBQztBQUVGLGlCQUFTLENBQUMsY0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyJ9
@@ -1,21 +0,0 @@
1
- import { Context, Frame, FrameAtom } from "../frames";
2
- import { Lex } from "./lex";
3
- export declare class Token extends FrameAtom {
4
- protected data: Frame;
5
- constructor(data: Frame);
6
- called_by(callee: Frame, parameter: Frame): Frame;
7
- protected toData(): any;
8
- }
9
- export declare class LexString extends Lex {
10
- protected isEnd(char: string): boolean;
11
- protected makeFrame(): Token;
12
- }
13
- export declare class LexComment extends Lex {
14
- protected isEnd(char: string): boolean;
15
- protected makeFrame(): Token;
16
- }
17
- export declare class LexSpace extends Lex {
18
- protected isEnd(char: string): boolean;
19
- protected makeFrame(): Frame;
20
- }
21
- export declare const tokens: Context;
@@ -1,72 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || function (d, b) {
3
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4
- function __() { this.constructor = d; }
5
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
- };
7
- var frames_1 = require("../frames");
8
- var lex_1 = require("./lex");
9
- var Token = (function (_super) {
10
- __extends(Token, _super);
11
- function Token(data) {
12
- var _this = _super.call(this, frames_1.Void) || this;
13
- _this.data = data;
14
- return _this;
15
- }
16
- Token.prototype.called_by = function (callee, parameter) {
17
- return callee.apply(this.data, parameter);
18
- };
19
- Token.prototype.toData = function () { return this.data; };
20
- return Token;
21
- }(frames_1.FrameAtom));
22
- exports.Token = Token;
23
- var LexString = (function (_super) {
24
- __extends(LexString, _super);
25
- function LexString() {
26
- return _super !== null && _super.apply(this, arguments) || this;
27
- }
28
- LexString.prototype.isEnd = function (char) {
29
- return char === "”";
30
- };
31
- LexString.prototype.makeFrame = function () {
32
- var frame = new frames_1.FrameString(this.body);
33
- return new Token(frame);
34
- };
35
- return LexString;
36
- }(lex_1.Lex));
37
- exports.LexString = LexString;
38
- ;
39
- var LexComment = (function (_super) {
40
- __extends(LexComment, _super);
41
- function LexComment() {
42
- return _super !== null && _super.apply(this, arguments) || this;
43
- }
44
- LexComment.prototype.isEnd = function (char) { return char === "#" || char === "\n"; };
45
- LexComment.prototype.makeFrame = function () {
46
- var frame = new frames_1.FrameComment(this.body);
47
- return new Token(frame);
48
- };
49
- return LexComment;
50
- }(lex_1.Lex));
51
- exports.LexComment = LexComment;
52
- ;
53
- var LexSpace = (function (_super) {
54
- __extends(LexSpace, _super);
55
- function LexSpace() {
56
- return _super !== null && _super.apply(this, arguments) || this;
57
- }
58
- LexSpace.prototype.isEnd = function (char) {
59
- this.pass_on = true;
60
- return char !== " ";
61
- };
62
- LexSpace.prototype.makeFrame = function () { return frames_1.Frame.nil; };
63
- return LexSpace;
64
- }(lex_1.Lex));
65
- exports.LexSpace = LexSpace;
66
- ;
67
- exports.tokens = {
68
- " ": new LexSpace(),
69
- "#": new LexComment(),
70
- "“": new LexString(),
71
- };
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4ZWN1dGUvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9DQUFvRztBQUNwRyw2QkFBNEI7QUFFNUI7SUFBMkIseUJBQVM7SUFDbEMsZUFBc0IsSUFBVztRQUFqQyxZQUNFLGtCQUFNLGFBQUksQ0FBQyxTQUNaO1FBRnFCLFVBQUksR0FBSixJQUFJLENBQU87O0lBRWpDLENBQUM7SUFFTSx5QkFBUyxHQUFoQixVQUFpQixNQUFhLEVBQUUsU0FBZ0I7UUFDOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ1Msc0JBQU0sR0FBaEIsY0FBMEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9DLFlBQUM7QUFBRCxDQUFDLEFBVEQsQ0FBMkIsa0JBQVMsR0FTbkM7QUFUWSxzQkFBSztBQVdsQjtJQUErQiw2QkFBRztJQUFsQzs7SUFTQSxDQUFDO0lBUlcseUJBQUssR0FBZixVQUFnQixJQUFZO1FBQzFCLE1BQU0sQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDO0lBQ3RCLENBQUM7SUFFUyw2QkFBUyxHQUFuQjtRQUNFLElBQU0sS0FBSyxHQUFHLElBQUksb0JBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDSCxnQkFBQztBQUFELENBQUMsQUFURCxDQUErQixTQUFHLEdBU2pDO0FBVFksOEJBQVM7QUFTckIsQ0FBQztBQUVGO0lBQWdDLDhCQUFHO0lBQW5DOztJQU9BLENBQUM7SUFOVywwQkFBSyxHQUFmLFVBQWdCLElBQVksSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztJQUU3RCw4QkFBUyxHQUFuQjtRQUNFLElBQU0sS0FBSyxHQUFHLElBQUkscUJBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFDSCxpQkFBQztBQUFELENBQUMsQUFQRCxDQUFnQyxTQUFHLEdBT2xDO0FBUFksZ0NBQVU7QUFPdEIsQ0FBQztBQUVGO0lBQThCLDRCQUFHO0lBQWpDOztJQU9BLENBQUM7SUFOVyx3QkFBSyxHQUFmLFVBQWdCLElBQVk7UUFDMUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsTUFBTSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUM7SUFDdEIsQ0FBQztJQUVTLDRCQUFTLEdBQW5CLGNBQXdCLE1BQU0sQ0FBQyxjQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM3QyxlQUFDO0FBQUQsQ0FBQyxBQVBELENBQThCLFNBQUcsR0FPaEM7QUFQWSw0QkFBUTtBQU9wQixDQUFDO0FBRVcsUUFBQSxNQUFNLEdBQVk7SUFDOUIsR0FBRyxFQUFFLElBQUksUUFBUSxFQUFFO0lBQ25CLEdBQUcsRUFBRSxJQUFJLFVBQVUsRUFBRTtJQUNyQixHQUFHLEVBQUUsSUFBSSxTQUFTLEVBQUU7Q0FDcEIsQ0FBQyJ9
package/lib/execute.d.ts DELETED
@@ -1 +0,0 @@
1
- export declare const execute: (input: string) => string;
package/lib/execute.js DELETED
@@ -1,8 +0,0 @@
1
- "use strict";
2
- var evaluate_1 = require("./execute/evaluate");
3
- exports.execute = function (input) {
4
- var result = evaluate_1.evaluate(input);
5
- var array = result.toStringArray();
6
- return array.join("\n");
7
- };
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9leGVjdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQ0FBOEM7QUFHakMsUUFBQSxPQUFPLEdBQUcsVUFBQyxLQUFhO0lBQ25DLElBQU0sTUFBTSxHQUFHLG1CQUFRLENBQUMsS0FBSyxDQUFlLENBQUM7SUFDN0MsSUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3JDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyJ9
@@ -1,24 +0,0 @@
1
- import { Frame } from "./frame";
2
- import { FrameSymbol } from "./frame-symbol";
3
- export declare class FrameArg extends FrameSymbol {
4
- static readonly ARG_CHAR: string;
5
- static here(): FrameArg;
6
- static level(count?: number): FrameArg;
7
- protected static args: {
8
- [key: string]: FrameArg;
9
- };
10
- protected static _for(symbol: string): FrameArg;
11
- protected constructor(data: string);
12
- in(contexts?: Frame[]): Frame;
13
- }
14
- export declare class FrameParam extends FrameSymbol {
15
- static readonly ARG_CHAR: string;
16
- static there(): FrameParam;
17
- static level(count?: number): FrameParam;
18
- protected static params: {
19
- [key: string]: FrameParam;
20
- };
21
- protected static _for(symbol: string): FrameParam;
22
- protected constructor(data: string);
23
- in(contexts?: Frame[]): Frame;
24
- }
@@ -1,75 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || function (d, b) {
3
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4
- function __() { this.constructor = d; }
5
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
- };
7
- var frame_1 = require("./frame");
8
- var frame_symbol_1 = require("./frame-symbol");
9
- var FrameArg = (function (_super) {
10
- __extends(FrameArg, _super);
11
- function FrameArg(data) {
12
- return _super.call(this, data) || this;
13
- }
14
- FrameArg.here = function () {
15
- return FrameArg.level();
16
- };
17
- FrameArg.level = function (count) {
18
- if (count === void 0) { count = 1; }
19
- var symbol = Array(count + 1).join(FrameArg.ARG_CHAR);
20
- return FrameArg._for(symbol);
21
- };
22
- FrameArg._for = function (symbol) {
23
- var exists = FrameArg.args[symbol];
24
- return exists || (FrameArg.args[symbol] = new FrameArg(symbol));
25
- };
26
- FrameArg.prototype.in = function (contexts) {
27
- if (contexts === void 0) { contexts = [frame_1.Frame.nil]; }
28
- var level = this.data.length;
29
- if (level <= 1) {
30
- return contexts[0];
31
- }
32
- else {
33
- return FrameArg.level(level - 1);
34
- }
35
- };
36
- return FrameArg;
37
- }(frame_symbol_1.FrameSymbol));
38
- FrameArg.ARG_CHAR = "_";
39
- FrameArg.args = {};
40
- exports.FrameArg = FrameArg;
41
- ;
42
- var FrameParam = (function (_super) {
43
- __extends(FrameParam, _super);
44
- function FrameParam(data) {
45
- return _super.call(this, data) || this;
46
- }
47
- FrameParam.there = function () {
48
- return FrameParam.level();
49
- };
50
- FrameParam.level = function (count) {
51
- if (count === void 0) { count = 1; }
52
- var symbol = FrameArg.ARG_CHAR + Array(count + 1).join(FrameParam.ARG_CHAR);
53
- return FrameParam._for(symbol);
54
- };
55
- FrameParam._for = function (symbol) {
56
- var exists = FrameParam.params[symbol];
57
- return exists || (FrameParam.params[symbol] = new FrameParam(symbol));
58
- };
59
- FrameParam.prototype.in = function (contexts) {
60
- if (contexts === void 0) { contexts = [frame_1.Frame.nil]; }
61
- var level = this.data.length - 1;
62
- if (level <= contexts.length) {
63
- return contexts[level];
64
- }
65
- else {
66
- return frame_1.Frame.missing;
67
- }
68
- };
69
- return FrameParam;
70
- }(frame_symbol_1.FrameSymbol));
71
- FrameParam.ARG_CHAR = "^";
72
- FrameParam.params = {};
73
- exports.FrameParam = FrameParam;
74
- ;
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtYXJnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZyYW1lcy9mcmFtZS1hcmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaUNBQWdDO0FBQ2hDLCtDQUE2QztBQUU3QztJQUE4Qiw0QkFBVztJQW1CdkMsa0JBQXNCLElBQVk7ZUFDaEMsa0JBQU0sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQWxCYSxhQUFJLEdBQWxCO1FBQ0UsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRWEsY0FBSyxHQUFuQixVQUFvQixLQUFTO1FBQVQsc0JBQUEsRUFBQSxTQUFTO1FBQzNCLElBQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4RCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBSWdCLGFBQUksR0FBckIsVUFBc0IsTUFBYztRQUNsQyxJQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQU1NLHFCQUFFLEdBQVQsVUFBVSxRQUFzQjtRQUF0Qix5QkFBQSxFQUFBLFlBQVksYUFBSyxDQUFDLEdBQUcsQ0FBQztRQUM5QixJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMvQixFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNmLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO0lBQ0gsZUFBQztBQUFELENBQUMsQUEvQkQsQ0FBOEIsMEJBQVc7QUFDaEIsaUJBQVEsR0FBRyxHQUFHLENBQUM7QUFXckIsYUFBSSxHQUFpQyxFQUFFLENBQUM7QUFaOUMsNEJBQVE7QUErQnBCLENBQUM7QUFFRjtJQUFnQyw4QkFBVztJQW1CekMsb0JBQXNCLElBQVk7ZUFDaEMsa0JBQU0sSUFBSSxDQUFDO0lBQ2IsQ0FBQztJQWxCYSxnQkFBSyxHQUFuQjtRQUNFLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVhLGdCQUFLLEdBQW5CLFVBQW9CLEtBQVM7UUFBVCxzQkFBQSxFQUFBLFNBQVM7UUFDM0IsSUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUlnQixlQUFJLEdBQXJCLFVBQXNCLE1BQWM7UUFDbEMsSUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFNTSx1QkFBRSxHQUFULFVBQVUsUUFBc0I7UUFBdEIseUJBQUEsRUFBQSxZQUFZLGFBQUssQ0FBQyxHQUFHLENBQUM7UUFDOUIsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUM3QixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE1BQU0sQ0FBQyxhQUFLLENBQUMsT0FBTyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBQ0gsaUJBQUM7QUFBRCxDQUFDLEFBL0JELENBQWdDLDBCQUFXO0FBQ2xCLG1CQUFRLEdBQUcsR0FBRyxDQUFDO0FBV3JCLGlCQUFNLEdBQW1DLEVBQUUsQ0FBQztBQVpsRCxnQ0FBVTtBQStCdEIsQ0FBQyJ9
@@ -1,14 +0,0 @@
1
- import { Frame, FrameList } from "./frame";
2
- export declare class FrameArray extends FrameList {
3
- static readonly BEGIN_ARRAY: string;
4
- static readonly END_ARRAY: string;
5
- constructor(data: Array<Frame>, meta?: {
6
- [key: string]: Frame;
7
- });
8
- string_open(): string;
9
- string_close(): string;
10
- in(contexts?: Frame[]): Frame;
11
- apply(argument: Frame, parameter: Frame): this;
12
- size(): number;
13
- at(index: number): Frame;
14
- }
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || function (d, b) {
3
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4
- function __() { this.constructor = d; }
5
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
- };
7
- var frame_1 = require("./frame");
8
- var FrameArray = (function (_super) {
9
- __extends(FrameArray, _super);
10
- function FrameArray(data, meta) {
11
- if (meta === void 0) { meta = frame_1.Void; }
12
- return _super.call(this, data, meta) || this;
13
- }
14
- FrameArray.prototype.string_open = function () { return FrameArray.BEGIN_ARRAY; };
15
- ;
16
- FrameArray.prototype.string_close = function () { return FrameArray.END_ARRAY; };
17
- ;
18
- FrameArray.prototype.in = function (contexts) {
19
- if (contexts === void 0) { contexts = [frame_1.Frame.nil]; }
20
- contexts.push(this);
21
- return new FrameArray(this.data.map(function (f) { return f.in(contexts); }));
22
- };
23
- FrameArray.prototype.apply = function (argument, parameter) {
24
- this.data.push(argument);
25
- return this;
26
- };
27
- FrameArray.prototype.size = function () {
28
- return this.data.length;
29
- };
30
- FrameArray.prototype.at = function (index) {
31
- if (index >= this.size()) {
32
- return frame_1.Frame.missing;
33
- }
34
- return this.data[index];
35
- };
36
- return FrameArray;
37
- }(frame_1.FrameList));
38
- FrameArray.BEGIN_ARRAY = "[";
39
- FrameArray.END_ARRAY = "]";
40
- exports.FrameArray = FrameArray;
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtYXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnJhbWVzL2ZyYW1lLWFycmF5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGlDQUFpRDtBQUVqRDtJQUFnQyw4QkFBUztJQUl2QyxvQkFBWSxJQUFrQixFQUFFLElBQVc7UUFBWCxxQkFBQSxFQUFBLG1CQUFXO2VBQ3pDLGtCQUFNLElBQUksRUFBRSxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVNLGdDQUFXLEdBQWxCLGNBQXVCLE1BQU0sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDakQsaUNBQVksR0FBbkIsY0FBd0IsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUVoRCx1QkFBRSxHQUFULFVBQVUsUUFBc0I7UUFBdEIseUJBQUEsRUFBQSxZQUFZLGFBQUssQ0FBQyxHQUFHLENBQUM7UUFDOUIsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUUsVUFBQyxDQUFRLElBQUssT0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFkLENBQWMsQ0FBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLDBCQUFLLEdBQVosVUFBYSxRQUFlLEVBQUUsU0FBZ0I7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSx5QkFBSSxHQUFYO1FBQ0UsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzFCLENBQUM7SUFFTSx1QkFBRSxHQUFULFVBQVUsS0FBYTtRQUNyQixFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN6QixNQUFNLENBQUMsYUFBSyxDQUFDLE9BQU8sQ0FBQztRQUN2QixDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNILGlCQUFDO0FBQUQsQ0FBQyxBQS9CRCxDQUFnQyxpQkFBUztBQUNoQixzQkFBVyxHQUFHLEdBQUcsQ0FBQztBQUNsQixvQkFBUyxHQUFHLEdBQUcsQ0FBQztBQUY1QixnQ0FBVSJ9
@@ -1,10 +0,0 @@
1
- import { Context, FrameAtom } from "./frame";
2
- export declare class FrameComment extends FrameAtom {
3
- protected data: string;
4
- static readonly COMMENT_BEGIN: string;
5
- static readonly COMMENT_END: string;
6
- constructor(data: string, meta?: Context);
7
- string_prefix(): string;
8
- string_suffix(): string;
9
- protected toData(): string;
10
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || function (d, b) {
3
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4
- function __() { this.constructor = d; }
5
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
- };
7
- var frame_1 = require("./frame");
8
- var FrameComment = (function (_super) {
9
- __extends(FrameComment, _super);
10
- function FrameComment(data, meta) {
11
- if (meta === void 0) { meta = frame_1.Void; }
12
- var _this = _super.call(this, meta) || this;
13
- _this.data = data;
14
- return _this;
15
- }
16
- FrameComment.prototype.string_prefix = function () { return FrameComment.COMMENT_BEGIN; };
17
- ;
18
- FrameComment.prototype.string_suffix = function () { return FrameComment.COMMENT_END; };
19
- ;
20
- FrameComment.prototype.toData = function () { return this.data; };
21
- return FrameComment;
22
- }(frame_1.FrameAtom));
23
- FrameComment.COMMENT_BEGIN = "#";
24
- FrameComment.COMMENT_END = "#";
25
- exports.FrameComment = FrameComment;
26
- ;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtY29tbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mcmFtZXMvZnJhbWUtY29tbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpQ0FBMEQ7QUFFMUQ7SUFBa0MsZ0NBQVM7SUFJekMsc0JBQXNCLElBQVksRUFBRSxJQUFvQjtRQUFwQixxQkFBQSxFQUFBLG1CQUFvQjtRQUF4RCxZQUNFLGtCQUFNLElBQUksQ0FBQyxTQUNaO1FBRnFCLFVBQUksR0FBSixJQUFJLENBQVE7O0lBRWxDLENBQUM7SUFFTSxvQ0FBYSxHQUFwQixjQUF5QixNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBRXZELG9DQUFhLEdBQXBCLGNBQXlCLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFFbEQsNkJBQU0sR0FBaEIsY0FBcUIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFDLG1CQUFDO0FBQUQsQ0FBQyxBQWJELENBQWtDLGlCQUFTO0FBQ2xCLDBCQUFhLEdBQUcsR0FBRyxDQUFDO0FBQ3BCLHdCQUFXLEdBQUcsR0FBRyxDQUFDO0FBRjlCLG9DQUFZO0FBYXhCLENBQUMifQ==
@@ -1,9 +0,0 @@
1
- import { Frame, FrameList } from "./frame";
2
- export declare class FrameExpr extends FrameList {
3
- constructor(data: Array<Frame>, meta?: {
4
- [key: string]: Frame;
5
- });
6
- in(contexts?: Frame[]): Frame;
7
- call(argument: Frame, parameter?: Frame): Frame;
8
- toStringDataArray(): string[];
9
- }
@@ -1,41 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || function (d, b) {
3
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
4
- function __() { this.constructor = d; }
5
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6
- };
7
- var frame_1 = require("./frame");
8
- var frame_comment_1 = require("./frame-comment");
9
- var FrameExpr = (function (_super) {
10
- __extends(FrameExpr, _super);
11
- function FrameExpr(data, meta) {
12
- if (meta === void 0) { meta = frame_1.Void; }
13
- var _this = _super.call(this, data, meta) || this;
14
- data.forEach(function (item) { item.up = _this; });
15
- return _this;
16
- }
17
- FrameExpr.prototype.in = function (contexts) {
18
- if (contexts === void 0) { contexts = [frame_1.Frame.nil]; }
19
- contexts.push(this);
20
- return this.data.reduce(function (sum, item) {
21
- var value = item.in(contexts);
22
- if (value instanceof frame_comment_1.FrameComment) {
23
- return sum;
24
- }
25
- return sum.call(value);
26
- }, frame_1.Frame.nil);
27
- };
28
- FrameExpr.prototype.call = function (argument, parameter) {
29
- if (parameter === void 0) { parameter = frame_1.Frame.nil; }
30
- return this.in([argument, parameter]);
31
- };
32
- ;
33
- FrameExpr.prototype.toStringDataArray = function () {
34
- var array = _super.prototype.toStringDataArray.call(this);
35
- return [array.join(" ")];
36
- };
37
- return FrameExpr;
38
- }(frame_1.FrameList));
39
- exports.FrameExpr = FrameExpr;
40
- ;
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtZXhwci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mcmFtZXMvZnJhbWUtZXhwci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxpQ0FBaUQ7QUFDakQsaURBQStDO0FBRS9DO0lBQStCLDZCQUFTO0lBQ3RDLG1CQUFZLElBQWtCLEVBQUUsSUFBVztRQUFYLHFCQUFBLEVBQUEsbUJBQVc7UUFBM0MsWUFDRSxrQkFBTSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBRWxCO1FBREMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFDLElBQUksSUFBTyxJQUFJLENBQUMsRUFBRSxHQUFHLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOztJQUM5QyxDQUFDO0lBRU0sc0JBQUUsR0FBVCxVQUFVLFFBQXNCO1FBQXRCLHlCQUFBLEVBQUEsWUFBWSxhQUFLLENBQUMsR0FBRyxDQUFDO1FBQzlCLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQUMsR0FBVSxFQUFFLElBQVc7WUFDOUMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5QixFQUFFLENBQUMsQ0FBQyxLQUFLLFlBQVksNEJBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLE1BQU0sQ0FBQyxHQUFHLENBQUM7WUFDYixDQUFDO1lBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxFQUFFLGFBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRU0sd0JBQUksR0FBWCxVQUFZLFFBQWUsRUFBRSxTQUFxQjtRQUFyQiwwQkFBQSxFQUFBLFlBQVksYUFBSyxDQUFDLEdBQUc7UUFDaEQsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQUEsQ0FBQztJQUVLLHFDQUFpQixHQUF4QjtRQUNFLElBQU0sS0FBSyxHQUFHLGlCQUFNLGlCQUFpQixXQUFFLENBQUM7UUFDeEMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFDSCxnQkFBQztBQUFELENBQUMsQUF6QkQsQ0FBK0IsaUJBQVMsR0F5QnZDO0FBekJZLDhCQUFTO0FBeUJyQixDQUFDIn0=
@@ -1,12 +0,0 @@
1
- import { Context, Frame } from "./frame";
2
- import { FrameExpr } from "./frame-expr";
3
- export declare class FrameLazy extends FrameExpr {
4
- static readonly LAZY_BEGIN: string;
5
- static readonly LAZY_END: string;
6
- constructor(data: Array<Frame>, meta?: Context);
7
- string_open(): string;
8
- string_close(): string;
9
- in(contexts?: Frame[]): Frame;
10
- call(argument: Frame, parameter?: Frame): FrameExpr;
11
- protected meta_for(context: Frame): Context;
12
- }