hclang 0.1.0 → 0.5.4

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 (154) hide show
  1. package/README.md +25 -3
  2. package/lib/src/cli/hc.js +40 -0
  3. package/lib/src/cli/runfile.js +28 -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-doc-spec.js +17 -0
  64. package/lib/test/frames/frame-expr-spec.js +60 -0
  65. package/lib/test/frames/frame-group-spec.js +27 -0
  66. package/lib/test/frames/frame-lazy-spec.js +49 -0
  67. package/lib/test/frames/frame-name-spec.js +26 -0
  68. package/lib/test/frames/frame-note-spec.js +48 -0
  69. package/lib/test/frames/frame-number-spec.js +17 -0
  70. package/lib/test/frames/frame-schema-spec.js +54 -0
  71. package/lib/test/frames/frame-spec.js +31 -0
  72. package/lib/test/frames/frame-string-spec.js +43 -0
  73. package/lib/test/frames/frame-symbol-spec.js +64 -0
  74. package/lib/test/frames/meta-frame-spec.js +75 -0
  75. package/lib/test/maml/maml-spec.js +42 -0
  76. package/lib/test/maml/tag-spec.js +53 -0
  77. package/lib/test/ops/iterators-spec.js +70 -0
  78. package/package.json +60 -34
  79. package/lib/bin.d.ts +0 -0
  80. package/lib/bin.js +0 -6
  81. package/lib/execute/actions.d.ts +0 -13
  82. package/lib/execute/actions.js +0 -48
  83. package/lib/execute/eval-pipe.d.ts +0 -5
  84. package/lib/execute/eval-pipe.js +0 -32
  85. package/lib/execute/evaluate.d.ts +0 -2
  86. package/lib/execute/evaluate.js +0 -20
  87. package/lib/execute/frame-space.d.ts +0 -7
  88. package/lib/execute/frame-space.js +0 -32
  89. package/lib/execute/group-pipe.d.ts +0 -6
  90. package/lib/execute/group-pipe.js +0 -27
  91. package/lib/execute/lex-pipe.d.ts +0 -12
  92. package/lib/execute/lex-pipe.js +0 -55
  93. package/lib/execute/lex.d.ts +0 -26
  94. package/lib/execute/lex.js +0 -94
  95. package/lib/execute/lexer.d.ts +0 -9
  96. package/lib/execute/lexer.js +0 -55
  97. package/lib/execute/parse-pipe.d.ts +0 -8
  98. package/lib/execute/parse-pipe.js +0 -49
  99. package/lib/execute/parser.d.ts +0 -8
  100. package/lib/execute/parser.js +0 -49
  101. package/lib/execute/syntax.d.ts +0 -2
  102. package/lib/execute/syntax.js +0 -23
  103. package/lib/execute/terminals.d.ts +0 -10
  104. package/lib/execute/terminals.js +0 -48
  105. package/lib/execute.d.ts +0 -1
  106. package/lib/execute.js +0 -9
  107. package/lib/frames/frame-arg.d.ts +0 -24
  108. package/lib/frames/frame-arg.js +0 -81
  109. package/lib/frames/frame-array.d.ts +0 -15
  110. package/lib/frames/frame-array.js +0 -50
  111. package/lib/frames/frame-atom.d.ts +0 -17
  112. package/lib/frames/frame-atom.js +0 -52
  113. package/lib/frames/frame-comment.d.ts +0 -12
  114. package/lib/frames/frame-comment.js +0 -36
  115. package/lib/frames/frame-doc.d.ts +0 -9
  116. package/lib/frames/frame-doc.js +0 -31
  117. package/lib/frames/frame-expr.d.ts +0 -9
  118. package/lib/frames/frame-expr.js +0 -48
  119. package/lib/frames/frame-group.d.ts +0 -7
  120. package/lib/frames/frame-group.js +0 -39
  121. package/lib/frames/frame-lazy.d.ts +0 -13
  122. package/lib/frames/frame-lazy.js +0 -54
  123. package/lib/frames/frame-list.d.ts +0 -15
  124. package/lib/frames/frame-list.js +0 -51
  125. package/lib/frames/frame-name.d.ts +0 -12
  126. package/lib/frames/frame-name.js +0 -37
  127. package/lib/frames/frame-number.d.ts +0 -9
  128. package/lib/frames/frame-number.js +0 -31
  129. package/lib/frames/frame-string.d.ts +0 -14
  130. package/lib/frames/frame-string.js +0 -47
  131. package/lib/frames/frame-symbol.d.ts +0 -18
  132. package/lib/frames/frame-symbol.js +0 -64
  133. package/lib/frames/frame.d.ts +0 -22
  134. package/lib/frames/frame.js +0 -73
  135. package/lib/frames/meta-frame.d.ts +0 -26
  136. package/lib/frames/meta-frame.js +0 -85
  137. package/lib/frames.d.ts +0 -15
  138. package/lib/frames.js +0 -36
  139. package/lib/hc.d.ts +0 -0
  140. package/lib/hc.js +0 -13
  141. package/lib/index.d.ts +0 -3
  142. package/lib/index.js +0 -9
  143. package/lib/maml/tag.d.ts +0 -2
  144. package/lib/maml/tag.js +0 -19
  145. package/lib/maml.d.ts +0 -2
  146. package/lib/maml.js +0 -30
  147. package/lib/ops/frame-curry.d.ts +0 -9
  148. package/lib/ops/frame-curry.js +0 -31
  149. package/lib/ops/frame-ops.d.ts +0 -12
  150. package/lib/ops/frame-ops.js +0 -41
  151. package/lib/ops/iterators.d.ts +0 -2
  152. package/lib/ops/iterators.js +0 -12
  153. package/lib/ops.d.ts +0 -3
  154. package/lib/ops.js +0 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hclang",
