occam-verify-cli 0.0.1065 → 0.0.1067

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 (87) hide show
  1. package/lib/assertion/contained.js +2 -1
  2. package/lib/assertion/defined.js +2 -1
  3. package/lib/combinator/bracketed.js +135 -0
  4. package/lib/conclusion.js +6 -2
  5. package/lib/consequent.js +6 -2
  6. package/lib/constants.js +3 -3
  7. package/lib/constructor/bracketed.js +30 -11
  8. package/lib/context/file.js +45 -9
  9. package/lib/context/local.js +67 -28
  10. package/lib/metavariable.js +15 -54
  11. package/lib/mixins/statement/unify.js +18 -3
  12. package/lib/mixins/statement/verify.js +2 -11
  13. package/lib/premise.js +6 -2
  14. package/lib/proofStep.js +22 -13
  15. package/lib/rule.js +6 -2
  16. package/lib/ruleNames.js +1 -5
  17. package/lib/statement/qualified.js +30 -17
  18. package/lib/statement/unqualified.js +5 -5
  19. package/lib/statement.js +41 -24
  20. package/lib/subproof.js +1 -1
  21. package/lib/substitution/frameForMetavariable.js +44 -21
  22. package/lib/substitution/statementForMetavariable.js +93 -54
  23. package/lib/substitution/termForVariable.js +38 -21
  24. package/lib/substitution.js +48 -13
  25. package/lib/substitutions.js +22 -19
  26. package/lib/supposition.js +6 -2
  27. package/lib/unifier/metaLevel.js +14 -12
  28. package/lib/unify/metavariableWithFrame.js +2 -2
  29. package/lib/utilities/brackets.js +5 -10
  30. package/lib/utilities/node.js +29 -15
  31. package/lib/utilities/string.js +34 -16
  32. package/lib/utilities/tokens.js +16 -8
  33. package/lib/variable.js +10 -10
  34. package/package.json +2 -2
  35. package/src/assertion/contained.js +2 -0
  36. package/src/assertion/defined.js +2 -0
  37. package/src/combinator/bracketed.js +49 -0
  38. package/src/conclusion.js +8 -1
  39. package/src/consequent.js +8 -1
  40. package/src/constants.js +2 -2
  41. package/src/constructor/bracketed.js +32 -9
  42. package/src/context/file.js +41 -13
  43. package/src/context/local.js +71 -35
  44. package/src/metavariable.js +24 -74
  45. package/src/mixins/statement/unify.js +25 -2
  46. package/src/mixins/statement/verify.js +1 -14
  47. package/src/premise.js +8 -1
  48. package/src/proofStep.js +28 -12
  49. package/src/rule.js +7 -1
  50. package/src/ruleNames.js +0 -1
  51. package/src/statement/qualified.js +38 -21
  52. package/src/statement/unqualified.js +4 -4
  53. package/src/statement.js +62 -41
  54. package/src/subproof.js +0 -1
  55. package/src/substitution/frameForMetavariable.js +62 -32
  56. package/src/substitution/statementForMetavariable.js +102 -61
  57. package/src/substitution/termForVariable.js +52 -32
  58. package/src/substitution.js +40 -11
  59. package/src/substitutions.js +32 -25
  60. package/src/supposition.js +8 -1
  61. package/src/unifier/metaLevel.js +23 -18
  62. package/src/unify/metavariableWithFrame.js +2 -2
  63. package/src/utilities/brackets.js +2 -3
  64. package/src/utilities/node.js +30 -22
  65. package/src/utilities/string.js +39 -23
  66. package/src/utilities/tokens.js +17 -8
  67. package/src/variable.js +7 -7
  68. package/lib/node/statement/bracketed.js +0 -16
  69. package/lib/node/statement/combinator/bracketed.js +0 -25
  70. package/lib/node/term/bracketed.js +0 -16
  71. package/lib/node/term/constructor/bracketed.js +0 -25
  72. package/lib/ocmbinator/bracketed.js +0 -157
  73. package/lib/resolve/complexSubstitutionAgainstSimpleSubstitution.js +0 -62
  74. package/lib/resolve/substitution.js +0 -27
  75. package/lib/resolve/substitutions.js +0 -37
  76. package/lib/substitution/statement.js +0 -163
  77. package/lib/verifier/substitution.js +0 -161
  78. package/src/node/statement/bracketed.js +0 -9
  79. package/src/node/statement/combinator/bracketed.js +0 -10
  80. package/src/node/term/bracketed.js +0 -9
  81. package/src/node/term/constructor/bracketed.js +0 -10
  82. package/src/ocmbinator/bracketed.js +0 -26
  83. package/src/resolve/complexSubstitutionAgainstSimpleSubstitution.js +0 -79
  84. package/src/resolve/substitution.js +0 -19
  85. package/src/resolve/substitutions.js +0 -31
  86. package/src/substitution/statement.js +0 -81
  87. package/src/verifier/substitution.js +0 -75
