occam-verify-cli 0.0.531 → 0.0.532
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.
- package/bin/utilities/releaseContext.js +3 -3
- package/lib/axiom.js +3 -3
- package/lib/axiomLemmaTheoremConjecture.js +5 -5
- package/lib/combinator.js +3 -3
- package/lib/conclusion.js +3 -3
- package/lib/conjecture.js +3 -3
- package/lib/consequence.js +3 -3
- package/lib/constructor.js +5 -5
- package/lib/context/file.js +3 -2
- package/lib/context/release/file.js +10 -10
- package/lib/label.js +3 -3
- package/lib/lemma.js +3 -3
- package/lib/premise.js +3 -3
- package/lib/rule.js +5 -5
- package/lib/supposition.js +3 -3
- package/lib/theorem.js +3 -3
- package/lib/type.js +6 -6
- package/lib/utilities/node.js +3 -3
- package/package.json +1 -1
- package/src/axiom.js +1 -1
- package/src/axiomLemmaTheoremConjecture.js +4 -4
- package/src/combinator.js +3 -1
- package/src/conclusion.js +3 -1
- package/src/conjecture.js +1 -1
- package/src/consequence.js +3 -1
- package/src/constructor.js +5 -3
- package/src/context/file.js +3 -1
- package/src/context/release/file.js +10 -11
- package/src/label.js +3 -1
- package/src/lemma.js +1 -1
- package/src/premise.js +3 -1
- package/src/rule.js +4 -4
- package/src/supposition.js +3 -1
- package/src/theorem.js +1 -1
- package/src/type.js +5 -5
- package/src/utilities/node.js +3 -2
package/lib/utilities/node.js
CHANGED
|
@@ -48,9 +48,9 @@ function metastatementNodeFromMetastatementString(metastatementString, lexer, pa
|
|
|
48
48
|
}
|
|
49
49
|
function nodeFromContentAndRuleName(content, ruleName) {
|
|
50
50
|
var lexer = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : florenceLexer, parser = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : florenceParser;
|
|
51
|
-
var ruleMap = parser.getRuleMap(), rule = ruleMap[ruleName], tokens = lexer.tokenise(content), node = parser.parse(tokens, rule);
|
|
52
|
-
(0, _occamGrammarUtilities.rewriteNodes)(
|
|
51
|
+
var ruleMap = parser.getRuleMap(), rule = ruleMap[ruleName], tokens = lexer.tokenise(content), node = parser.parse(tokens, rule), nonTerminalNode = node; ///
|
|
52
|
+
(0, _occamGrammarUtilities.rewriteNodes)(nonTerminalNode);
|
|
53
53
|
return node;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcmV3cml0ZU5vZGVzIH0gZnJvbSBcIm9jY2FtLWdyYW1tYXItdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tY3VzdG9tLWdyYW1tYXJzXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IExBQkVMX1JVTEVfTkFNRSwgVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSwgVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUsIENPTlNUUlVDVE9SX0RFQ0xBUkFUSU9OUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5pbXBvcnQgeyBjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tTm90aGluZyB9IGZyb20gXCIuL2N1c3RvbUdyYW1tYXJcIjtcblxuY29uc3QgeyBmbG9yZW5jZUxleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBmbG9yZW5jZVBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIgfSA9IHBhcnNlcnNVdGlsaXRpZXM7XG5cbmNvbnN0IGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nKCksXG4gICAgICBmbG9yZW5jZUxleGVyID0gZmxvcmVuY2VMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKSxcbiAgICAgIGZsb3JlbmNlUGFyc2VyID0gZmxvcmVuY2VQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyKGNvbWJpbmVkQ3VzdG9tR3JhbW1hcik7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uc3RydWN0b3JEZWNsYXJhdGlvbi90ZXJtIVwiKSxcbiAgICAgIHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpLFxuICAgICAgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXJtTm9kZUZyb21UZXJtU3RyaW5nKHRlcm1TdHJpbmcsIGxleGVyLCBwYXJzZXIpIHtcbiAgY29uc3QgcnVsZU5hbWUgPSBDT05TVFJVQ1RPUl9ERUNMQVJBVElPTlJVTEVfTkFNRSxcbiAgICAgICAgY29udGVudCA9IGBDb25zdHJ1Y3RvciAke3Rlcm1TdHJpbmd9XG5gLFxuICAgICAgICBub2RlID0gbm9kZUZyb21Db250ZW50QW5kUnVsZU5hbWUoY29udGVudCwgcnVsZU5hbWUsIGxleGVyLCBwYXJzZXIpLFxuICAgICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSA9IG5vZGUsIC8vL1xuICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpO1xuXG4gIHJldHVybiB0ZXJtTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxhYmVsTm9kZUZyb21MYWJlbFN0cmluZyhsYWJlbFN0cmluZywgbGV4ZXIsIHBhcnNlcikge1xuICBjb25zdCBjb250ZW50ID0gbGFiZWxTdHJpbmcsIC8vL1xuICAgICAgICBydWxlTmFtZSA9IExBQkVMX1JVTEVfTkFNRSxcbiAgICAgICAgbm9kZSA9IG5vZGVGcm9tQ29udGVudEFuZFJ1bGVOYW1lKGNvbnRlbnQsIHJ1bGVOYW1lLCBsZXhlciwgcGFyc2VyKSxcbiAgICAgICAgbGFiZWxOb2RlID0gbm9kZTsgLy8vXG5cbiAgcmV0dXJuIGxhYmVsTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nKHN0YXRlbWVudFN0cmluZywgbGV4ZXIsIHBhcnNlcikge1xuICBjb25zdCBydWxlTmFtZSA9IFVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUsXG4gICAgICAgIGNvbnRlbnQgPSBgJHtzdGF0ZW1lbnRTdHJpbmd9XG5gLFxuICAgICAgICBub2RlID0gbm9kZUZyb21Db250ZW50QW5kUnVsZU5hbWUoY29udGVudCwgcnVsZU5hbWUsIGxleGVyLCBwYXJzZXIpLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gc3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFzdGF0ZW1lbnROb2RlRnJvbU1ldGFzdGF0ZW1lbnRTdHJpbmcobWV0YXN0YXRlbWVudFN0cmluZywgbGV4ZXIsIHBhcnNlcikge1xuICBjb25zdCBydWxlTmFtZSA9IFVOUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICBjb250ZW50ID0gYCR7bWV0YXN0YXRlbWVudFN0cmluZ31cbmAsXG4gICAgICAgIG5vZGUgPSBub2RlRnJvbUNvbnRlbnRBbmRSdWxlTmFtZShjb250ZW50LCBydWxlTmFtZSwgbGV4ZXIsIHBhcnNlciksXG4gICAgICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICByZXR1cm4gbWV0YXN0YXRlbWVudE5vZGU7XG59XG5cbmZ1bmN0aW9uIG5vZGVGcm9tQ29udGVudEFuZFJ1bGVOYW1lKGNvbnRlbnQsIHJ1bGVOYW1lLCBsZXhlciA9IGZsb3JlbmNlTGV4ZXIsIHBhcnNlciA9IGZsb3JlbmNlUGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVNYXAgPSBwYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICBydWxlID0gcnVsZU1hcFtydWxlTmFtZV0sXG4gICAgICAgIHRva2VucyA9IGxleGVyLnRva2VuaXNlKGNvbnRlbnQpLFxuICAgICAgICBub2RlID0gcGFyc2VyLnBhcnNlKHRva2VucywgcnVsZSksXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IG5vZGU7IC8vL1xuXG4gIHJld3JpdGVOb2Rlcyhub25UZXJtaW5hbE5vZGUpO1xuXG4gIHJldHVybiBub2RlO1xufVxuIl0sIm5hbWVzIjpbInRlcm1Ob2RlRnJvbVRlcm1TdHJpbmciLCJsYWJlbE5vZGVGcm9tTGFiZWxTdHJpbmciLCJzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyIsIm1ldGFzdGF0ZW1lbnROb2RlRnJvbU1ldGFzdGF0ZW1lbnRTdHJpbmciLCJmbG9yZW5jZUxleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImxleGVyc1V0aWxpdGllcyIsImZsb3JlbmNlUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlcnNVdGlsaXRpZXMiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tTm90aGluZyIsImZsb3JlbmNlTGV4ZXIiLCJmbG9yZW5jZVBhcnNlciIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5IiwidGVybVN0cmluZyIsImxleGVyIiwicGFyc2VyIiwicnVsZU5hbWUiLCJDT05TVFJVQ1RPUl9ERUNMQVJBVElPTlJVTEVfTkFNRSIsImNvbnRlbnQiLCJub2RlIiwibm9kZUZyb21Db250ZW50QW5kUnVsZU5hbWUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsInRlcm1Ob2RlIiwibGFiZWxTdHJpbmciLCJMQUJFTF9SVUxFX05BTUUiLCJsYWJlbE5vZGUiLCJzdGF0ZW1lbnRTdHJpbmciLCJVTlFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsIm1ldGFzdGF0ZW1lbnRTdHJpbmciLCJVTlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZSIsInJ1bGVNYXAiLCJnZXRSdWxlTWFwIiwicnVsZSIsInRva2VucyIsInRva2VuaXNlIiwicGFyc2UiLCJub25UZXJtaW5hbE5vZGUiLCJyZXdyaXRlTm9kZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXFCZ0JBLHNCQUFzQjtlQUF0QkE7O0lBV0FDLHdCQUF3QjtlQUF4QkE7O0lBU0FDLGdDQUFnQztlQUFoQ0E7O0lBV0FDLHdDQUF3QztlQUF4Q0E7OztxQ0FsRGE7bUNBQ3FCO3FCQUV4Qjt5QkFDOEc7NkJBRXZGO0FBRWpELElBQU0sQUFBRUMseUNBQTJDQyxvQ0FBZSxDQUExREQsd0NBQ0YsQUFBRUUsMENBQTRDQyxxQ0FBZ0IsQ0FBNUREO0FBRVIsSUFBTUUsd0JBQXdCQyxJQUFBQSwrQ0FBZ0MsS0FDeERDLGdCQUFnQk4sdUNBQXVDSSx3QkFDdkRHLGlCQUFpQkwsd0NBQXdDRTtBQUUvRCxJQUFNSSxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsa0NBQzFCQyxxQkFBcUJELElBQUFBLGdCQUFTLEVBQUMscUNBQy9CRSx5QkFBeUJGLElBQUFBLGdCQUFTLEVBQUM7QUFFbEMsU0FBU2IsdUJBQXVCZ0IsVUFBVSxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRTtJQUNoRSxJQUFNQyxXQUFXQywyQ0FBZ0MsRUFDM0NDLFVBQVUsQUFBQyxlQUF5QixPQUFYTCxZQUFXLE9BRXBDTSxPQUFPQywyQkFBMkJGLFNBQVNGLFVBQVVGLE9BQU9DLFNBQzVETSw2QkFBNkJGLE1BQzdCRyxXQUFXYixjQUFjWTtJQUUvQixPQUFPQztBQUNUO0FBRU8sU0FBU3hCLHlCQUF5QnlCLFdBQVcsRUFBRVQsS0FBSyxFQUFFQyxNQUFNLEVBQUU7SUFDbkUsSUFBTUcsVUFBVUssYUFDVlAsV0FBV1EsMEJBQWUsRUFDMUJMLE9BQU9DLDJCQUEyQkYsU0FBU0YsVUFBVUYsT0FBT0MsU0FDNURVLFlBQVlOLE1BQU0sR0FBRztJQUUzQixPQUFPTTtBQUNUO0FBRU8sU0FBUzFCLGlDQUFpQzJCLGVBQWUsRUFBRVosS0FBSyxFQUFFQyxNQUFNLEVBQUU7SUFDL0UsSUFBTUMsV0FBV1csMENBQStCLEVBQzFDVCxVQUFVLEFBQUMsR0FBa0IsT0FBaEJRLGlCQUFnQixPQUU3QlAsT0FBT0MsMkJBQTJCRixTQUFTRixVQUFVRixPQUFPQyxTQUM1RGEsMkJBQTJCVCxNQUMzQlUsZ0JBQWdCbEIsbUJBQW1CaUI7SUFFekMsT0FBT0M7QUFDVDtBQUVPLFNBQVM3Qix5Q0FBeUM4QixtQkFBbUIsRUFBRWhCLEtBQUssRUFBRUMsTUFBTSxFQUFFO0lBQzNGLElBQU1DLFdBQVdlLDhDQUFtQyxFQUM5Q2IsVUFBVSxBQUFDLEdBQXNCLE9BQXBCWSxxQkFBb0IsT0FFakNYLE9BQU9DLDJCQUEyQkYsU0FBU0YsVUFBVUYsT0FBT0MsU0FDNURpQiwrQkFBK0JiLE1BQy9CYyxvQkFBb0JyQix1QkFBdUJvQjtJQUVqRCxPQUFPQztBQUNUO0FBRUEsU0FBU2IsMkJBQTJCRixPQUFPLEVBQUVGLFFBQVEsRUFBa0Q7UUFBaERGLFFBQUFBLGlFQUFRUCxhQUFhLEVBQUVRLFNBQUFBLGlFQUFTUCxjQUFjO0lBQ25HLElBQU0wQixVQUFVbkIsT0FBT29CLFVBQVUsSUFDM0JDLE9BQU9GLE9BQU8sQ0FBQ2xCLFNBQVMsRUFDeEJxQixTQUFTdkIsTUFBTXdCLFFBQVEsQ0FBQ3BCLFVBQ3hCQyxPQUFPSixPQUFPd0IsS0FBSyxDQUFDRixRQUFRRCxPQUM1Qkksa0JBQWtCckIsTUFBTSxHQUFHO0lBRWpDc0IsSUFBQUEsbUNBQVksRUFBQ0Q7SUFFYixPQUFPckI7QUFDVCJ9
|
package/package.json
CHANGED
package/src/axiom.js
CHANGED
|
@@ -7,7 +7,7 @@ import { AXIOM_KIND } from "./kinds";
|
|
|
7
7
|
export default class Axiom extends AxiomLemmaTheoremConjecture {
|
|
8
8
|
static kind = AXIOM_KIND;
|
|
9
9
|
|
|
10
|
-
static fromJSON(json,
|
|
10
|
+
static fromJSON(json, context) { return AxiomLemmaTheoremConjecture.fromJSON(Axiom, json, context); }
|
|
11
11
|
|
|
12
12
|
static fromLabelsSuppositionsAndConsequence(labels, suppositions, consequence) { return AxiomLemmaTheoremConjecture.fromLabelsSuppositionsAndConsequence(Axiom, labels, suppositions, consequence); }
|
|
13
13
|
}
|
|
@@ -90,14 +90,14 @@ export default class AxiomLemmaTheoremConjecture {
|
|
|
90
90
|
return json;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
static fromJSON(Class, json,
|
|
93
|
+
static fromJSON(Class, json, context) {
|
|
94
94
|
let { labels } = json;
|
|
95
95
|
|
|
96
96
|
const labelsJSON = labels; ///
|
|
97
97
|
|
|
98
98
|
labels = labelsJSON.map((labelJSON) => {
|
|
99
99
|
const json = labelJSON, ///
|
|
100
|
-
label = Label.fromJSON(json,
|
|
100
|
+
label = Label.fromJSON(json, context);
|
|
101
101
|
|
|
102
102
|
return label;
|
|
103
103
|
});
|
|
@@ -108,7 +108,7 @@ export default class AxiomLemmaTheoremConjecture {
|
|
|
108
108
|
|
|
109
109
|
suppositions = suppositionsJSON.map((suppositionJSON) => {
|
|
110
110
|
const json = suppositionJSON, ///
|
|
111
|
-
supposition = Supposition.fromJSON(json,
|
|
111
|
+
supposition = Supposition.fromJSON(json, context);
|
|
112
112
|
|
|
113
113
|
return supposition;
|
|
114
114
|
});
|
|
@@ -119,7 +119,7 @@ export default class AxiomLemmaTheoremConjecture {
|
|
|
119
119
|
|
|
120
120
|
json = consequenceJSON; ///
|
|
121
121
|
|
|
122
|
-
consequence = Consequence.fromJSON(json,
|
|
122
|
+
consequence = Consequence.fromJSON(json, context);
|
|
123
123
|
|
|
124
124
|
return new Class(labels, suppositions, consequence); ///
|
|
125
125
|
}
|
package/src/combinator.js
CHANGED
|
@@ -35,9 +35,11 @@ export default class Combinator {
|
|
|
35
35
|
return json;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
static fromJSON(json,
|
|
38
|
+
static fromJSON(json, context) {
|
|
39
39
|
const { statement } = json,
|
|
40
40
|
statementString = statement, ///
|
|
41
|
+
lexer = context.getLexer(),
|
|
42
|
+
parser = context.getParser(),
|
|
41
43
|
statementNode = statementNodeFromStatementString(statementString, lexer, parser),
|
|
42
44
|
combinator = new Combinator(statementNode);
|
|
43
45
|
|
package/src/conclusion.js
CHANGED
|
@@ -42,9 +42,11 @@ export default class Conclusion {
|
|
|
42
42
|
return json;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
static fromJSON(json,
|
|
45
|
+
static fromJSON(json, context) {
|
|
46
46
|
const { metastatement } = json,
|
|
47
47
|
metastatementString = metastatement, ///
|
|
48
|
+
lexer = context.getLexer(),
|
|
49
|
+
parser = context.getParser(),
|
|
48
50
|
metastatementNode = metastatementNodeFromMetastatementString(metastatementString, lexer, parser),
|
|
49
51
|
conclusion = new Conclusion(metastatementNode);
|
|
50
52
|
|
package/src/conjecture.js
CHANGED
|
@@ -7,7 +7,7 @@ import { CONJECTURE_KIND } from "./kinds";
|
|
|
7
7
|
export default class Conjecture extends AxiomLemmaTheoremConjecture {
|
|
8
8
|
static kind = CONJECTURE_KIND;
|
|
9
9
|
|
|
10
|
-
static fromJSON(json,
|
|
10
|
+
static fromJSON(json, context) { return AxiomLemmaTheoremConjecture.fromJSON(Conjecture, json, context); }
|
|
11
11
|
|
|
12
12
|
static fromLabelsSuppositionsAndConsequence(labels, suppositions, consequence) { return AxiomLemmaTheoremConjecture.fromLabelsSuppositionsAndConsequence(Conjecture, labels, suppositions, consequence); }
|
|
13
13
|
}
|
package/src/consequence.js
CHANGED
|
@@ -32,9 +32,11 @@ export default class Consequence {
|
|
|
32
32
|
return json;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
static fromJSON(json,
|
|
35
|
+
static fromJSON(json, context) {
|
|
36
36
|
const { statement } = json,
|
|
37
37
|
statementString = statement, ///
|
|
38
|
+
lexer = context.getLexer(),
|
|
39
|
+
parser = context.getParser(),
|
|
38
40
|
statementNode = statementNodeFromStatementString(statementString, lexer, parser),
|
|
39
41
|
consequence = new Consequence(statementNode);
|
|
40
42
|
|
package/src/constructor.js
CHANGED
|
@@ -54,9 +54,11 @@ export default class Constructor {
|
|
|
54
54
|
return json;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
static fromJSON(json,
|
|
57
|
+
static fromJSON(json, context) {
|
|
58
58
|
const { term } = json,
|
|
59
59
|
termString = term, ///
|
|
60
|
+
lexer = context.getLexer(),
|
|
61
|
+
parser = context.getParser(),
|
|
60
62
|
termNode = termNodeFromTermString(termString, lexer, parser);
|
|
61
63
|
|
|
62
64
|
let { type } = json;
|
|
@@ -66,11 +68,11 @@ export default class Constructor {
|
|
|
66
68
|
|
|
67
69
|
json = typeJSON; ///
|
|
68
70
|
|
|
69
|
-
type = Type.fromJSON(json,
|
|
71
|
+
type = Type.fromJSON(json, context);
|
|
70
72
|
|
|
71
73
|
const typeName = type.getName();
|
|
72
74
|
|
|
73
|
-
type =
|
|
75
|
+
type = context.findTypeByTypeName(typeName); ///
|
|
74
76
|
}
|
|
75
77
|
|
|
76
78
|
const constructor = new Constructor(termNode, type);
|
package/src/context/file.js
CHANGED
|
@@ -211,16 +211,15 @@ export default class FileReleaseContext extends ReleaseContext {
|
|
|
211
211
|
}
|
|
212
212
|
|
|
213
213
|
fromJSON() {
|
|
214
|
-
const
|
|
215
|
-
|
|
216
|
-
parser = this.getParser();
|
|
214
|
+
const context = this, ///
|
|
215
|
+
jsonArray = this.contextJSON;
|
|
217
216
|
|
|
218
217
|
jsonArray.forEach((json) => {
|
|
219
218
|
const { kind } = json;
|
|
220
219
|
|
|
221
220
|
switch (kind) {
|
|
222
221
|
case TYPE_KIND: {
|
|
223
|
-
const type = Type.fromJSON(json,
|
|
222
|
+
const type = Type.fromJSON(json, context);
|
|
224
223
|
|
|
225
224
|
this.types.push(type);
|
|
226
225
|
|
|
@@ -228,7 +227,7 @@ export default class FileReleaseContext extends ReleaseContext {
|
|
|
228
227
|
}
|
|
229
228
|
|
|
230
229
|
case RULE_KIND: {
|
|
231
|
-
const rule = Rule.fromJSON(json,
|
|
230
|
+
const rule = Rule.fromJSON(json, context);
|
|
232
231
|
|
|
233
232
|
this.rules.push(rule);
|
|
234
233
|
|
|
@@ -236,7 +235,7 @@ export default class FileReleaseContext extends ReleaseContext {
|
|
|
236
235
|
}
|
|
237
236
|
|
|
238
237
|
case AXIOM_KIND: {
|
|
239
|
-
const axiom = Axiom.fromJSON(json,
|
|
238
|
+
const axiom = Axiom.fromJSON(json, context);
|
|
240
239
|
|
|
241
240
|
this.axioms.push(axiom);
|
|
242
241
|
|
|
@@ -244,7 +243,7 @@ export default class FileReleaseContext extends ReleaseContext {
|
|
|
244
243
|
}
|
|
245
244
|
|
|
246
245
|
case LEMMA_KIND: {
|
|
247
|
-
const lemma = Lemma.fromJSON(json,
|
|
246
|
+
const lemma = Lemma.fromJSON(json, context);
|
|
248
247
|
|
|
249
248
|
this.lemmas.push(lemma);
|
|
250
249
|
|
|
@@ -252,7 +251,7 @@ export default class FileReleaseContext extends ReleaseContext {
|
|
|
252
251
|
}
|
|
253
252
|
|
|
254
253
|
case THEOREM_KIND: {
|
|
255
|
-
const theorem = Theorem.fromJSON(json,
|
|
254
|
+
const theorem = Theorem.fromJSON(json, context);
|
|
256
255
|
|
|
257
256
|
this.theorems.push(theorem);
|
|
258
257
|
|
|
@@ -260,7 +259,7 @@ export default class FileReleaseContext extends ReleaseContext {
|
|
|
260
259
|
}
|
|
261
260
|
|
|
262
261
|
case CONJECTURE_KIND: {
|
|
263
|
-
const conjecture = Conjecture.fromJSON(json,
|
|
262
|
+
const conjecture = Conjecture.fromJSON(json, context);
|
|
264
263
|
|
|
265
264
|
this.conjectures.push(conjecture);
|
|
266
265
|
|
|
@@ -268,7 +267,7 @@ export default class FileReleaseContext extends ReleaseContext {
|
|
|
268
267
|
}
|
|
269
268
|
|
|
270
269
|
case COMBINATOR_KIND: {
|
|
271
|
-
const combinator = Combinator.fromJSON(json,
|
|
270
|
+
const combinator = Combinator.fromJSON(json, context);
|
|
272
271
|
|
|
273
272
|
this.combinators.push(combinator);
|
|
274
273
|
|
|
@@ -276,7 +275,7 @@ export default class FileReleaseContext extends ReleaseContext {
|
|
|
276
275
|
}
|
|
277
276
|
|
|
278
277
|
case CONSTRUCTOR_KIND: {
|
|
279
|
-
const constructor = Constructor.fromJSON(json,
|
|
278
|
+
const constructor = Constructor.fromJSON(json, context);
|
|
280
279
|
|
|
281
280
|
this.constructors.push(constructor);
|
|
282
281
|
|
package/src/label.js
CHANGED
|
@@ -34,8 +34,10 @@ export default class Label {
|
|
|
34
34
|
return json;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
static fromJSON(json,
|
|
37
|
+
static fromJSON(json, context) {
|
|
38
38
|
const labelString = json, ///
|
|
39
|
+
lexer = context.getLexer(),
|
|
40
|
+
parser = context.getParser(),
|
|
39
41
|
labelNode = labelNodeFromLabelString(labelString, lexer, parser),
|
|
40
42
|
node = labelNode, ///
|
|
41
43
|
label = new Label(node);
|
package/src/lemma.js
CHANGED
|
@@ -7,7 +7,7 @@ import { LEMMA_KIND } from "./kinds";
|
|
|
7
7
|
export default class Lemma extends AxiomLemmaTheoremConjecture {
|
|
8
8
|
static kind = LEMMA_KIND;
|
|
9
9
|
|
|
10
|
-
static fromJSON(json,
|
|
10
|
+
static fromJSON(json, context) { return AxiomLemmaTheoremConjecture.fromJSON(Lemma, json, context); }
|
|
11
11
|
|
|
12
12
|
static fromLabelsSuppositionsAndConsequence(labels, suppositions, consequence) { return AxiomLemmaTheoremConjecture.fromLabelsSuppositionsAndConsequence(Lemma, labels, suppositions, consequence); }
|
|
13
13
|
}
|
package/src/premise.js
CHANGED
|
@@ -116,9 +116,11 @@ export default class Premise {
|
|
|
116
116
|
return json;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
static fromJSON(json,
|
|
119
|
+
static fromJSON(json, context) {
|
|
120
120
|
const { metastatement } = json,
|
|
121
121
|
metastatementString = metastatement, ///
|
|
122
|
+
lexer = context.getLexer(),
|
|
123
|
+
parser = context.getParser(),
|
|
122
124
|
metastatementNode = metastatementNodeFromMetastatementString(metastatementString, lexer, parser),
|
|
123
125
|
premise = new Premise(metastatementNode);
|
|
124
126
|
|
package/src/rule.js
CHANGED
|
@@ -134,7 +134,7 @@ export default class Rule {
|
|
|
134
134
|
return json;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
static fromJSON(json,
|
|
137
|
+
static fromJSON(json, context) {
|
|
138
138
|
let rule;
|
|
139
139
|
|
|
140
140
|
let { labels } = json;
|
|
@@ -143,7 +143,7 @@ export default class Rule {
|
|
|
143
143
|
|
|
144
144
|
labels = labelsJSON.map((labelJSON) => {
|
|
145
145
|
const json = labelJSON, ///
|
|
146
|
-
label = Label.fromJSON(json,
|
|
146
|
+
label = Label.fromJSON(json, context);
|
|
147
147
|
|
|
148
148
|
return label;
|
|
149
149
|
});
|
|
@@ -154,7 +154,7 @@ export default class Rule {
|
|
|
154
154
|
|
|
155
155
|
premises = premisesJSON.map((premiseJSON) => {
|
|
156
156
|
const json = premiseJSON, ///
|
|
157
|
-
premise = Premise.fromJSON(json,
|
|
157
|
+
premise = Premise.fromJSON(json, context);
|
|
158
158
|
|
|
159
159
|
return premise;
|
|
160
160
|
});
|
|
@@ -165,7 +165,7 @@ export default class Rule {
|
|
|
165
165
|
|
|
166
166
|
json = conclusionJSON; ///
|
|
167
167
|
|
|
168
|
-
conclusion = Conclusion.fromJSON(json,
|
|
168
|
+
conclusion = Conclusion.fromJSON(json, context);
|
|
169
169
|
|
|
170
170
|
rule = new Rule(labels, premises, conclusion);
|
|
171
171
|
|
package/src/supposition.js
CHANGED
|
@@ -71,9 +71,11 @@ export default class Supposition {
|
|
|
71
71
|
return json;
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
static fromJSON(json,
|
|
74
|
+
static fromJSON(json, context) {
|
|
75
75
|
const { statement } = json,
|
|
76
76
|
statementString = statement, ///
|
|
77
|
+
lexer = context.getLexer(),
|
|
78
|
+
parser = context.getParser(),
|
|
77
79
|
statementNode = statementNodeFromStatementString(statementString, lexer, parser),
|
|
78
80
|
supposition = new Supposition(statementNode);
|
|
79
81
|
|
package/src/theorem.js
CHANGED
|
@@ -7,7 +7,7 @@ import { THEOREM_KIND } from "./kinds";
|
|
|
7
7
|
export default class Theorem extends AxiomLemmaTheoremConjecture {
|
|
8
8
|
static kind = THEOREM_KIND;
|
|
9
9
|
|
|
10
|
-
static fromJSON(json,
|
|
10
|
+
static fromJSON(json, context) { return AxiomLemmaTheoremConjecture.fromJSON(Theorem, json, context); }
|
|
11
11
|
|
|
12
12
|
static fromLabelsSuppositionsAndConsequence(labels, suppositions, consequence) { return AxiomLemmaTheoremConjecture.fromLabelsSuppositionsAndConsequence(Theorem, labels, suppositions, consequence); }
|
|
13
13
|
}
|
package/src/type.js
CHANGED
|
@@ -124,14 +124,14 @@ export default class Type {
|
|
|
124
124
|
return json;
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
static fromJSON(json,
|
|
127
|
+
static fromJSON(json, context) {
|
|
128
128
|
let type;
|
|
129
129
|
|
|
130
130
|
let { superType } = json;
|
|
131
131
|
|
|
132
132
|
const superTypeJSON = superType; ///
|
|
133
133
|
|
|
134
|
-
superType = superTypeFromSuperTypeJSON(superTypeJSON,
|
|
134
|
+
superType = superTypeFromSuperTypeJSON(superTypeJSON, context);
|
|
135
135
|
|
|
136
136
|
const { name } = json;
|
|
137
137
|
|
|
@@ -181,7 +181,7 @@ class ObjectType extends Type {
|
|
|
181
181
|
|
|
182
182
|
export const objectType = ObjectType.fromNothing();
|
|
183
183
|
|
|
184
|
-
function superTypeFromSuperTypeJSON(superTypeJSON,
|
|
184
|
+
function superTypeFromSuperTypeJSON(superTypeJSON, context) {
|
|
185
185
|
let superType;
|
|
186
186
|
|
|
187
187
|
const json = superTypeJSON, ///
|
|
@@ -191,11 +191,11 @@ function superTypeFromSuperTypeJSON(superTypeJSON, lexer, parser) {
|
|
|
191
191
|
superType = objectType; ///
|
|
192
192
|
} else {
|
|
193
193
|
const typeName = name, ///
|
|
194
|
-
type =
|
|
194
|
+
type = context.findTypeByTypeName(typeName);
|
|
195
195
|
|
|
196
196
|
superType = (type !== null) ?
|
|
197
197
|
type : ///
|
|
198
|
-
Type.fromJSON(json,
|
|
198
|
+
Type.fromJSON(json, context); ///
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
return superType;
|
package/src/utilities/node.js
CHANGED
|
@@ -65,9 +65,10 @@ function nodeFromContentAndRuleName(content, ruleName, lexer = florenceLexer, pa
|
|
|
65
65
|
const ruleMap = parser.getRuleMap(),
|
|
66
66
|
rule = ruleMap[ruleName],
|
|
67
67
|
tokens = lexer.tokenise(content),
|
|
68
|
-
node = parser.parse(tokens, rule)
|
|
68
|
+
node = parser.parse(tokens, rule),
|
|
69
|
+
nonTerminalNode = node; ///
|
|
69
70
|
|
|
70
|
-
rewriteNodes(
|
|
71
|
+
rewriteNodes(nonTerminalNode);
|
|
71
72
|
|
|
72
73
|
return node;
|
|
73
74
|
}
|