3
- "version": "0.1.0",
3
+ "version": "0.5.4",
4
4
  "description": "Homoiconic C: Programming without a Language",
5
5
  "license": "MIT",
6
6
  "repository": "https://github.com/TheSwanFactory/hclang",
@@ -15,50 +15,76 @@
15
15
  "interpreter",
16
16
  "cli"
17
17
  ],
18
+ "type": "module",
19
+ "directories": {
20
+ "lib": "./lib",
21
+ "src": "./src",
22
+ "test": "./test"
23
+ },
18
24
  "files": [
19
25
  "lib"
20
26
  ],
21
27
  "bin": {
22
- "maml": "lib/bin.js",
23
- "hc": "lib/hc.js"
28
+ "hc": "lib/src/cli/hc.js"
29
+ },
30
+ "watch": {
31
+ "test": "{src,test}/*.js"
24
32
  },
25
- "main": "lib/index.js",
26
- "typings": "lib/index.d.ts",
27
33
  "scripts": {
28
- "build": "rimraf lib && tslint \"{src,test}/**/*.ts\" && tsc --pretty --inlineSourceMap && chmod a+x ./lib/hc.js ./lib/index.js",
29
- "clean": "rimraf lib && rm -f *.log.*",
30
- "debug": "echo 'Use `debugger;`\n' && inspect _mocha --no-timeouts --compilers ts:ts-node/register --recursive test/**/*-spec.ts",
31
- "lint": "tslint --force --format verbose \"{src,test}/**/*.ts\"",
32
- "run": "node lib/hc.js",
33
- "set-bin": "chmod a+x ./lib/hc.js ./lib/index.js",
34
- "test": "npm run build && mocha --compilers ts:ts-node/register --recursive test/**/*-spec.ts",
35
- "ts": "echo Using TypeScript && tsc --version && tsc --pretty && npm run set-bin",
36
- "watch": "npm run build -- --watch",
37
- "watch:test": "npm run test -- --watch"
34
+ "bs:html": "tail +3 -q hc/BitScheme.hc hc/BitScheme-1.hc > doc/BitScheme.adoc && asciidoctor doc/BitScheme.adoc && open doc/BitScheme.html",
35
+ "bs:all": "npm run build && npm run bs:html && npm run bs",
36
+ "bs": "node lib/src/cli/hc.js hc/BitScheme.hc -t",
37
+ "b1": "node lib/src/cli/hc.js hc/BitScheme-1.hc -t",
38
+ "testdoc": "npm run build && node lib/src/cli/hc.js hc/testdoc.hc -t",
39
+ "build": "rimraf lib && eslint --fix \"{src,test}/**/*.ts\" && npm run ts",
40
+ "check": "grep -e 'only' -e 'skip' test/*/* || echo 'Ran all tests'",
41
+ "clean": "rimraf lib dist && rm -f *.log.* src/*.js src/*/*.js test/*.js test/*/*.js",
42
+ "debug": "echo 'Use `debugger;`\n' && mocha --inspect-brk --require ts-node/register --recursive test/**/*-spec.ts",
43
+ "done": "npm run clean && npm run bs:all && npm run check && npm run tag && npm install && git commit -am 'update version'",
44
+ "lint": "eslint --fix \"{src,test}/**/*.ts\"",
45
+ "hc": "node lib/src/cli/hc.js",
46
+ "test": "npm run build && mocha --require ts-node/register test/**/*.*ts",
47
+ "test-only": "mocha --require ts-node/register test/**/*.*ts",
48
+ "tag": "bump patch -ct package*.json README.md src/version.ts",
49
+ "tag:minor": "bump minor -ct package*.json README.md src/version.ts",
50
+ "ts": "npx tsc --pretty --inlineSourceMap && chmod a+x ./lib/src/cli/hc.js",
51
+ "ts:version": "echo TypeScript `tsc --version` ",
52
+ "verbose": "NODE_DEBUG=* npm run test",
53
+ "watch": "npm-watch test"
38
54
  },