@@ -1,161 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _shim = /*#__PURE__*/ _interop_require_default(require("../shim"));
12
- var _verifier = /*#__PURE__*/ _interop_require_default(require("../verifier"));
13
- var _query = require("../utilities/query");
14
- function _assert_this_initialized(self) {
15
- if (self === void 0) {
16
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
17
- }
18
- return self;
19
- }
20
- function _call_super(_this, derived, args) {
21
- derived = _get_prototype_of(derived);
22
- return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
23
- }
24
- function _class_call_check(instance, Constructor) {
25
- if (!(instance instanceof Constructor)) {
26
- throw new TypeError("Cannot call a class as a function");
27
- }
28
- }
29
- function _defineProperties(target, props) {
30
- for(var i = 0; i < props.length; i++){
31
- var descriptor = props[i];
32
- descriptor.enumerable = descriptor.enumerable || false;
33
- descriptor.configurable = true;
34
- if ("value" in descriptor) descriptor.writable = true;
35
- Object.defineProperty(target, descriptor.key, descriptor);
36
- }
37
- }
38
- function _create_class(Constructor, protoProps, staticProps) {
39
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
40
- if (staticProps) _defineProperties(Constructor, staticProps);
41
- return Constructor;
42
- }
43
- function _define_property(obj, key, value) {
44
- if (key in obj) {
45
- Object.defineProperty(obj, key, {
46
- value: value,
47
- enumerable: true,
48
- configurable: true,
49
- writable: true
50
- });
51
- } else {
52
- obj[key] = value;
53
- }
54
- return obj;
55
- }
56
- function _get_prototype_of(o) {
57
- _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
58
- return o.__proto__ || Object.getPrototypeOf(o);
59
- };
60
- return _get_prototype_of(o);
61
- }
62
- function _inherits(subClass, superClass) {
63
- if (typeof superClass !== "function" && superClass !== null) {
64
- throw new TypeError("Super expression must either be null or a function");
65
- }
66
- subClass.prototype = Object.create(superClass && superClass.prototype, {
67
- constructor: {
68
- value: subClass,
69
- writable: true,
70
- configurable: true
71
- }
72
- });
73
- if (superClass) _set_prototype_of(subClass, superClass);
74
- }
75
- function _interop_require_default(obj) {
76
- return obj && obj.__esModule ? obj : {
77
- default: obj
78
- };
79
- }
80
- function _possible_constructor_return(self, call) {
81
- if (call && (_type_of(call) === "object" || typeof call === "function")) {
82
- return call;
83
- }
84
- return _assert_this_initialized(self);
85
- }
86
- function _set_prototype_of(o, p) {
87
- _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
88
- o.__proto__ = p;
89
- return o;
90
- };
91
- return _set_prototype_of(o, p);
92
- }
93
- function _type_of(obj) {
94
- "@swc/helpers - typeof";
95
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
96
- }
97
- function _is_native_reflect_construct() {
98
- try {
99
- var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
100
- } catch (_) {}
101
- return (_is_native_reflect_construct = function() {
102
- return !!result;
103
- })();
104
- }
105
- var termNodeQuery = (0, _query.nodeQuery)("/term"), frameNodeQuery = (0, _query.nodeQuery)("/frame"), variableNodeQuery = (0, _query.nodeQuery)("/variable"), metavariableNodeQuery = (0, _query.nodeQuery)("/metavariable");
106
- var SubstitutionVerifier = /*#__PURE__*/ function(Verifier) {
107
- _inherits(SubstitutionVerifier, Verifier);
108
- function SubstitutionVerifier() {
109
- _class_call_check(this, SubstitutionVerifier);
110
- return _call_super(this, SubstitutionVerifier, arguments);
111
- }
112
- _create_class(SubstitutionVerifier, [
113
- {
114
- key: "verify",
115
- value: function verify(substitutionNode, assignments, stated, localContext) {
116
- var substitutionVerified;
117
- var nonTerminalNode = substitutionNode, nonTerminalNodeVerified = this.verifyNonTerminalNode(nonTerminalNode, assignments, stated, localContext);
118
- substitutionVerified = nonTerminalNodeVerified; ///
119
- return substitutionVerified;
120
- }
121
- }
122
- ]);
123
- return SubstitutionVerifier;
124
- }(_verifier.default);
125
- _define_property(SubstitutionVerifier, "maps", [
126
- {
127
- nodeQuery: metavariableNodeQuery,
128
- verify: function(metavariableNode, assignments, stated, localContext) {
129
- var Metavariable = _shim.default.Metavariable, metavariable = Metavariable.fromMetavariableNode(metavariableNode, localContext), metavariableVerified = metavariable.verify(localContext);
130
- return metavariableVerified;
131
- }
132
- },
133
- {
134
- nodeQuery: variableNodeQuery,
135
- verify: function(variableNode, assignments, stated, localContext) {
136
- var Variable = _shim.default.Variable, variable = Variable.fromVariableNode(variableNode, localContext), variableVerified = variable.verify(localContext);
137
- return variableVerified;
138
- }
139
- },
140
- {
141
- nodeQuery: frameNodeQuery,
142
- verify: function(frameNode, assignments, stated, localContext) {
143
- var Frame = _shim.default.Frame, frame = Frame.fromFrameNode(frameNode, localContext), frameVerified = frame.verify(localContext);
144
- return frameVerified;
145
- }
146
- },
147
- {
148
- nodeQuery: termNodeQuery,
149
- verify: function(termNode, assignments, stated, localContext) {
150
- var Term = _shim.default.Term, term = Term.fromTermNode(termNode, localContext), termVerified = term.verify(localContext, function() {
151
- var verifiedAhead = true;
152
- return verifiedAhead;
153
- });
154
- return termVerified;
155
- }
156
- }
157
- ]);
158
- var substitutionVerifier = new SubstitutionVerifier();
159
- var _default = substitutionVerifier;
160
-
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci9zdWJzdGl0dXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuLi9zaGltXCI7XG5pbXBvcnQgVmVyaWZpZXIgZnJvbSBcIi4uL3ZlcmlmaWVyXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtXCIpLFxuICAgICAgZnJhbWVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZnJhbWVcIiksXG4gICAgICB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZVwiKSxcbiAgICAgIG1ldGF2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdmFyaWFibGVcIik7XG5cbmNsYXNzIFN1YnN0aXR1dGlvblZlcmlmaWVyIGV4dGVuZHMgVmVyaWZpZXIge1xuICB2ZXJpZnkoc3Vic3RpdHV0aW9uTm9kZSwgYXNzaWdubWVudHMsIHN0YXRlZCwgbG9jYWxDb250ZXh0KSB7XG4gICAgbGV0IHN1YnN0aXR1dGlvblZlcmlmaWVkO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gc3Vic3RpdHV0aW9uTm9kZSwgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBzdWJzdGl0dXRpb25WZXJpZmllZCA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAgLy8vXG5cbiAgICByZXR1cm4gc3Vic3RpdHV0aW9uVmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgbWFwcyA9IFtcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IG1ldGF2YXJpYWJsZU5vZGVRdWVyeSxcbiAgICAgIHZlcmlmeTogKG1ldGF2YXJpYWJsZU5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IE1ldGF2YXJpYWJsZSB9ID0gc2hpbSxcbiAgICAgICAgICAgICAgbWV0YXZhcmlhYmxlID0gTWV0YXZhcmlhYmxlLmZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGxvY2FsQ29udGV4dCksXG4gICAgICAgICAgICAgIG1ldGF2YXJpYWJsZVZlcmlmaWVkID0gbWV0YXZhcmlhYmxlLnZlcmlmeShsb2NhbENvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBtZXRhdmFyaWFibGVWZXJpZmllZDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIG5vZGVRdWVyeTogdmFyaWFibGVOb2RlUXVlcnksXG4gICAgICB2ZXJpZnk6ICh2YXJpYWJsZU5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFZhcmlhYmxlIH0gPSBzaGltLFxuICAgICAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgICAgICB2YXJpYWJsZVZlcmlmaWVkID0gdmFyaWFibGUudmVyaWZ5KGxvY2FsQ29udGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHZhcmlhYmxlVmVyaWZpZWQ7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlUXVlcnk6IGZyYW1lTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAoZnJhbWVOb2RlLCBhc3NpZ25tZW50cywgc3RhdGVkLCBsb2NhbENvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgeyBGcmFtZSB9ID0gc2hpbSxcbiAgICAgICAgICAgICAgZnJhbWUgPSBGcmFtZS5mcm9tRnJhbWVOb2RlKGZyYW1lTm9kZSwgbG9jYWxDb250ZXh0KSxcbiAgICAgICAgICAgICAgZnJhbWVWZXJpZmllZCA9IGZyYW1lLnZlcmlmeShsb2NhbENvbnRleHQpO1xuXG4gICAgICAgIHJldHVybiBmcmFtZVZlcmlmaWVkO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZVF1ZXJ5OiB0ZXJtTm9kZVF1ZXJ5LFxuICAgICAgdmVyaWZ5OiAodGVybU5vZGUsIGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGxvY2FsQ29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCB7IFRlcm0gfSA9IHNoaW0sXG4gICAgICAgICAgICAgIHRlcm0gPSBUZXJtLmZyb21UZXJtTm9kZSh0ZXJtTm9kZSwgbG9jYWxDb250ZXh0KSxcbiAgICAgICAgICAgICAgdGVybVZlcmlmaWVkID0gdGVybS52ZXJpZnkobG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRlcm1WZXJpZmllZDtcbiAgICAgIH1cbiAgICB9XG4gIF07XG59XG5cbmNvbnN0IHN1YnN0aXR1dGlvblZlcmlmaWVyID0gbmV3IFN1YnN0aXR1dGlvblZlcmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHN1YnN0aXR1dGlvblZlcmlmaWVyO1xuIl0sIm5hbWVzIjpbInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJmcmFtZU5vZGVRdWVyeSIsInZhcmlhYmxlTm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTm9kZVF1ZXJ5IiwiU3Vic3RpdHV0aW9uVmVyaWZpZXIiLCJ2ZXJpZnkiLCJzdWJzdGl0dXRpb25Ob2RlIiwiYXNzaWdubWVudHMiLCJzdGF0ZWQiLCJsb2NhbENvbnRleHQiLCJzdWJzdGl0dXRpb25WZXJpZmllZCIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwiVmVyaWZpZXIiLCJtYXBzIiwibWV0YXZhcmlhYmxlTm9kZSIsIk1ldGF2YXJpYWJsZSIsInNoaW0iLCJtZXRhdmFyaWFibGUiLCJmcm9tTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkIiwidmFyaWFibGVOb2RlIiwiVmFyaWFibGUiLCJ2YXJpYWJsZSIsImZyb21WYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZVZlcmlmaWVkIiwiZnJhbWVOb2RlIiwiRnJhbWUiLCJmcmFtZSIsImZyb21GcmFtZU5vZGUiLCJmcmFtZVZlcmlmaWVkIiwidGVybU5vZGUiLCJUZXJtIiwidGVybSIsImZyb21UZXJtTm9kZSIsInRlcm1WZXJpZmllZCIsInZlcmlmaWVkQWhlYWQiLCJzdWJzdGl0dXRpb25WZXJpZmllciJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBMEVBOzs7ZUFBQTs7OzJEQXhFaUI7K0RBQ0k7cUJBRUs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTFCLElBQU1BLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxVQUMxQkMsaUJBQWlCRCxJQUFBQSxnQkFBUyxFQUFDLFdBQzNCRSxvQkFBb0JGLElBQUFBLGdCQUFTLEVBQUMsY0FDOUJHLHdCQUF3QkgsSUFBQUEsZ0JBQVMsRUFBQztBQUV4QyxJQUFBLEFBQU1JLHFDQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtpQ0FBQUE7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLGdCQUFnQixFQUFFQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsWUFBWTtnQkFDeEQsSUFBSUM7Z0JBRUosSUFBTUMsa0JBQWtCTCxrQkFDbEJNLDBCQUEwQixJQUFJLENBQUNDLHFCQUFxQixDQUFDRixpQkFBaUJKLGFBQWFDLFFBQVFDO2dCQUVqR0MsdUJBQXVCRSx5QkFBMEIsR0FBRztnQkFFcEQsT0FBT0Y7WUFDVDs7O1dBVklOO0VBQTZCVSxpQkFBUTtBQVl6QyxpQkFaSVYsc0JBWUdXLFFBQU87SUFDWjtRQUNFZixXQUFXRztRQUNYRSxRQUFRLFNBQUNXLGtCQUFrQlQsYUFBYUMsUUFBUUM7WUFDOUMsSUFBTSxBQUFFUSxlQUFpQkMsYUFBSSxDQUFyQkQsY0FDRkUsZUFBZUYsYUFBYUcsb0JBQW9CLENBQUNKLGtCQUFrQlAsZUFDbkVZLHVCQUF1QkYsYUFBYWQsTUFBTSxDQUFDSTtZQUVqRCxPQUFPWTtRQUNUO0lBQ0Y7SUFDQTtRQUNFckIsV0FBV0U7UUFDWEcsUUFBUSxTQUFDaUIsY0FBY2YsYUFBYUMsUUFBUUM7WUFDMUMsSUFBTSxBQUFFYyxXQUFhTCxhQUFJLENBQWpCSyxVQUNGQyxXQUFXRCxTQUFTRSxnQkFBZ0IsQ0FBQ0gsY0FBY2IsZUFDbkRpQixtQkFBbUJGLFNBQVNuQixNQUFNLENBQUNJO1lBRXpDLE9BQU9pQjtRQUNUO0lBQ0Y7SUFDQTtRQUNFMUIsV0FBV0M7UUFDWEksUUFBUSxTQUFDc0IsV0FBV3BCLGFBQWFDLFFBQVFDO1lBQ3ZDLElBQU0sQUFBRW1CLFFBQVVWLGFBQUksQ0FBZFUsT0FDRkMsUUFBUUQsTUFBTUUsYUFBYSxDQUFDSCxXQUFXbEIsZUFDdkNzQixnQkFBZ0JGLE1BQU14QixNQUFNLENBQUNJO1lBRW5DLE9BQU9zQjtRQUNUO0lBQ0Y7SUFDQTtRQUNFL0IsV0FBV0Q7UUFDWE0sUUFBUSxTQUFDMkIsVUFBVXpCLGFBQWFDLFFBQVFDO1lBQ3RDLElBQU0sQUFBRXdCLE9BQVNmLGFBQUksQ0FBYmUsTUFDRkMsT0FBT0QsS0FBS0UsWUFBWSxDQUFDSCxVQUFVdkIsZUFDbkMyQixlQUFlRixLQUFLN0IsTUFBTSxDQUFDSSxjQUFjO2dCQUN2QyxJQUFNNEIsZ0JBQWdCO2dCQUV0QixPQUFPQTtZQUNUO1lBRU4sT0FBT0Q7UUFDVDtJQUNGO0NBQ0Q7QUFHSCxJQUFNRSx1QkFBdUIsSUFBSWxDO0lBRWpDLFdBQWVrQyJ9
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- import { statementNodeFromStatementString } from "../../utilities/node";
4
-
5
- const bracketedStatementString = "(n=m)";
6
-
7
- const bracketedStatementNode = statementNodeFromStatementString(bracketedStatementString);
8
-
9
- export default bracketedStatementNode;
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- import { STATEMENT_META_TYPE_NAME } from "../../../metaTypeNames";
4
- import { statementNodeFromStatementString } from "../../../utilities/node";
5
-
6
- export const bracketedCombinatorStatementString = `(${STATEMENT_META_TYPE_NAME})`;
7
-
8
- const bracketedCombinatorStatementNode = statementNodeFromStatementString(bracketedCombinatorStatementString)
9
-
10
- export default bracketedCombinatorStatementNode;
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- import { termNodeFromTermString } from "../../utilities/node";
4
-
5
- const bracketedTermString = "(n)";
6
-
7
- const bracketedTermNode = termNodeFromTermString(bracketedTermString);
8
-
9
- export default bracketedTermNode;
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- import { OBJECT_TYPE_NAME } from "../../../typeNames";
4
- import { termNodeFromTermString } from "../../../utilities/node";
5
-
6
- export const bracketedConstructorTermString = `(${OBJECT_TYPE_NAME})`;
7
-
8
- const bracketedConstructorTermNode = termNodeFromTermString(bracketedConstructorTermString)
9
-
10
- export default bracketedConstructorTermNode;
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- import shim from "../shim";
4
- import Combinator from "../combinator";
5
- import bracketedCombinatorStatementNode from "../node/statement/combinator/bracketed";
6
-
7
- import { bracketedCombinatorStatementString } from "../node/statement/combinator/bracketed";
8
-
9
- const localContext = {
10
- nodeAsString: (node) => {
11
- const string = bracketedCombinatorStatementString; ///
12
-
13
- return string;
14
- }
15
- };
16
-
17
- export default class BracketedCombinator extends Combinator {
18
- static fromNothing() {
19
- const { Statement } = shim,
20
- statementNode = bracketedCombinatorStatementNode, ///
21
- statement = Statement.fromStatementNode(statementNode, localContext),
22
- bracketedCombinator = new BracketedCombinator(statement);
23
-
24
- return bracketedCombinator;
25
- }
26
- }
@@ -1,79 +0,0 @@
1
- "use strict";
2
-
3
- import Substitutions from "../substitutions";
4
- import unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement from "../unify/simpleSubstitutionStatementWithComplexSubstitutionStatement";
5
-
6
- export default function resolveComplexSubstitutionAgainstSimpleSubstitution(complexSubstitution, simpleSubstitution, substitutions, localContextA, localContextB) {
7
- let complexSubstitutionResolvedAgainstSimpleSubstitution = false;
8
-
9
- const statementNode = complexSubstitution.getStatementNode(),
10
- simpleSubstitutionString = simpleSubstitution.asString(localContextA, localContextB),
11
- complexSubstitutionString = complexSubstitution.asString(localContextA, localContextB);
12
-
13
- localContextB.trace(`Resolving the complex ${complexSubstitutionString} substitution against the simple ${simpleSubstitutionString} substitution...`, statementNode);
14
-
15
- const transformedSubstitution = transformedSubstitutionFromComplexSubstitution(complexSubstitution, substitutions, localContextA, localContextB);
16
-
17
- if (transformedSubstitution !== null) {
18
- const substitution = substitutionFromComplexSubstitutionAndAndSimpleSubstitution(complexSubstitution, simpleSubstitution, localContextA, localContextB);
19
-
20
- if (substitution !== null) {
21
- const substitutionString = substitution.asString(localContextB, localContextB),
22
- transformedSubstitutionString = transformedSubstitution.asString(localContextB, localContextB);
23
-
24
- localContextB.trace(`Equating the ${substitutionString} substitution to the transformed ${transformedSubstitutionString} substitution...`, statementNode);
25
-
26
- const substitutionEqualToTransformedSubstitution = substitution.isEqualTo(transformedSubstitution);
27
-
28
- complexSubstitutionResolvedAgainstSimpleSubstitution = substitutionEqualToTransformedSubstitution; ///
29
- }
30
- }
31
-
32
- if (complexSubstitutionResolvedAgainstSimpleSubstitution) {
33
- localContextB.debug(`...resolved the complex ${complexSubstitutionString} substitution against the simple ${simpleSubstitutionString} substitution.`, statementNode);
34
- }
35
-
36
- return complexSubstitutionResolvedAgainstSimpleSubstitution;
37
- }
38
-
39
- function transformedSubstitutionFromComplexSubstitution(complexSubstitution, substitutions, localContextA, localContextB) {
40
- const substitution = complexSubstitution.getSubstitution(),
41
- substitutionString = substitution.asString(localContextA, localContextA),
42
- complexSubstitutionStatementNode = complexSubstitution.getStatementNode();
43
-
44
- localContextB.trace(`Transforming the complex substitution's '${substitutionString}' substitution....`, complexSubstitutionStatementNode);
45
-
46
- const transformedSubstitution = substitution.transformed(substitutions);
47
-
48
- if (transformedSubstitution !== null) {
49
- const transformedSubstitutionString = transformedSubstitution.asString(localContextB, localContextB);
50
-
51
- localContextB.debug(`Transformed the complex substitution's '${substitutionString}' substitution into the '${transformedSubstitutionString}' substitution.`, complexSubstitutionStatementNode);
52
- }
53
-
54
- return transformedSubstitution;
55
- }
56
-
57
- function substitutionFromComplexSubstitutionAndAndSimpleSubstitution(complexSubstitution, simpleSubstitution, localContextA, localContextB) {
58
- let substitution = null;
59
-
60
- const substitutions = Substitutions.fromNothing(), ///
61
- simpleSubstitutionStatementNode = simpleSubstitution.getStatementNode(),
62
- complexSubstitutionStatementNode = complexSubstitution.getStatementNode();
63
-
64
- localContextA = localContextB; ///
65
-
66
- const simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement = unifyComplexSubstitutionStatementWithSimpleSubstitutionStatement(complexSubstitutionStatementNode, simpleSubstitutionStatementNode, substitutions, localContextA, localContextB);
67
-
68
- if (simpleSubstitutionStatementUnifiedWithComplexSubstitutionStatement) {
69
- const substitutionsLength = substitutions.getLength();
70
-
71
- if (substitutionsLength === 1) {
72
- const firstSubstitution = substitutions.getFirstSubstitution();
73
-
74
- substitution = firstSubstitution; ///
75
- }
76
- }
77
-
78
- return substitution;
79
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- import resolveComplexSubstitutionAgainstSimpleSubstitution from "../resolve/complexSubstitutionAgainstSimpleSubstitution";
4
-
5
- export default function resolveSubstitution(substitution, substitutions, localContextA, localContextB) {
6
- let complexSubstitutionResolved = false;
7
-
8
- const metavariableNode = substitution.getMetavariableNode(),
9
- simpleSubstitution = substitutions.findSimpleSubstitutionByMetavariableNode(metavariableNode);
10
-
11
- if (simpleSubstitution !== null) {
12
- const complexSubstitution = substitution, ///
13
- complexSubstitutionResolvedAgainstSimpleSubstitution = resolveComplexSubstitutionAgainstSimpleSubstitution(complexSubstitution, simpleSubstitution, substitutions, localContextA, localContextB);
14
-
15
- complexSubstitutionResolved = complexSubstitutionResolvedAgainstSimpleSubstitution; ///
16
- }
17
-
18
- return complexSubstitutionResolved;
19
- }
@@ -1,31 +0,0 @@
1
- "use strict";
2
-
3
- import LocalContext from "../context/local";
4
- import resolveSubstitution from "../resolve/substitution";
5
-
6
- export default function resolveSubstitutions(substitutions, fileContextA, localContextB) {
7
- let substitutionsResolved = substitutions.areResolved();
8
-
9
- if (!substitutionsResolved) {
10
- const localContextA = LocalContext.fromFileContext(fileContextA),
11
- metavariableNodes = substitutions.getMetavariableNodes();
12
-
13
- substitutionsResolved = metavariableNodes.every((metavariableNode) => {
14
- const complexSubstitutions = substitutions.findComplexSubstitutionsByMetavariableNode(metavariableNode),
15
- complexSubstitutionsResolved = complexSubstitutions.everySubstitution((complexSubstitution) => {
16
- const substitution = complexSubstitution, ///
17
- complexSubstitutionResolved = resolveSubstitution(substitution, substitutions, localContextA, localContextB);
18
-
19
- if (complexSubstitutionResolved) {
20
- return true;
21
- }
22
- });
23
-
24
- if (complexSubstitutionsResolved) {
25
- return true;
26
- }
27
- });
28
- }
29
-
30
- return substitutionsResolved;
31
- }
@@ -1,81 +0,0 @@
1
- "use strict";
2
-
3
- import Substitution from "../substitution";
4
- import substitutionVerifier from "../verifier/substitution";
5
-
6
- import { nodeQuery } from "../utilities/query";
7
- import { substitutionNodeFromSubstitutionString } from "../utilities/node";
8
-
9
- const substitutionNodeQuery = nodeQuery("/statement/substitution");
10
-
11
- export default class StatementSubstitution extends Substitution {
12
- constructor(string, node) {
13
- super(string);
14
-
15
- this.node = node;
16
- }
17
-
18
- getNode() {
19
- return this.node;
20
- }
21
-
22
- verify(assignments, stated, localContext) {
23
- let verified;
24
-
25
- const statementSubstitutionString = this.string; ///
26
-
27
- localContext.trace(`Verifying the '${statementSubstitutionString}' statement substitution...`);
28
-
29
- const substitutionNode = this.node, ///
30
- substitutionVerified = substitutionVerifier.verify(substitutionNode, assignments, stated, localContext);
31
-
32
- verified = substitutionVerified; ///
33
-
34
- if (verified) {
35
- localContext.debug(`...verified the '${statementSubstitutionString}' statement substitution.`);
36
- }
37
-
38
- return verified;
39
- }
40
-
41
- toJSON() {
42
- const string = this.getString(),
43
- json = {
44
- string
45
- };
46
-
47
- return json;
48
- }
49
-
50
- static fromJSON(json, fileContext) {
51
- let statementSubstitution = null;
52
-
53
- if (json !== null) {
54
- const { string } = json,
55
- lexer = fileContext.getLexer(),
56
- parser = fileContext.getParser(),
57
- substitutionString = string, ///
58
- substitutionNode = substitutionNodeFromSubstitutionString(substitutionString, lexer, parser),
59
- node = substitutionNode;
60
-
61
- statementSubstitution = new Substitution(string, node);
62
- }
63
-
64
- return statementSubstitution;
65
- }
66
-
67
- static fromStatementNode(statementNode, fileContext) {
68
- let statementSubstitution = null;
69
-
70
- const substitutionNode = substitutionNodeQuery(statementNode);
71
-
72
- if (substitutionNode) {
73
- const node = substitutionNode, ///
74
- string = fileContext.nodeAsString(substitutionNode);
75
-
76
- statementSubstitution = new StatementSubstitution(string, node);
77
- }
78
-
79
- return statementSubstitution;
80
- }
81
- }
@@ -1,75 +0,0 @@
1
- "use strict";
2
-
3
- import shim from "../shim";
4
- import Verifier from "../verifier";
5
-
6
- import { nodeQuery } from "../utilities/query";
7
-
8
- const termNodeQuery = nodeQuery("/term"),
9
- frameNodeQuery = nodeQuery("/frame"),
10
- variableNodeQuery = nodeQuery("/variable"),
11
- metavariableNodeQuery = nodeQuery("/metavariable");
12
-
13
- class SubstitutionVerifier extends Verifier {
14
- verify(substitutionNode, assignments, stated, localContext) {
15
- let substitutionVerified;
16
-
17
- const nonTerminalNode = substitutionNode, ///
18
- nonTerminalNodeVerified = this.verifyNonTerminalNode(nonTerminalNode, assignments, stated, localContext);
19
-
20
- substitutionVerified = nonTerminalNodeVerified; ///
21
-
22
- return substitutionVerified;
23
- }
24
-
25
- static maps = [
26
- {
27
- nodeQuery: metavariableNodeQuery,
28
- verify: (metavariableNode, assignments, stated, localContext) => {
29
- const { Metavariable } = shim,
30
- metavariable = Metavariable.fromMetavariableNode(metavariableNode, localContext),
31
- metavariableVerified = metavariable.verify(localContext);
32
-
33
- return metavariableVerified;
34
- }
35
- },
36
- {
37
- nodeQuery: variableNodeQuery,
38
- verify: (variableNode, assignments, stated, localContext) => {
39
- const { Variable } = shim,
40
- variable = Variable.fromVariableNode(variableNode, localContext),
41
- variableVerified = variable.verify(localContext);
42
-
43
- return variableVerified;
44
- }
45
- },
46
- {
47
- nodeQuery: frameNodeQuery,
48
- verify: (frameNode, assignments, stated, localContext) => {
49
- const { Frame } = shim,
50
- frame = Frame.fromFrameNode(frameNode, localContext),
51
- frameVerified = frame.verify(localContext);
52
-
53
- return frameVerified;
54
- }
55
- },
56
- {
57
- nodeQuery: termNodeQuery,
58
- verify: (termNode, assignments, stated, localContext) => {
59
- const { Term } = shim,
60
- term = Term.fromTermNode(termNode, localContext),
61
- termVerified = term.verify(localContext, () => {
62
- const verifiedAhead = true;
63
-
64
- return verifiedAhead;
65
- });
66
-
67
- return termVerified;
68
- }
69
- }
70
- ];
71
- }
72
-
73
- const substitutionVerifier = new SubstitutionVerifier();
74
-
75
- export default substitutionVerifier;