39
55
  "dependencies": {
40
- "chalk": "^1.1.3",
41
- "inquirer": "3.0.6",
42
- "lodash": "4.17.4"
56
+ "chalk": "^5.3.0",
57
+ "inquirer": "^9.2.11",
58
+ "jsbi": "^4.3.0",
59
+ "minimist": "^1.2.8",
60
+ "node-fetch": "^3.3.2",
61
+ "npm-check-updates": "^16.14.4",
62
+ "version-bump-prompt": "^6.1.0"
43
63
  },
44
64
  "devDependencies": {
45
- "@types/node": "^7.0.5",
46
- "@types/chai": "3.5.1",
47
- "@types/chalk": "^0.4.31",
48
- "@types/lodash": "4.14.63",
49
- "@types/mocha": "2.2.41",
50
- "chai": "3.5.0",
51
- "chai-pretty-expect": "1.0.1",
52
- "inspect-process": "^0.4.2",
53
- "minimist": "1.2.0",
54
- "mocha": "3.3.0",
55
- "mocha-junit-reporter": "^1.13.0",
56
- "rimraf": "2.6.1",
57
- "ts-node": "3.0.2",
58
- "tslint": "5.1.0",
59
- "typescript": "2.2.2"
65
+ "@types/chai": "^4.3.6",
66
+ "@types/minimist": "^1.2.3",
67
+ "@types/mocha": "10.0.2",
68
+ "@types/node": ">=20.7.2",
69
+ "@typescript-eslint/eslint-plugin": "^6.7.3",
70
+ "@typescript-eslint/parser": "^6.7.3",
71
+ "asciidoctor": "^3.0.0",
72
+ "chai": "^4.3.10",
73
+ "eslint": "^8.50.0",
74
+ "eslint-config-google": "^0.14.0",
75
+ "eslint-config-standard": "^17.1.0",
76
+ "eslint-plugin-import": "^2.28.1",
77
+ "eslint-plugin-node": "^11.1.0",
78
+ "eslint-plugin-promise": "^6.1.1",
79
+ "mem": "^9.0.2",
80
+ "mocha": "^10.2.0",
81
+ "mocha-junit-reporter": "^2.2.1",
82
+ "pug": "^3.0.2",
83
+ "rimraf": "5.0.5",
84
+ "ts-node": "10.9.1",
85
+ "typescript": "5.2.2"
60
86
  },
61
87
  "engines": {
62
- "node": "7.5.0"
88
+ "node": ">=20.0.0"
63
89
  }
64
90
  }
package/lib/bin.d.ts DELETED
File without changes
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
- }