occam-furtle 1.0.56 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -23
- package/example/Free and bound variables.ftl +11 -9
- package/lib/dom/condition/negated.js +139 -0
- package/lib/dom/condition.js +14 -4
- package/lib/example/utilities/nominal.js +2 -2
- package/lib/example/utilities/values.js +6 -5
- package/lib/example.js +5 -5
- package/lib/index.js +2 -5
- package/package.json +4 -4
- package/src/dom/condition/negated.js +66 -0
- package/src/dom/condition.js +16 -5
- package/src/example/utilities/nominal.js +1 -1
- package/src/example/utilities/values.js +9 -5
- package/src/example.js +4 -3
- package/src/index.js +1 -1
package/README.md
CHANGED
|
@@ -6,52 +6,67 @@
|
|
|
6
6
|
|
|
7
7
|
- [Introduction](#introduction)
|
|
8
8
|
- [Installation](#installation)
|
|
9
|
-
- [
|
|
10
|
-
- [Usage](#usage)
|
|
9
|
+
- [Example](#example)
|
|
11
10
|
- [Building](#building)
|
|
12
11
|
- [Contact](#contact)
|
|
13
12
|
|
|
14
13
|
## Introduction
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
Furtle is a dynamically but nonetheless strictly typed, procedural language meant primarily for traversing parse trees.
|
|
16
|
+
It is called from Nominal thus...
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
```
|
|
19
|
+
Rule (FreeVariable)
|
|
20
|
+
Premise
|
|
21
|
+
@isVariableFree(u, P)
|
|
22
|
+
Conclusion
|
|
23
|
+
u is free in P
|
|
24
|
+
```
|
|
21
25
|
|
|
22
|
-
|
|
26
|
+
...and looks as follows:
|
|
23
27
|
|
|
24
|
-
|
|
28
|
+
```
|
|
29
|
+
Boolean isVariableFree(Node termNode, Node statementNode) {
|
|
30
|
+
Boolean variableFree = true;
|
|
25
31
|
|
|
26
|
-
|
|
32
|
+
Boolean variableBound = isVariableBound(termNode, statementNode);
|
|
27
33
|
|
|
28
|
-
|
|
34
|
+
If (variableBound) {
|
|
35
|
+
variableFree = false;
|
|
36
|
+
}
|
|
29
37
|
|
|
30
|
-
|
|
38
|
+
Return variableFree;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
31
41
|
|
|
32
|
-
|
|
42
|
+
The above procedure ascertains whether or not the given term's sole variable is bound in the given statement.
|
|
43
|
+
Boundedness is usually defined by induction over the structure of statements, however Occam's custom grammars make this practically unworkable.
|
|
44
|
+
Hence Furtle fulfills this role procedurally, so to speak.
|
|
33
45
|
|
|
34
|
-
##
|
|
46
|
+
## Installation
|
|
35
47
|
|
|
36
|
-
|
|
48
|
+
With [npm](https://www.npmjs.com/):
|
|
37
49
|
|
|
38
|
-
npm
|
|
50
|
+
npm install occam-furtle
|
|
39
51
|
|
|
40
|
-
|
|
52
|
+
You can also clone the repository with [Git](https://git-scm.com/)...
|
|
41
53
|
|
|
42
|
-
|
|
54
|
+
git clone https://github.com/djalbat/occam-furtle.git
|
|
43
55
|
|
|
44
|
-
|
|
56
|
+
...and then install the dependencies with npm from within the project's root directory:
|
|
45
57
|
|
|
46
|
-
npm
|
|
58
|
+
npm install
|
|
47
59
|
|
|
48
|
-
|
|
60
|
+
## Example
|
|
49
61
|
|
|
50
|
-
|
|
62
|
+
The example runs directly on Node:
|
|
51
63
|
|
|
52
|
-
|
|
64
|
+
```
|
|
65
|
+
node example.js
|
|
66
|
+
```
|
|
53
67
|
|
|
54
|
-
|
|
68
|
+
The `Free and bound variables.ftl` file in the `example/` directory can be changed and the example can be rebuilt, see below.
|
|
69
|
+
Obviously one thing to try is changing the value of the `free` variable.
|
|
55
70
|
|
|
56
71
|
## Building
|
|
57
72
|
|
|
@@ -19,10 +19,12 @@ Boolean isVariableBound(Node termNode, Node statementNode) {
|
|
|
19
19
|
Nodes statementNodes = nodesQuery(statementNode, //statement);
|
|
20
20
|
|
|
21
21
|
ForEach(statementNodes, (Node statementNode) {
|
|
22
|
-
|
|
22
|
+
If (!variableBound) {
|
|
23
|
+
String boundVariableName = boundVariableNameFromStatementNode(statementNode);
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
If (boundVariableName == variableName) {
|
|
26
|
+
variableBound = true;
|
|
27
|
+
}
|
|
26
28
|
}
|
|
27
29
|
});
|
|
28
30
|
}
|
|
@@ -36,7 +38,7 @@ String variableNameFromTermNode(Node termNode) {
|
|
|
36
38
|
Node variableNameTerminalNode = nodeQuery(termNode, /term/variable/@name);
|
|
37
39
|
|
|
38
40
|
If (variableNameTerminalNode != null) {
|
|
39
|
-
|
|
41
|
+
{ String content } = variableNameTerminalNode;
|
|
40
42
|
|
|
41
43
|
variableName = content;
|
|
42
44
|
}
|
|
@@ -47,22 +49,22 @@ String variableNameFromTermNode(Node termNode) {
|
|
|
47
49
|
String boundVariableNameFromStatementNode(Node statementNode) {
|
|
48
50
|
String boundVariableName = "";
|
|
49
51
|
|
|
50
|
-
|
|
52
|
+
{ Nodes childNodes } = statementNode;
|
|
51
53
|
|
|
52
54
|
[ Node firstChildNode ] = childNodes;
|
|
53
55
|
|
|
54
|
-
|
|
56
|
+
{ Boolean terminal } = firstChildNode;
|
|
55
57
|
|
|
56
58
|
If (terminal) {
|
|
57
|
-
|
|
59
|
+
{ String content } = firstChildNode;
|
|
58
60
|
|
|
59
61
|
If ((content == "∀") || (content == "∃")) {
|
|
60
62
|
[ _, Node argumentNode ] = childNodes;
|
|
61
63
|
|
|
62
|
-
Node boundVariableNameTerminalNode = nodeQuery(argumentNode, /argument/term/variable
|
|
64
|
+
Node boundVariableNameTerminalNode = nodeQuery(argumentNode, /argument/term/variable!/@name);
|
|
63
65
|
|
|
64
66
|
If (boundVariableNameTerminalNode != null) {
|
|
65
|
-
|
|
67
|
+
{ String content } = boundVariableNameTerminalNode;
|
|
66
68
|
|
|
67
69
|
boundVariableName = content;
|
|
68
70
|
}
|
|
@@ -0,0 +1,139 @@
|
|
|
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 _dom = /*#__PURE__*/ _interop_require_wildcard(require("../../dom"));
|
|
12
|
+
var _query = require("../../utilities/query");
|
|
13
|
+
function _class_call_check(instance, Constructor) {
|
|
14
|
+
if (!(instance instanceof Constructor)) {
|
|
15
|
+
throw new TypeError("Cannot call a class as a function");
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function _defineProperties(target, props) {
|
|
19
|
+
for(var i = 0; i < props.length; i++){
|
|
20
|
+
var descriptor = props[i];
|
|
21
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
22
|
+
descriptor.configurable = true;
|
|
23
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
24
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
28
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
29
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
30
|
+
return Constructor;
|
|
31
|
+
}
|
|
32
|
+
function _define_property(obj, key, value) {
|
|
33
|
+
if (key in obj) {
|
|
34
|
+
Object.defineProperty(obj, key, {
|
|
35
|
+
value: value,
|
|
36
|
+
enumerable: true,
|
|
37
|
+
configurable: true,
|
|
38
|
+
writable: true
|
|
39
|
+
});
|
|
40
|
+
} else {
|
|
41
|
+
obj[key] = value;
|
|
42
|
+
}
|
|
43
|
+
return obj;
|
|
44
|
+
}
|
|
45
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
46
|
+
if (typeof WeakMap !== "function") return null;
|
|
47
|
+
var cacheBabelInterop = new WeakMap();
|
|
48
|
+
var cacheNodeInterop = new WeakMap();
|
|
49
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
50
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
51
|
+
})(nodeInterop);
|
|
52
|
+
}
|
|
53
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
54
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
55
|
+
return obj;
|
|
56
|
+
}
|
|
57
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
58
|
+
return {
|
|
59
|
+
default: obj
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
63
|
+
if (cache && cache.has(obj)) {
|
|
64
|
+
return cache.get(obj);
|
|
65
|
+
}
|
|
66
|
+
var newObj = {
|
|
67
|
+
__proto__: null
|
|
68
|
+
};
|
|
69
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
70
|
+
for(var key in obj){
|
|
71
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
72
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
73
|
+
if (desc && (desc.get || desc.set)) {
|
|
74
|
+
Object.defineProperty(newObj, key, desc);
|
|
75
|
+
} else {
|
|
76
|
+
newObj[key] = obj[key];
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
newObj.default = obj;
|
|
81
|
+
if (cache) {
|
|
82
|
+
cache.set(obj, newObj);
|
|
83
|
+
}
|
|
84
|
+
return newObj;
|
|
85
|
+
}
|
|
86
|
+
var _NegatedCondition;
|
|
87
|
+
var conditionNodeQuery = (0, _query.nodeQuery)("/negatedCondition/condition"), negatedConditionNodeQuery = (0, _query.nodeQuery)("/condition/negatedCondition");
|
|
88
|
+
var _default = (0, _dom.domAssigned)((_NegatedCondition = /*#__PURE__*/ function() {
|
|
89
|
+
function NegatedCondition(string, condition) {
|
|
90
|
+
_class_call_check(this, NegatedCondition);
|
|
91
|
+
this.string = string;
|
|
92
|
+
this.condition = condition;
|
|
93
|
+
}
|
|
94
|
+
_create_class(NegatedCondition, [
|
|
95
|
+
{
|
|
96
|
+
key: "getString",
|
|
97
|
+
value: function getString() {
|
|
98
|
+
debugger;
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
key: "getCondition",
|
|
103
|
+
value: function getCondition() {
|
|
104
|
+
return this.condition;
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
key: "resolve",
|
|
109
|
+
value: function resolve(context) {
|
|
110
|
+
var value;
|
|
111
|
+
var negatedConditionString = this.string; ///
|
|
112
|
+
context.trace("Resolving the '".concat(negatedConditionString, "' negated condition..."));
|
|
113
|
+
value = this.condition.resolve(context);
|
|
114
|
+
var boolean = value.getBoolean();
|
|
115
|
+
boolean = !boolean;
|
|
116
|
+
var Value = _dom.default.Value;
|
|
117
|
+
value = Value.fromBoolean(boolean, context); ///
|
|
118
|
+
context.debug("...resolved the '".concat(negatedConditionString, "' negated condition."));
|
|
119
|
+
return value;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
], [
|
|
123
|
+
{
|
|
124
|
+
key: "fromConditionNode",
|
|
125
|
+
value: function fromConditionNode(conditionNode, context) {
|
|
126
|
+
var negatedCondition = null;
|
|
127
|
+
var negatedConditionNode = negatedConditionNodeQuery(conditionNode);
|
|
128
|
+
if (negatedConditionNode !== null) {
|
|
129
|
+
var Condition = _dom.default.Condition, node = negatedConditionNode, string = context.nodeAsString(node), _$conditionNode = conditionNodeQuery(negatedConditionNode), condition = Condition.fromConditionNode(_$conditionNode, context);
|
|
130
|
+
negatedCondition = new NegatedCondition(string, condition);
|
|
131
|
+
}
|
|
132
|
+
return negatedCondition;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
]);
|
|
136
|
+
return NegatedCondition;
|
|
137
|
+
}(), _define_property(_NegatedCondition, "name", "NegatedCondition"), _NegatedCondition));
|
|
138
|
+
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vY29uZGl0aW9uL25lZ2F0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi8uLi9kb21cIjtcblxuY29uc3QgY29uZGl0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL25lZ2F0ZWRDb25kaXRpb24vY29uZGl0aW9uXCIpLFxuICAgICAgbmVnYXRlZENvbmRpdGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25kaXRpb24vbmVnYXRlZENvbmRpdGlvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgTmVnYXRlZENvbmRpdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgY29uZGl0aW9uKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy5jb25kaXRpb24gPSBjb25kaXRpb247XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgZGVidWdnZXJcbiAgfVxuXG4gIGdldENvbmRpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25kaXRpb247XG4gIH1cblxuICByZXNvbHZlKGNvbnRleHQpIHtcbiAgICBsZXQgdmFsdWU7XG5cbiAgICBjb25zdCBuZWdhdGVkQ29uZGl0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgUmVzb2x2aW5nIHRoZSAnJHtuZWdhdGVkQ29uZGl0aW9uU3RyaW5nfScgbmVnYXRlZCBjb25kaXRpb24uLi5gKTtcblxuICAgIHZhbHVlID0gdGhpcy5jb25kaXRpb24ucmVzb2x2ZShjb250ZXh0KTtcblxuICAgIGxldCBib29sZWFuID0gdmFsdWUuZ2V0Qm9vbGVhbigpO1xuXG4gICAgYm9vbGVhbiA9ICFib29sZWFuO1xuXG4gICAgY29uc3QgeyBWYWx1ZSB9ID0gZG9tO1xuXG4gICAgdmFsdWUgPSBWYWx1ZS5mcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KTsgIC8vL1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4ucmVzb2x2ZWQgdGhlICcke25lZ2F0ZWRDb25kaXRpb25TdHJpbmd9JyBuZWdhdGVkIGNvbmRpdGlvbi5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJOZWdhdGVkQ29uZGl0aW9uXCI7XG5cbiAgc3RhdGljIGZyb21Db25kaXRpb25Ob2RlKGNvbmRpdGlvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgbmVnYXRlZENvbmRpdGlvbiA9IG51bGw7XG5cbiAgICBjb25zdCBuZWdhdGVkQ29uZGl0aW9uTm9kZSA9IG5lZ2F0ZWRDb25kaXRpb25Ob2RlUXVlcnkoY29uZGl0aW9uTm9kZSk7XG5cbiAgICBpZiAobmVnYXRlZENvbmRpdGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHsgQ29uZGl0aW9uIH0gPSBkb20sXG4gICAgICAgICAgICBub2RlID0gbmVnYXRlZENvbmRpdGlvbk5vZGUsICAvL1xuICAgICAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgICAgICBjb25kaXRpb25Ob2RlID0gY29uZGl0aW9uTm9kZVF1ZXJ5KG5lZ2F0ZWRDb25kaXRpb25Ob2RlKSxcbiAgICAgICAgICAgIGNvbmRpdGlvbiA9IENvbmRpdGlvbi5mcm9tQ29uZGl0aW9uTm9kZShjb25kaXRpb25Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgbmVnYXRlZENvbmRpdGlvbiA9IG5ldyBOZWdhdGVkQ29uZGl0aW9uKHN0cmluZywgY29uZGl0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmVnYXRlZENvbmRpdGlvbjtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiY29uZGl0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibmVnYXRlZENvbmRpdGlvbk5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiTmVnYXRlZENvbmRpdGlvbiIsInN0cmluZyIsImNvbmRpdGlvbiIsImdldFN0cmluZyIsImdldENvbmRpdGlvbiIsInJlc29sdmUiLCJjb250ZXh0IiwidmFsdWUiLCJuZWdhdGVkQ29uZGl0aW9uU3RyaW5nIiwidHJhY2UiLCJib29sZWFuIiwiZ2V0Qm9vbGVhbiIsIlZhbHVlIiwiZG9tIiwiZnJvbUJvb2xlYW4iLCJkZWJ1ZyIsImZyb21Db25kaXRpb25Ob2RlIiwiY29uZGl0aW9uTm9kZSIsIm5lZ2F0ZWRDb25kaXRpb24iLCJuZWdhdGVkQ29uZGl0aW9uTm9kZSIsIkNvbmRpdGlvbiIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQUE7OzsyREFSZ0I7cUJBRVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUcxQixJQUFNQSxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUMsZ0NBQy9CQyw0QkFBNEJELElBQUFBLGdCQUFTLEVBQUM7SUFFNUMsV0FBZUUsSUFBQUEsZ0JBQVcscUNBQUM7YUFBTUMsaUJBQ25CQyxNQUFNLEVBQUVDLFNBQVM7Z0NBREVGO1FBRTdCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTs7OztZQUduQkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLFFBQVE7WUFDVjs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsU0FBUztZQUN2Qjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxRQUFRQyxPQUFPO2dCQUNiLElBQUlDO2dCQUVKLElBQU1DLHlCQUF5QixJQUFJLENBQUNQLE1BQU0sRUFBRSxHQUFHO2dCQUUvQ0ssUUFBUUcsS0FBSyxDQUFDLEFBQUMsa0JBQXdDLE9BQXZCRCx3QkFBdUI7Z0JBRXZERCxRQUFRLElBQUksQ0FBQ0wsU0FBUyxDQUFDRyxPQUFPLENBQUNDO2dCQUUvQixJQUFJSSxVQUFVSCxNQUFNSSxVQUFVO2dCQUU5QkQsVUFBVSxDQUFDQTtnQkFFWCxJQUFNLEFBQUVFLFFBQVVDLFlBQUcsQ0FBYkQ7Z0JBRVJMLFFBQVFLLE1BQU1FLFdBQVcsQ0FBQ0osU0FBU0osVUFBVyxHQUFHO2dCQUVqREEsUUFBUVMsS0FBSyxDQUFDLEFBQUMsb0JBQTBDLE9BQXZCUCx3QkFBdUI7Z0JBRXpELE9BQU9EO1lBQ1Q7Ozs7WUFJT1MsS0FBQUE7bUJBQVAsU0FBT0Esa0JBQWtCQyxhQUFhLEVBQUVYLE9BQU87Z0JBQzdDLElBQUlZLG1CQUFtQjtnQkFFdkIsSUFBTUMsdUJBQXVCckIsMEJBQTBCbUI7Z0JBRXZELElBQUlFLHlCQUF5QixNQUFNO29CQUNqQyxJQUFNLEFBQUVDLFlBQWNQLFlBQUcsQ0FBakJPLFdBQ0ZDLE9BQU9GLHNCQUNQbEIsU0FBU0ssUUFBUWdCLFlBQVksQ0FBQ0QsT0FDOUJKLGtCQUFnQnJCLG1CQUFtQnVCLHVCQUNuQ2pCLFlBQVlrQixVQUFVSixpQkFBaUIsQ0FBQ0MsaUJBQWVYO29CQUU3RFksbUJBQW1CLElBQUlsQixpQkFBaUJDLFFBQVFDO2dCQUNsRDtnQkFFQSxPQUFPZ0I7WUFDVDs7OztLQWxCQSxvQ0FBT0ssUUFBTyJ9
|
package/lib/dom/condition.js
CHANGED
|
@@ -93,12 +93,13 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
93
93
|
var _Condition;
|
|
94
94
|
var conditionNodeQuery = (0, _query.nodeQuery)("/conditionalBlocks/condition");
|
|
95
95
|
var _default = (0, _dom.domAssigned)((_Condition = /*#__PURE__*/ function() {
|
|
96
|
-
function Condition(string, value, comparison, bitwiseCondition, bracketedCondition) {
|
|
96
|
+
function Condition(string, value, comparison, bitwiseCondition, negatedCondition, bracketedCondition) {
|
|
97
97
|
_class_call_check(this, Condition);
|
|
98
98
|
this.string = string;
|
|
99
99
|
this.value = value;
|
|
100
100
|
this.comparison = comparison;
|
|
101
101
|
this.bitwiseCondition = bitwiseCondition;
|
|
102
|
+
this.negatedCondition = negatedCondition;
|
|
102
103
|
this.bracketedCondition = bracketedCondition;
|
|
103
104
|
}
|
|
104
105
|
_create_class(Condition, [
|
|
@@ -126,6 +127,12 @@ var _default = (0, _dom.domAssigned)((_Condition = /*#__PURE__*/ function() {
|
|
|
126
127
|
return this.bitwiseCondition;
|
|
127
128
|
}
|
|
128
129
|
},
|
|
130
|
+
{
|
|
131
|
+
key: "getNegatedCondition",
|
|
132
|
+
value: function getNegatedCondition() {
|
|
133
|
+
return this.negatedCondition;
|
|
134
|
+
}
|
|
135
|
+
},
|
|
129
136
|
{
|
|
130
137
|
key: "getBracketedCondition",
|
|
131
138
|
value: function getBracketedCondition() {
|
|
@@ -152,6 +159,9 @@ var _default = (0, _dom.domAssigned)((_Condition = /*#__PURE__*/ function() {
|
|
|
152
159
|
if (this.bitwiseCondition !== null) {
|
|
153
160
|
value = this.bitwiseCondition.resolve(context);
|
|
154
161
|
}
|
|
162
|
+
if (this.negatedCondition !== null) {
|
|
163
|
+
value = this.negatedCondition.resolve(context);
|
|
164
|
+
}
|
|
155
165
|
if (this.bracketedCondition !== null) {
|
|
156
166
|
value = this.bracketedCondition.resolve(context);
|
|
157
167
|
}
|
|
@@ -163,14 +173,14 @@ var _default = (0, _dom.domAssigned)((_Condition = /*#__PURE__*/ function() {
|
|
|
163
173
|
{
|
|
164
174
|
key: "fromConditionNode",
|
|
165
175
|
value: function fromConditionNode(conditionNode, context) {
|
|
166
|
-
var Value = _dom.default.Value, Comparison = _dom.default.Comparison, BitwiseCondition = _dom.default.BitwiseCondition, BracketedCondition = _dom.default.BracketedCondition, node = conditionNode, string = context.nodeAsString(node), value = Value.fromConditionNode(conditionNode, context), comparison = Comparison.fromConditionNode(conditionNode, context), bitwiseCondition = BitwiseCondition.fromConditionNode(conditionNode, context), bracketedCondition = BracketedCondition.fromConditionNode(conditionNode, context), condition = new Condition(string, value, comparison, bitwiseCondition, bracketedCondition);
|
|
176
|
+
var Value = _dom.default.Value, Comparison = _dom.default.Comparison, BitwiseCondition = _dom.default.BitwiseCondition, NegatedCondition = _dom.default.NegatedCondition, BracketedCondition = _dom.default.BracketedCondition, node = conditionNode, string = context.nodeAsString(node), value = Value.fromConditionNode(conditionNode, context), comparison = Comparison.fromConditionNode(conditionNode, context), bitwiseCondition = BitwiseCondition.fromConditionNode(conditionNode, context), negatedCondition = NegatedCondition.fromConditionNode(conditionNode, context), bracketedCondition = BracketedCondition.fromConditionNode(conditionNode, context), condition = new Condition(string, value, comparison, bitwiseCondition, negatedCondition, bracketedCondition);
|
|
167
177
|
return condition;
|
|
168
178
|
}
|
|
169
179
|
},
|
|
170
180
|
{
|
|
171
181
|
key: "fromConditionalBlocksNode",
|
|
172
182
|
value: function fromConditionalBlocksNode(conditionalBlocksNode, context) {
|
|
173
|
-
var Value = _dom.default.Value, Comparison = _dom.default.Comparison, BitwiseCondition = _dom.default.BitwiseCondition, BracketedCondition = _dom.default.BracketedCondition, conditionNode = conditionNodeQuery(conditionalBlocksNode), node = conditionNode, string = context.nodeAsString(node), value = Value.fromConditionNode(conditionNode, context), comparison = Comparison.fromConditionNode(conditionNode, context), bitwiseCondition = BitwiseCondition.fromConditionNode(conditionNode, context), bracketedCondition = BracketedCondition.fromConditionNode(conditionNode, context), condition = new Condition(string, value, comparison, bitwiseCondition, bracketedCondition);
|
|
183
|
+
var Value = _dom.default.Value, Comparison = _dom.default.Comparison, BitwiseCondition = _dom.default.BitwiseCondition, NegatedCondition = _dom.default.NegatedCondition, BracketedCondition = _dom.default.BracketedCondition, conditionNode = conditionNodeQuery(conditionalBlocksNode), node = conditionNode, string = context.nodeAsString(node), value = Value.fromConditionNode(conditionNode, context), comparison = Comparison.fromConditionNode(conditionNode, context), bitwiseCondition = BitwiseCondition.fromConditionNode(conditionNode, context), negatedCondition = NegatedCondition.fromConditionNode(conditionNode, context), bracketedCondition = BracketedCondition.fromConditionNode(conditionNode, context), condition = new Condition(string, value, comparison, bitwiseCondition, negatedCondition, bracketedCondition);
|
|
174
184
|
return condition;
|
|
175
185
|
}
|
|
176
186
|
}
|
|
@@ -178,4 +188,4 @@ var _default = (0, _dom.domAssigned)((_Condition = /*#__PURE__*/ function() {
|
|
|
178
188
|
return Condition;
|
|
179
189
|
}(), _define_property(_Condition, "name", "Condition"), _Condition));
|
|
180
190
|
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vY29uZGl0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCB7IEJPT0xFQU5fVFlQRSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5jb25zdCBjb25kaXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uZGl0aW9uYWxCbG9ja3MvY29uZGl0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBDb25kaXRpb24ge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHZhbHVlLCBjb21wYXJpc29uLCBiaXR3aXNlQ29uZGl0aW9uLCBicmFja2V0ZWRDb25kaXRpb24pIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5jb21wYXJpc29uID0gY29tcGFyaXNvbjtcbiAgICB0aGlzLmJpdHdpc2VDb25kaXRpb24gPSBiaXR3aXNlQ29uZGl0aW9uO1xuICAgIHRoaXMuYnJhY2tldGVkQ29uZGl0aW9uID0gYnJhY2tldGVkQ29uZGl0aW9uO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgZ2V0Q29tcGFyaXNvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb21wYXJpc29uO1xuICB9XG5cbiAgZ2V0Qml0d2lzZUNvbmRpdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5iaXR3aXNlQ29uZGl0aW9uO1xuICB9XG5cbiAgZ2V0QnJhY2tldGVkQ29uZGl0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmJyYWNrZXRlZENvbmRpdGlvbjtcbiAgfVxuXG4gIHJlc29sdmUoY29udGV4dCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IGNvbmRpdGlvblN0cmluZyA9IHRoaXMuc3RyaW5nOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBSZXNvbHZpbmcgdGhlICcke2NvbmRpdGlvblN0cmluZ30nIGNvbmRpdGlvbi4uLmApO1xuXG4gICAgaWYgKHRoaXMudmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy52YWx1ZS5yZXNvbHZlKGNvbnRleHQpO1xuXG4gICAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCk7XG5cbiAgICAgIGlmICh2YWx1ZVR5cGUgIT09IEJPT0xFQU5fVFlQRSkge1xuICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVR5cGV9JyB0eXBlIG9mIHRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlIHNob3VsZCBiZSAnJHtCT09MRUFOX1RZUEV9J2AsXG4gICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29tcGFyaXNvbiAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLmNvbXBhcmlzb24ucmVzb2x2ZShjb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5iaXR3aXNlQ29uZGl0aW9uICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuYml0d2lzZUNvbmRpdGlvbi5yZXNvbHZlKGNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJyYWNrZXRlZENvbmRpdGlvbiAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLmJyYWNrZXRlZENvbmRpdGlvbi5yZXNvbHZlKGNvbnRleHQpO1xuICAgIH1cblxuICAgIGNvbnRleHQuZGVidWcoYC4uLnJlc29sdmVkIHRoZSAnJHtjb25kaXRpb25TdHJpbmd9JyBjb25kaXRpb24uYCk7XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQ29uZGl0aW9uXCI7XG5cbiAgc3RhdGljIGZyb21Db25kaXRpb25Ob2RlKGNvbmRpdGlvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB7IFZhbHVlLCBDb21wYXJpc29uLCBCaXR3aXNlQ29uZGl0aW9uLCBCcmFja2V0ZWRDb25kaXRpb24gfSA9IGRvbSxcbiAgICAgICAgICBub2RlID0gY29uZGl0aW9uTm9kZSwgLy8vXG4gICAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgICAgdmFsdWUgPSBWYWx1ZS5mcm9tQ29uZGl0aW9uTm9kZShjb25kaXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICBjb21wYXJpc29uID0gQ29tcGFyaXNvbi5mcm9tQ29uZGl0aW9uTm9kZShjb25kaXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICBiaXR3aXNlQ29uZGl0aW9uID0gQml0d2lzZUNvbmRpdGlvbi5mcm9tQ29uZGl0aW9uTm9kZShjb25kaXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICBicmFja2V0ZWRDb25kaXRpb24gPSBCcmFja2V0ZWRDb25kaXRpb24uZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgY29uZGl0aW9uID0gbmV3IENvbmRpdGlvbihzdHJpbmcsIHZhbHVlLCBjb21wYXJpc29uLCBiaXR3aXNlQ29uZGl0aW9uLCBicmFja2V0ZWRDb25kaXRpb24pO1xuXG4gICAgcmV0dXJuIGNvbmRpdGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29uZGl0aW9uYWxCbG9ja3NOb2RlKGNvbmRpdGlvbmFsQmxvY2tzTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgVmFsdWUsIENvbXBhcmlzb24sIEJpdHdpc2VDb25kaXRpb24sIEJyYWNrZXRlZENvbmRpdGlvbiB9ID0gZG9tLFxuICAgICAgICAgIGNvbmRpdGlvbk5vZGUgPSBjb25kaXRpb25Ob2RlUXVlcnkoY29uZGl0aW9uYWxCbG9ja3NOb2RlKSxcbiAgICAgICAgICBub2RlID0gY29uZGl0aW9uTm9kZSwgLy8vXG4gICAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgICAgdmFsdWUgPSBWYWx1ZS5mcm9tQ29uZGl0aW9uTm9kZShjb25kaXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICBjb21wYXJpc29uID0gQ29tcGFyaXNvbi5mcm9tQ29uZGl0aW9uTm9kZShjb25kaXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICBiaXR3aXNlQ29uZGl0aW9uID0gQml0d2lzZUNvbmRpdGlvbi5mcm9tQ29uZGl0aW9uTm9kZShjb25kaXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICBicmFja2V0ZWRDb25kaXRpb24gPSBCcmFja2V0ZWRDb25kaXRpb24uZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgY29uZGl0aW9uID0gbmV3IENvbmRpdGlvbihzdHJpbmcsIHZhbHVlLCBjb21wYXJpc29uLCBiaXR3aXNlQ29uZGl0aW9uLCBicmFja2V0ZWRDb25kaXRpb24pO1xuXG4gICAgcmV0dXJuIGNvbmRpdGlvbjtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiY29uZGl0aW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJDb25kaXRpb24iLCJzdHJpbmciLCJ2YWx1ZSIsImNvbXBhcmlzb24iLCJiaXR3aXNlQ29uZGl0aW9uIiwiYnJhY2tldGVkQ29uZGl0aW9uIiwiZ2V0U3RyaW5nIiwiZ2V0VmFsdWUiLCJnZXRDb21wYXJpc29uIiwiZ2V0Qml0d2lzZUNvbmRpdGlvbiIsImdldEJyYWNrZXRlZENvbmRpdGlvbiIsInJlc29sdmUiLCJjb250ZXh0IiwiY29uZGl0aW9uU3RyaW5nIiwidHJhY2UiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwiQk9PTEVBTl9UWVBFIiwidmFsdWVTdHJpbmciLCJhc1N0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImRlYnVnIiwiZnJvbUNvbmRpdGlvbk5vZGUiLCJjb25kaXRpb25Ob2RlIiwiVmFsdWUiLCJkb20iLCJDb21wYXJpc29uIiwiQml0d2lzZUNvbmRpdGlvbiIsIkJyYWNrZXRlZENvbmRpdGlvbiIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJjb25kaXRpb24iLCJmcm9tQ29uZGl0aW9uYWxCbG9ja3NOb2RlIiwiY29uZGl0aW9uYWxCbG9ja3NOb2RlIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUFBOzs7MkRBVGdCO2dFQUNNO3FCQUVJO3FCQUVHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QixJQUFNQSxxQkFBcUJDLElBQUFBLGdCQUFTLEVBQUM7SUFFckMsV0FBZUMsSUFBQUEsZ0JBQVcsOEJBQUM7YUFBTUMsVUFDbkJDLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxVQUFVLEVBQUVDLGdCQUFnQixFQUFFQyxrQkFBa0I7Z0NBRDVDTDtRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLFVBQVUsR0FBR0E7UUFDbEIsSUFBSSxDQUFDQyxnQkFBZ0IsR0FBR0E7UUFDeEIsSUFBSSxDQUFDQyxrQkFBa0IsR0FBR0E7Ozs7WUFH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
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vY29uZGl0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCB7IEJPT0xFQU5fVFlQRSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5jb25zdCBjb25kaXRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29uZGl0aW9uYWxCbG9ja3MvY29uZGl0aW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBDb25kaXRpb24ge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHZhbHVlLCBjb21wYXJpc29uLCBiaXR3aXNlQ29uZGl0aW9uLCBuZWdhdGVkQ29uZGl0aW9uLCBicmFja2V0ZWRDb25kaXRpb24pIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5jb21wYXJpc29uID0gY29tcGFyaXNvbjtcbiAgICB0aGlzLmJpdHdpc2VDb25kaXRpb24gPSBiaXR3aXNlQ29uZGl0aW9uO1xuICAgIHRoaXMubmVnYXRlZENvbmRpdGlvbiA9IG5lZ2F0ZWRDb25kaXRpb247XG4gICAgdGhpcy5icmFja2V0ZWRDb25kaXRpb24gPSBicmFja2V0ZWRDb25kaXRpb247XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBnZXRDb21wYXJpc29uKCkge1xuICAgIHJldHVybiB0aGlzLmNvbXBhcmlzb247XG4gIH1cblxuICBnZXRCaXR3aXNlQ29uZGl0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmJpdHdpc2VDb25kaXRpb247XG4gIH1cblxuICBnZXROZWdhdGVkQ29uZGl0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLm5lZ2F0ZWRDb25kaXRpb247XG4gIH1cblxuICBnZXRCcmFja2V0ZWRDb25kaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYnJhY2tldGVkQ29uZGl0aW9uO1xuICB9XG5cbiAgcmVzb2x2ZShjb250ZXh0KSB7XG4gICAgbGV0IHZhbHVlO1xuXG4gICAgY29uc3QgY29uZGl0aW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFJlc29sdmluZyB0aGUgJyR7Y29uZGl0aW9uU3RyaW5nfScgY29uZGl0aW9uLi4uYCk7XG5cbiAgICBpZiAodGhpcy52YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLnZhbHVlLnJlc29sdmUoY29udGV4dCk7XG5cbiAgICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKTtcblxuICAgICAgaWYgKHZhbHVlVHlwZSAhPT0gQk9PTEVBTl9UWVBFKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlVHlwZX0nIHR5cGUgb2YgdGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUgc2hvdWxkIGJlICcke0JPT0xFQU5fVFlQRX0nYCxcbiAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb21wYXJpc29uICE9PSBudWxsKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuY29tcGFyaXNvbi5yZXNvbHZlKGNvbnRleHQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJpdHdpc2VDb25kaXRpb24gIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5iaXR3aXNlQ29uZGl0aW9uLnJlc29sdmUoY29udGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubmVnYXRlZENvbmRpdGlvbiAhPT0gbnVsbCkge1xuICAgICAgdmFsdWUgPSB0aGlzLm5lZ2F0ZWRDb25kaXRpb24ucmVzb2x2ZShjb250ZXh0KTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5icmFja2V0ZWRDb25kaXRpb24gIT09IG51bGwpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5icmFja2V0ZWRDb25kaXRpb24ucmVzb2x2ZShjb250ZXh0KTtcbiAgICB9XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5yZXNvbHZlZCB0aGUgJyR7Y29uZGl0aW9uU3RyaW5nfScgY29uZGl0aW9uLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkNvbmRpdGlvblwiO1xuXG4gIHN0YXRpYyBmcm9tQ29uZGl0aW9uTm9kZShjb25kaXRpb25Ob2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgeyBWYWx1ZSwgQ29tcGFyaXNvbiwgQml0d2lzZUNvbmRpdGlvbiwgTmVnYXRlZENvbmRpdGlvbiwgQnJhY2tldGVkQ29uZGl0aW9uIH0gPSBkb20sXG4gICAgICAgICAgbm9kZSA9IGNvbmRpdGlvbk5vZGUsIC8vL1xuICAgICAgICAgIHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgIHZhbHVlID0gVmFsdWUuZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgY29tcGFyaXNvbiA9IENvbXBhcmlzb24uZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgYml0d2lzZUNvbmRpdGlvbiA9IEJpdHdpc2VDb25kaXRpb24uZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgbmVnYXRlZENvbmRpdGlvbiA9IE5lZ2F0ZWRDb25kaXRpb24uZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgYnJhY2tldGVkQ29uZGl0aW9uID0gQnJhY2tldGVkQ29uZGl0aW9uLmZyb21Db25kaXRpb25Ob2RlKGNvbmRpdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIGNvbmRpdGlvbiA9IG5ldyBDb25kaXRpb24oc3RyaW5nLCB2YWx1ZSwgY29tcGFyaXNvbiwgYml0d2lzZUNvbmRpdGlvbiwgbmVnYXRlZENvbmRpdGlvbiwgYnJhY2tldGVkQ29uZGl0aW9uKTtcblxuICAgIHJldHVybiBjb25kaXRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbmRpdGlvbmFsQmxvY2tzTm9kZShjb25kaXRpb25hbEJsb2Nrc05vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB7IFZhbHVlLCBDb21wYXJpc29uLCBCaXR3aXNlQ29uZGl0aW9uLCBOZWdhdGVkQ29uZGl0aW9uLCBCcmFja2V0ZWRDb25kaXRpb24gfSA9IGRvbSxcbiAgICAgICAgICBjb25kaXRpb25Ob2RlID0gY29uZGl0aW9uTm9kZVF1ZXJ5KGNvbmRpdGlvbmFsQmxvY2tzTm9kZSksXG4gICAgICAgICAgbm9kZSA9IGNvbmRpdGlvbk5vZGUsIC8vL1xuICAgICAgICAgIHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgIHZhbHVlID0gVmFsdWUuZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgY29tcGFyaXNvbiA9IENvbXBhcmlzb24uZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgYml0d2lzZUNvbmRpdGlvbiA9IEJpdHdpc2VDb25kaXRpb24uZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgbmVnYXRlZENvbmRpdGlvbiA9IE5lZ2F0ZWRDb25kaXRpb24uZnJvbUNvbmRpdGlvbk5vZGUoY29uZGl0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgYnJhY2tldGVkQ29uZGl0aW9uID0gQnJhY2tldGVkQ29uZGl0aW9uLmZyb21Db25kaXRpb25Ob2RlKGNvbmRpdGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIGNvbmRpdGlvbiA9IG5ldyBDb25kaXRpb24oc3RyaW5nLCB2YWx1ZSwgY29tcGFyaXNvbiwgYml0d2lzZUNvbmRpdGlvbiwgbmVnYXRlZENvbmRpdGlvbiwgYnJhY2tldGVkQ29uZGl0aW9uKTtcblxuICAgIHJldHVybiBjb25kaXRpb247XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImNvbmRpdGlvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiQ29uZGl0aW9uIiwic3RyaW5nIiwidmFsdWUiLCJjb21wYXJpc29uIiwiYml0d2lzZUNvbmRpdGlvbiIsIm5lZ2F0ZWRDb25kaXRpb24iLCJicmFja2V0ZWRDb25kaXRpb24iLCJnZXRTdHJpbmciLCJnZXRWYWx1ZSIsImdldENvbXBhcmlzb24iLCJnZXRCaXR3aXNlQ29uZGl0aW9uIiwiZ2V0TmVnYXRlZENvbmRpdGlvbiIsImdldEJyYWNrZXRlZENvbmRpdGlvbiIsInJlc29sdmUiLCJjb250ZXh0IiwiY29uZGl0aW9uU3RyaW5nIiwidHJhY2UiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwiQk9PTEVBTl9UWVBFIiwidmFsdWVTdHJpbmciLCJhc1N0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImRlYnVnIiwiZnJvbUNvbmRpdGlvbk5vZGUiLCJjb25kaXRpb25Ob2RlIiwiVmFsdWUiLCJkb20iLCJDb21wYXJpc29uIiwiQml0d2lzZUNvbmRpdGlvbiIsIk5lZ2F0ZWRDb25kaXRpb24iLCJCcmFja2V0ZWRDb25kaXRpb24iLCJub2RlIiwibm9kZUFzU3RyaW5nIiwiY29uZGl0aW9uIiwiZnJvbUNvbmRpdGlvbmFsQmxvY2tzTm9kZSIsImNvbmRpdGlvbmFsQmxvY2tzTm9kZSIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBOzs7ZUFBQTs7OzJEQVRnQjtnRUFDTTtxQkFFSTtxQkFFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0IsSUFBTUEscUJBQXFCQyxJQUFBQSxnQkFBUyxFQUFDO0lBRXJDLFdBQWVDLElBQUFBLGdCQUFXLDhCQUFDO2FBQU1DLFVBQ25CQyxNQUFNLEVBQUVDLEtBQUssRUFBRUMsVUFBVSxFQUFFQyxnQkFBZ0IsRUFBRUMsZ0JBQWdCLEVBQUVDLGtCQUFrQjtnQ0FEOUROO1FBRTdCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLGdCQUFnQixHQUFHQTtRQUN4QixJQUFJLENBQUNDLGdCQUFnQixHQUFHQTtRQUN4QixJQUFJLENBQUNDLGtCQUFrQixHQUFHQTs7OztZQUc1QkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTixNQUFNO1lBQ3BCOzs7WUFFQU8sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTixLQUFLO1lBQ25COzs7WUFFQU8sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTixVQUFVO1lBQ3hCOzs7WUFFQU8sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTixnQkFBZ0I7WUFDOUI7OztZQUVBTyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNOLGdCQUFnQjtZQUM5Qjs7O1lBRUFPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ04sa0JBQWtCO1lBQ2hDOzs7WUFFQU8sS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFDLE9BQU87Z0JBQ2IsSUFBSVo7Z0JBRUosSUFBTWEsa0JBQWtCLElBQUksQ0FBQ2QsTUFBTSxFQUFHLEdBQUc7Z0JBRXpDYSxRQUFRRSxLQUFLLENBQUMsQUFBQyxrQkFBaUMsT0FBaEJELGlCQUFnQjtnQkFFaEQsSUFBSSxJQUFJLENBQUNiLEtBQUssS0FBSyxNQUFNO29CQUN2QkEsUUFBUSxJQUFJLENBQUNBLEtBQUssQ0FBQ1csT0FBTyxDQUFDQztvQkFFM0IsSUFBTUcsWUFBWWYsTUFBTWdCLE9BQU87b0JBRS9CLElBQUlELGNBQWNFLG1CQUFZLEVBQUU7d0JBQzlCLElBQU1DLGNBQWNsQixNQUFNbUIsUUFBUSxDQUFDUCxVQUM3QlEsVUFBVSxBQUFDLFFBQWtDRixPQUEzQkgsV0FBVSxtQkFBa0RFLE9BQWpDQyxhQUFZLHVCQUFrQyxPQUFiRCxtQkFBWSxFQUFDLE1BQzNGSSxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO3dCQUV4QyxNQUFNQztvQkFDUjtnQkFDRjtnQkFFQSxJQUFJLElBQUksQ0FBQ3BCLFVBQVUsS0FBSyxNQUFNO29CQUM1QkQsUUFBUSxJQUFJLENBQUNDLFVBQVUsQ0FBQ1UsT0FBTyxDQUFDQztnQkFDbEM7Z0JBRUEsSUFBSSxJQUFJLENBQUNWLGdCQUFnQixLQUFLLE1BQU07b0JBQ2xDRixRQUFRLElBQUksQ0FBQ0UsZ0JBQWdCLENBQUNTLE9BQU8sQ0FBQ0M7Z0JBQ3hDO2dCQUVBLElBQUksSUFBSSxDQUFDVCxnQkFBZ0IsS0FBSyxNQUFNO29CQUNsQ0gsUUFBUSxJQUFJLENBQUNHLGdCQUFnQixDQUFDUSxPQUFPLENBQUNDO2dCQUN4QztnQkFFQSxJQUFJLElBQUksQ0FBQ1Isa0JBQWtCLEtBQUssTUFBTTtvQkFDcENKLFFBQVEsSUFBSSxDQUFDSSxrQkFBa0IsQ0FBQ08sT0FBTyxDQUFDQztnQkFDMUM7Z0JBRUFBLFFBQVFZLEtBQUssQ0FBQyxBQUFDLG9CQUFtQyxPQUFoQlgsaUJBQWdCO2dCQUVsRCxPQUFPYjtZQUNUOzs7O1lBSU95QixLQUFBQTttQkFBUCxTQUFPQSxrQkFBa0JDLGFBQWEsRUFBRWQsT0FBTztnQkFDN0MsSUFBUWUsUUFBOEVDLFlBQUcsQ0FBakZELE9BQU9FLGFBQXVFRCxZQUFHLENBQTFFQyxZQUFZQyxtQkFBMkRGLFlBQUcsQ0FBOURFLGtCQUFrQkMsbUJBQXlDSCxZQUFHLENBQTVDRyxrQkFBa0JDLHFCQUF1QkosWUFBRyxDQUExQkksb0JBQ3pEQyxPQUFPUCxlQUNQM0IsU0FBU2EsUUFBUXNCLFlBQVksQ0FBQ0QsT0FDOUJqQyxRQUFRMkIsTUFBTUYsaUJBQWlCLENBQUNDLGVBQWVkLFVBQy9DWCxhQUFhNEIsV0FBV0osaUJBQWlCLENBQUNDLGVBQWVkLFVBQ3pEVixtQkFBbUI0QixpQkFBaUJMLGlCQUFpQixDQUFDQyxlQUFlZCxVQUNyRVQsbUJBQW1CNEIsaUJBQWlCTixpQkFBaUIsQ0FBQ0MsZUFBZWQsVUFDckVSLHFCQUFxQjRCLG1CQUFtQlAsaUJBQWlCLENBQUNDLGVBQWVkLFVBQ3pFdUIsWUFBWSxJQUFJckMsVUFBVUMsUUFBUUMsT0FBT0MsWUFBWUMsa0JBQWtCQyxrQkFBa0JDO2dCQUUvRixPQUFPK0I7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLDBCQUEwQkMscUJBQXFCLEVBQUV6QixPQUFPO2dCQUM3RCxJQUFRZSxRQUE4RUMsWUFBRyxDQUFqRkQsT0FBT0UsYUFBdUVELFlBQUcsQ0FBMUVDLFlBQVlDLG1CQUEyREYsWUFBRyxDQUE5REUsa0JBQWtCQyxtQkFBeUNILFlBQUcsQ0FBNUNHLGtCQUFrQkMscUJBQXVCSixZQUFHLENBQTFCSSxvQkFDekROLGdCQUFnQi9CLG1CQUFtQjBDLHdCQUNuQ0osT0FBT1AsZUFDUDNCLFNBQVNhLFFBQVFzQixZQUFZLENBQUNELE9BQzlCakMsUUFBUTJCLE1BQU1GLGlCQUFpQixDQUFDQyxlQUFlZCxVQUMvQ1gsYUFBYTRCLFdBQVdKLGlCQUFpQixDQUFDQyxlQUFlZCxVQUN6RFYsbUJBQW1CNEIsaUJBQWlCTCxpQkFBaUIsQ0FBQ0MsZUFBZWQsVUFDckVULG1CQUFtQjRCLGlCQUFpQk4saUJBQWlCLENBQUNDLGVBQWVkLFVBQ3JFUixxQkFBcUI0QixtQkFBbUJQLGlCQUFpQixDQUFDQyxlQUFlZCxVQUN6RXVCLFlBQVksSUFBSXJDLFVBQVVDLFFBQVFDLE9BQU9DLFlBQVlDLGtCQUFrQkMsa0JBQWtCQztnQkFFL0YsT0FBTytCO1lBQ1Q7Ozs7S0E3QkEsNkJBQU9HLFFBQU8ifQ==
|
|
@@ -18,8 +18,8 @@ function _interop_require_default(obj) {
|
|
|
18
18
|
}
|
|
19
19
|
var nominalLexerFromCombinedCustomGrammar = _occamcustomgrammars.lexersUtilities.nominalLexerFromCombinedCustomGrammar, nominalParserFromStartRuleNameAndCombinedCustomGrammar = _occamcustomgrammars.parsersUtilities.nominalParserFromStartRuleNameAndCombinedCustomGrammar;
|
|
20
20
|
function nominalFileContextFromReleaseContext(releaseContext) {
|
|
21
|
-
var content = "∀n
|
|
21
|
+
var content = "∀n m = m", startRuleName = "statement", combinedCustomGrammar = (0, _grammar.combinedCustomGrammarFromNothing)(), nominalLexer = nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar), nominalParser = nominalParserFromStartRuleNameAndCombinedCustomGrammar(startRuleName, combinedCustomGrammar), lexer = nominalLexer, parser = nominalParser, tokens = lexer.tokenise(content), node = parser.parse(tokens), fileContext = _file.default.fromNodeAndTokens(node, tokens, releaseContext), nominalFileContext = fileContext; ///
|
|
22
22
|
return nominalFileContext;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3V0aWxpdGllcy9ub21pbmFsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMsIHBhcnNlcnNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tY3VzdG9tLWdyYW1tYXJzXCI7XG5cbmltcG9ydCBGaWxlQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9maWxlXCI7XG5cbmltcG9ydCB7IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ncmFtbWFyXCI7XG5cbmNvbnN0IHsgbm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciB9ID0gbGV4ZXJzVXRpbGl0aWVzLFxuICAgICAgeyBub21pbmFsUGFyc2VyRnJvbVN0YXJ0UnVsZU5hbWVBbmRDb21iaW5lZEN1c3RvbUdyYW1tYXIgfSA9IHBhcnNlcnNVdGlsaXRpZXM7XG5cbmV4cG9ydCBmdW5jdGlvbiBub21pbmFsRmlsZUNvbnRleHRGcm9tUmVsZWFzZUNvbnRleHQocmVsZWFzZUNvbnRleHQpIHtcbiAgY29uc3QgY29udGVudCA9IGDiiIBuIG0gPSBtYCxcbiAgICAgICAgc3RhcnRSdWxlTmFtZSA9IFwic3RhdGVtZW50XCIsXG4gICAgICAgIGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nKCksXG4gICAgICAgIG5vbWluYWxMZXhlciA9IG5vbWluYWxMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKSxcbiAgICAgICAgbm9taW5hbFBhcnNlciA9IG5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZUFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hcihzdGFydFJ1bGVOYW1lLCBjb21iaW5lZEN1c3RvbUdyYW1tYXIpLFxuICAgICAgICBsZXhlciA9IG5vbWluYWxMZXhlciwgLy8vXG4gICAgICAgIHBhcnNlciA9IG5vbWluYWxQYXJzZXIsIC8vL1xuICAgICAgICB0b2tlbnMgPSBsZXhlci50b2tlbmlzZShjb250ZW50KSxcbiAgICAgICAgbm9kZSA9IHBhcnNlci5wYXJzZSh0b2tlbnMpLFxuICAgICAgICBmaWxlQ29udGV4dCA9IEZpbGVDb250ZXh0LmZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2VucywgcmVsZWFzZUNvbnRleHQpLFxuICAgICAgICBub21pbmFsRmlsZUNvbnRleHQgPSBmaWxlQ29udGV4dDsgIC8vL1xuXG4gIHJldHVybiBub21pbmFsRmlsZUNvbnRleHQ7XG59XG4iXSwibmFtZXMiOlsibm9taW5hbEZpbGVDb250ZXh0RnJvbVJlbGVhc2VDb250ZXh0Iiwibm9taW5hbExleGVyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImxleGVyc1V0aWxpdGllcyIsIm5vbWluYWxQYXJzZXJGcm9tU3RhcnRSdWxlTmFtZUFuZENvbWJpbmVkQ3VzdG9tR3JhbW1hciIsInBhcnNlcnNVdGlsaXRpZXMiLCJyZWxlYXNlQ29udGV4dCIsImNvbnRlbnQiLCJzdGFydFJ1bGVOYW1lIiwiY29tYmluZWRDdXN0b21HcmFtbWFyIiwiY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbU5vdGhpbmciLCJub21pbmFsTGV4ZXIiLCJub21pbmFsUGFyc2VyIiwibGV4ZXIiLCJwYXJzZXIiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsIm5vZGUiLCJwYXJzZSIsImZpbGVDb250ZXh0IiwiRmlsZUNvbnRleHQiLCJmcm9tTm9kZUFuZFRva2VucyIsIm5vbWluYWxGaWxlQ29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV2dCQTs7O2VBQUFBOzs7bUNBVGtDOzJEQUUxQjt1QkFFeUI7Ozs7OztBQUVqRCxJQUFNLEFBQUVDLHdDQUEwQ0Msb0NBQWUsQ0FBekRELHVDQUNGLEFBQUVFLHlEQUEyREMscUNBQWdCLENBQTNFRDtBQUVELFNBQVNILHFDQUFxQ0ssY0FBYztJQUNqRSxJQUFNQyxVQUFXLFlBQ1hDLGdCQUFnQixhQUNoQkMsd0JBQXdCQyxJQUFBQSx5Q0FBZ0MsS0FDeERDLGVBQWVULHNDQUFzQ08sd0JBQ3JERyxnQkFBZ0JSLHVEQUF1REksZUFBZUMsd0JBQ3RGSSxRQUFRRixjQUNSRyxTQUFTRixlQUNURyxTQUFTRixNQUFNRyxRQUFRLENBQUNULFVBQ3hCVSxPQUFPSCxPQUFPSSxLQUFLLENBQUNILFNBQ3BCSSxjQUFjQyxhQUFXLENBQUNDLGlCQUFpQixDQUFDSixNQUFNRixRQUFRVCxpQkFDMURnQixxQkFBcUJILGFBQWMsR0FBRztJQUU1QyxPQUFPRztBQUNUIn0=
|
|
@@ -12,17 +12,18 @@ var _occamquery = require("occam-query");
|
|
|
12
12
|
var _index = require("../../index");
|
|
13
13
|
var _necessary = require("necessary");
|
|
14
14
|
var first = _necessary.arrayUtilities.first;
|
|
15
|
-
var
|
|
15
|
+
var freeTermNodeQuery = _occamquery.Query.fromExpressionString("//term[1]"), boundTermNodeQuery = _occamquery.Query.fromExpressionString("//term[0]");
|
|
16
16
|
function valuesFromFileContext(fileContext) {
|
|
17
|
-
var
|
|
17
|
+
var free = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
|
|
18
|
+
var context = fileContext, nodes = nodesFromFileContext(fileContext, free), values = _index.Values.fromNodes(nodes, context);
|
|
18
19
|
return values;
|
|
19
20
|
}
|
|
20
|
-
function nodesFromFileContext(fileContext) {
|
|
21
|
-
var node = fileContext.getNode(), termNodes = termNodeQuery.execute(node), firstTermNode = first(termNodes), termNode = firstTermNode, statementNode = node, nodes = [
|
|
21
|
+
function nodesFromFileContext(fileContext, free) {
|
|
22
|
+
var termNodeQuery = free ? freeTermNodeQuery : boundTermNodeQuery, node = fileContext.getNode(), termNodes = termNodeQuery.execute(node), firstTermNode = first(termNodes), termNode = firstTermNode, statementNode = node, nodes = [
|
|
22
23
|
termNode,
|
|
23
24
|
statementNode
|
|
24
25
|
];
|
|
25
26
|
return nodes;
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL3V0aWxpdGllcy92YWx1ZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBWYWx1ZXMgfSBmcm9tIFwiLi4vLi4vaW5kZXhcIjsgLy8vXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaXJzdCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmNvbnN0IGZyZWVUZXJtTm9kZVF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoXCIvL3Rlcm1bMV1cIiksXG4gICAgICBib3VuZFRlcm1Ob2RlUXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhcIi8vdGVybVswXVwiKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHZhbHVlc0Zyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCwgZnJlZSA9IHRydWUpIHtcbiAgY29uc3QgY29udGV4dCA9IGZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgIG5vZGVzID0gbm9kZXNGcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHQsIGZyZWUpLFxuICAgICAgICB2YWx1ZXMgPSBWYWx1ZXMuZnJvbU5vZGVzKG5vZGVzLCBjb250ZXh0KTtcblxuICByZXR1cm4gdmFsdWVzO1xufVxuXG5mdW5jdGlvbiBub2Rlc0Zyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCwgZnJlZSkge1xuICBjb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gZnJlZSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZyZWVUZXJtTm9kZVF1ZXJ5IDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3VuZFRlcm1Ob2RlUXVlcnksXG4gICAgICAgIG5vZGUgPSBmaWxlQ29udGV4dC5nZXROb2RlKCksXG4gICAgICAgIHRlcm1Ob2RlcyA9IHRlcm1Ob2RlUXVlcnkuZXhlY3V0ZShub2RlKSxcbiAgICAgICAgZmlyc3RUZXJtTm9kZSA9IGZpcnN0KHRlcm1Ob2RlcyksXG4gICAgICAgIHRlcm1Ob2RlID0gZmlyc3RUZXJtTm9kZSwgLy8vXG4gICAgICAgIHN0YXRlbWVudE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgbm9kZXMgPSBbXG4gICAgICAgICAgdGVybU5vZGUsXG4gICAgICAgICAgc3RhdGVtZW50Tm9kZVxuICAgICAgICBdO1xuXG4gIHJldHVybiBub2Rlcztcbn1cbiJdLCJuYW1lcyI6WyJ2YWx1ZXNGcm9tRmlsZUNvbnRleHQiLCJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwiZnJlZVRlcm1Ob2RlUXVlcnkiLCJRdWVyeSIsImZyb21FeHByZXNzaW9uU3RyaW5nIiwiYm91bmRUZXJtTm9kZVF1ZXJ5IiwiZmlsZUNvbnRleHQiLCJmcmVlIiwiY29udGV4dCIsIm5vZGVzIiwibm9kZXNGcm9tRmlsZUNvbnRleHQiLCJ2YWx1ZXMiLCJWYWx1ZXMiLCJmcm9tTm9kZXMiLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZSIsImdldE5vZGUiLCJ0ZXJtTm9kZXMiLCJleGVjdXRlIiwiZmlyc3RUZXJtTm9kZSIsInRlcm1Ob2RlIiwic3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV2dCQTs7O2VBQUFBOzs7MEJBVE07cUJBQ0M7eUJBQ1E7QUFFL0IsSUFBTSxBQUFFQyxRQUFVQyx5QkFBYyxDQUF4QkQ7QUFFUixJQUFNRSxvQkFBb0JDLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDLGNBQy9DQyxxQkFBcUJGLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDO0FBRS9DLFNBQVNMLHNCQUFzQk8sV0FBVztRQUFFQyxPQUFBQSxpRUFBTztJQUN4RCxJQUFNQyxVQUFVRixhQUNWRyxRQUFRQyxxQkFBcUJKLGFBQWFDLE9BQzFDSSxTQUFTQyxhQUFNLENBQUNDLFNBQVMsQ0FBQ0osT0FBT0Q7SUFFdkMsT0FBT0c7QUFDVDtBQUVBLFNBQVNELHFCQUFxQkosV0FBVyxFQUFFQyxJQUFJO0lBQzdDLElBQU1PLGdCQUFnQlAsT0FDRUwsb0JBQ0VHLG9CQUNwQlUsT0FBT1QsWUFBWVUsT0FBTyxJQUMxQkMsWUFBWUgsY0FBY0ksT0FBTyxDQUFDSCxPQUNsQ0ksZ0JBQWdCbkIsTUFBTWlCLFlBQ3RCRyxXQUFXRCxlQUNYRSxnQkFBZ0JOLE1BQ2hCTixRQUFRO1FBQ05XO1FBQ0FDO0tBQ0Q7SUFFUCxPQUFPWjtBQUNUIn0=
|
package/lib/example.js
CHANGED
|
@@ -11,15 +11,15 @@ var _nominal = require("./example/utilities/nominal");
|
|
|
11
11
|
var releaseContext = _release.ReleaseContext.fromNothing(), furtleFile = (0, _furtle.furtleFileFromNothing)(), file = furtleFile; ///
|
|
12
12
|
releaseContext.addFile(file);
|
|
13
13
|
releaseContext.verify();
|
|
14
|
-
var nominalFileContext = (0, _nominal.nominalFileContextFromReleaseContext)(releaseContext), fileContext = nominalFileContext
|
|
14
|
+
var nominalFileContext = (0, _nominal.nominalFileContextFromReleaseContext)(releaseContext), fileContext = nominalFileContext; ///
|
|
15
15
|
releaseContext.addFileContext(fileContext);
|
|
16
|
-
var procedure = (0, _procedure.procedureFromReleaseContext)(releaseContext);
|
|
16
|
+
var free = true, values = (0, _values.valuesFromFileContext)(fileContext, free), procedure = (0, _procedure.procedureFromReleaseContext)(releaseContext);
|
|
17
17
|
try {
|
|
18
|
-
var value = procedure.call(values, fileContext), boolean = value.getBoolean(),
|
|
19
|
-
console.log(
|
|
18
|
+
var value = procedure.call(values, fileContext), boolean = value.getBoolean(), free1 = boolean; ///
|
|
19
|
+
console.log(free1);
|
|
20
20
|
} catch (exception) {
|
|
21
21
|
var message = exception.getMessage();
|
|
22
22
|
console.log(message);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGFtcGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgXCIuL2luZGV4XCI7XG5cbmltcG9ydCB7IFJlbGVhc2VDb250ZXh0IH0gZnJvbSBcIi4vZXhhbXBsZS9jb250ZXh0L3JlbGVhc2VcIjtcblxuaW1wb3J0IHsgZnVydGxlRmlsZUZyb21Ob3RoaW5nIH0gZnJvbSBcIi4vZXhhbXBsZS91dGlsaXRpZXMvZnVydGxlXCI7XG5pbXBvcnQgeyB2YWx1ZXNGcm9tRmlsZUNvbnRleHQgfSBmcm9tIFwiLi9leGFtcGxlL3V0aWxpdGllcy92YWx1ZXNcIjtcbmltcG9ydCB7IHByb2NlZHVyZUZyb21SZWxlYXNlQ29udGV4dCB9IGZyb20gXCIuL2V4YW1wbGUvdXRpbGl0aWVzL3Byb2NlZHVyZVwiO1xuaW1wb3J0IHsgbm9taW5hbEZpbGVDb250ZXh0RnJvbVJlbGVhc2VDb250ZXh0IH0gZnJvbSBcIi4vZXhhbXBsZS91dGlsaXRpZXMvbm9taW5hbFwiO1xuXG5jb25zdCByZWxlYXNlQ29udGV4dCA9IFJlbGVhc2VDb250ZXh0LmZyb21Ob3RoaW5nKCksXG4gICAgICBmdXJ0bGVGaWxlID0gZnVydGxlRmlsZUZyb21Ob3RoaW5nKCksXG4gICAgICBmaWxlID0gZnVydGxlRmlsZTsgIC8vL1xuXG5yZWxlYXNlQ29udGV4dC5hZGRGaWxlKGZpbGUpO1xuXG5yZWxlYXNlQ29udGV4dC52ZXJpZnkoKTtcblxuY29uc3Qgbm9taW5hbEZpbGVDb250ZXh0ID0gbm9taW5hbEZpbGVDb250ZXh0RnJvbVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0KSxcbiAgICAgIGZpbGVDb250ZXh0ID0gbm9taW5hbEZpbGVDb250ZXh0OyAvLy9cblxucmVsZWFzZUNvbnRleHQuYWRkRmlsZUNvbnRleHQoZmlsZUNvbnRleHQpO1xuXG5jb25zdCBmcmVlID0gdHJ1ZSxcbiAgICAgIHZhbHVlcyA9IHZhbHVlc0Zyb21GaWxlQ29udGV4dChmaWxlQ29udGV4dCwgZnJlZSksXG4gICAgICBwcm9jZWR1cmUgPSBwcm9jZWR1cmVGcm9tUmVsZWFzZUNvbnRleHQocmVsZWFzZUNvbnRleHQpO1xuXG50cnkge1xuICBjb25zdCB2YWx1ZSA9IHByb2NlZHVyZS5jYWxsKHZhbHVlcywgZmlsZUNvbnRleHQpLFxuICAgICAgICBib29sZWFuID0gdmFsdWUuZ2V0Qm9vbGVhbigpLFxuICAgICAgICBmcmVlID0gYm9vbGVhbjsgLy8vXG5cbiAgY29uc29sZS5sb2coZnJlZSk7XG59IGNhdGNoIChleGNlcHRpb24pIHtcbiAgY29uc3QgbWVzc2FnZSA9IGV4Y2VwdGlvbi5nZXRNZXNzYWdlKCk7XG5cbiAgY29uc29sZS5sb2cobWVzc2FnZSk7XG59XG4iXSwibmFtZXMiOlsicmVsZWFzZUNvbnRleHQiLCJSZWxlYXNlQ29udGV4dCIsImZyb21Ob3RoaW5nIiwiZnVydGxlRmlsZSIsImZ1cnRsZUZpbGVGcm9tTm90aGluZyIsImZpbGUiLCJhZGRGaWxlIiwidmVyaWZ5Iiwibm9taW5hbEZpbGVDb250ZXh0Iiwibm9taW5hbEZpbGVDb250ZXh0RnJvbVJlbGVhc2VDb250ZXh0IiwiZmlsZUNvbnRleHQiLCJhZGRGaWxlQ29udGV4dCIsImZyZWUiLCJ2YWx1ZXMiLCJ2YWx1ZXNGcm9tRmlsZUNvbnRleHQiLCJwcm9jZWR1cmUiLCJwcm9jZWR1cmVGcm9tUmVsZWFzZUNvbnRleHQiLCJ2YWx1ZSIsImNhbGwiLCJib29sZWFuIiwiZ2V0Qm9vbGVhbiIsImNvbnNvbGUiLCJsb2ciLCJleGNlcHRpb24iLCJtZXNzYWdlIiwiZ2V0TWVzc2FnZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7UUFFTzt1QkFFd0I7c0JBRU87c0JBQ0E7eUJBQ007dUJBQ1M7QUFFckQsSUFBTUEsaUJBQWlCQyx1QkFBYyxDQUFDQyxXQUFXLElBQzNDQyxhQUFhQyxJQUFBQSw2QkFBcUIsS0FDbENDLE9BQU9GLFlBQWEsR0FBRztBQUU3QkgsZUFBZU0sT0FBTyxDQUFDRDtBQUV2QkwsZUFBZU8sTUFBTTtBQUVyQixJQUFNQyxxQkFBcUJDLElBQUFBLDZDQUFvQyxFQUFDVCxpQkFDMURVLGNBQWNGLG9CQUFvQixHQUFHO0FBRTNDUixlQUFlVyxjQUFjLENBQUNEO0FBRTlCLElBQU1FLE9BQU8sTUFDUEMsU0FBU0MsSUFBQUEsNkJBQXFCLEVBQUNKLGFBQWFFLE9BQzVDRyxZQUFZQyxJQUFBQSxzQ0FBMkIsRUFBQ2hCO0FBRTlDLElBQUk7SUFDRixJQUFNaUIsUUFBUUYsVUFBVUcsSUFBSSxDQUFDTCxRQUFRSCxjQUMvQlMsVUFBVUYsTUFBTUcsVUFBVSxJQUMxQlIsUUFBT08sU0FBUyxHQUFHO0lBRXpCRSxRQUFRQyxHQUFHLENBQUNWO0FBQ2QsRUFBRSxPQUFPVyxXQUFXO0lBQ2xCLElBQU1DLFVBQVVELFVBQVVFLFVBQVU7SUFFcENKLFFBQVFDLEdBQUcsQ0FBQ0U7QUFDZCJ9
|
package/lib/index.js
CHANGED
|
@@ -9,9 +9,6 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
Exception: function() {
|
|
13
|
-
return _exception.default;
|
|
14
|
-
},
|
|
15
12
|
FileContext: function() {
|
|
16
13
|
return _file.default;
|
|
17
14
|
},
|
|
@@ -43,6 +40,7 @@ var _forEachLoop = /*#__PURE__*/ _interop_require_default(require("./dom/forEach
|
|
|
43
40
|
var _procedureCall = /*#__PURE__*/ _interop_require_default(require("./dom/procedureCall"));
|
|
44
41
|
var _array = /*#__PURE__*/ _interop_require_default(require("./dom/assignment/array"));
|
|
45
42
|
var _returnStatement = /*#__PURE__*/ _interop_require_default(require("./dom/returnStatement"));
|
|
43
|
+
var _negated = /*#__PURE__*/ _interop_require_default(require("./dom/condition/negated"));
|
|
46
44
|
var _object = /*#__PURE__*/ _interop_require_default(require("./dom/assignment/object"));
|
|
47
45
|
var _bitwise = /*#__PURE__*/ _interop_require_default(require("./dom/condition/bitwise"));
|
|
48
46
|
var _conditionalBlocks = /*#__PURE__*/ _interop_require_default(require("./dom/conditionalBlocks"));
|
|
@@ -51,7 +49,6 @@ var _anonymous = /*#__PURE__*/ _interop_require_default(require("./dom/procedure
|
|
|
51
49
|
var _variable1 = /*#__PURE__*/ _interop_require_default(require("./dom/assignment/variable"));
|
|
52
50
|
var _procedure1 = /*#__PURE__*/ _interop_require_default(require("./dom/declaration/procedure"));
|
|
53
51
|
var _variables = /*#__PURE__*/ _interop_require_default(require("./dom/declaration/variables"));
|
|
54
|
-
var _exception = /*#__PURE__*/ _interop_require_default(require("./exception"));
|
|
55
52
|
var _file = /*#__PURE__*/ _interop_require_default(require("./context/file"));
|
|
56
53
|
var _string = /*#__PURE__*/ _interop_require_default(require("./utilities/string"));
|
|
57
54
|
function _interop_require_default(obj) {
|
|
@@ -60,4 +57,4 @@ function _interop_require_default(obj) {
|
|
|
60
57
|
};
|
|
61
58
|
}
|
|
62
59
|
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFN0ZXAgZnJvbSBcIi4vZG9tL3N0ZXBcIjtcbmltcG9ydCBMYWJlbCBmcm9tIFwiLi9kb20vbGFiZWxcIjtcbmltcG9ydCBCbG9jayBmcm9tIFwiLi9kb20vYmxvY2tcIjtcbmltcG9ydCBFcnJvciBmcm9tIFwiLi9kb20vZXJyb3JcIjtcbmltcG9ydCBWYWx1ZSBmcm9tIFwiLi9kb20vdmFsdWVcIjtcbmltcG9ydCBWYWx1ZXMgZnJvbSBcIi4vZG9tL3ZhbHVlc1wiO1xuaW1wb3J0IFZhcmlhYmxlIGZyb20gXCIuL2RvbS92YXJpYWJsZVwiO1xuaW1wb3J0IENvbmRpdGlvbiBmcm9tIFwiLi9kb20vY29uZGl0aW9uXCI7XG5pbXBvcnQgUmVmZXJlbmNlIGZyb20gXCIuL2RvbS9yZWZlcmVuY2VcIjtcbmltcG9ydCBQcm9jZWR1cmUgZnJvbSBcIi4vZG9tL3Byb2NlZHVyZVwiO1xuaW1wb3J0IE5vZGVRdWVyeSBmcm9tIFwiLi9kb20vcXVlcnkvbm9kZVwiO1xuaW1wb3J0IFBhcmFtZXRlciBmcm9tIFwiLi9kb20vcGFyYW1ldGVyXCI7XG5pbXBvcnQgUGFyYW1ldGVycyBmcm9tIFwiLi9kb20vcGFyYW1ldGVyc1wiO1xuaW1wb3J0IE5vZGVzUXVlcnkgZnJvbSBcIi4vZG9tL3F1ZXJ5L25vZGVzXCI7XG5pbXBvcnQgQ29tcGFyaXNvbiBmcm9tIFwiLi9kb20vY29tcGFyaXNvblwiO1xuaW1wb3J0IEFzc2lnbm1lbnQgZnJvbSBcIi4vZG9tL2Fzc2lnbm1lbnRcIjtcbmltcG9ydCBSZXR1cm5CbG9jayBmcm9tIFwiLi9kb20vYmxvY2svcmV0dXJuXCI7XG5pbXBvcnQgRm9yRWFjaExvb3AgZnJvbSBcIi4vZG9tL2ZvckVhY2hMb29wXCI7XG5pbXBvcnQgUHJvY2VkdXJlQ2FsbCBmcm9tIFwiLi9kb20vcHJvY2VkdXJlQ2FsbFwiO1xuaW1wb3J0IEFycmF5QXNzaWdtZW50IGZyb20gXCIuL2RvbS9hc3NpZ25tZW50L2FycmF5XCI7XG5pbXBvcnQgUmV0dXJuU3RhdGVtZW50IGZyb20gXCIuL2RvbS9yZXR1cm5TdGF0ZW1lbnRcIjtcbmltcG9ydCBOZWdhdGVkQ29uZGl0aW9uIGZyb20gXCIuL2RvbS9jb25kaXRpb24vbmVnYXRlZFwiO1xuaW1wb3J0IE9iamVjdEFzc2lnbm1lbnQgZnJvbSBcIi4vZG9tL2Fzc2lnbm1lbnQvb2JqZWN0XCI7XG5pbXBvcnQgQml0d2lzZUNvbmRpdGlvbiBmcm9tIFwiLi9kb20vY29uZGl0aW9uL2JpdHdpc2VcIjtcbmltcG9ydCBDb25kaXRpb25hbEJsb2NrcyBmcm9tIFwiLi9kb20vY29uZGl0aW9uYWxCbG9ja3NcIjtcbmltcG9ydCBCcmFja2V0ZWRDb25kaXRpb24gZnJvbSBcIi4vZG9tL2NvbmRpdGlvbi9icmFja2V0ZWRcIjtcbmltcG9ydCBBbm9ueW1vdXNQcm9jZWR1cmUgZnJvbSBcIi4vZG9tL3Byb2NlZHVyZS9hbm9ueW1vdXNcIjtcbmltcG9ydCBWYXJpYWJsZUFzc2lnbm1lbnQgZnJvbSBcIi4vZG9tL2Fzc2lnbm1lbnQvdmFyaWFibGVcIjtcbmltcG9ydCBQcm9jZWR1cmVEZWNsYXJhdGlvbiBmcm9tIFwiLi9kb20vZGVjbGFyYXRpb24vcHJvY2VkdXJlXCI7XG5pbXBvcnQgVmFyaWFibGVzRGVjbGFyYXRpb24gZnJvbSBcIi4vZG9tL2RlY2xhcmF0aW9uL3ZhcmlhYmxlc1wiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIFZhbHVlcyB9IGZyb20gXCIuL2RvbS92YWx1ZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRmlsZUNvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0L2ZpbGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgc3RyaW5nVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG4iXSwibmFtZXMiOlsiRmlsZUNvbnRleHQiLCJWYWx1ZXMiLCJzdHJpbmdVdGlsaXRpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQWtDb0JBLFdBQVc7ZUFBWEEsYUFBVzs7SUFEWEMsTUFBTTtlQUFOQSxlQUFNOztJQUVOQyxlQUFlO2VBQWZBLGVBQWU7OzsyREFqQ2xCOzREQUNDOzREQUNBOzREQUNBOzREQUNBOzZEQUNDOytEQUNFO2dFQUNDO2dFQUNBO2dFQUNBOzJEQUNBO2dFQUNBO2lFQUNDOzREQUNBO2lFQUNBO2lFQUNBOzZEQUNDO2tFQUNBO29FQUNFOzREQUNDO3NFQUNDOzhEQUNDOzZEQUNBOzhEQUNBO3dFQUNDO2dFQUNDO2dFQUNBO2dFQUNBO2lFQUNFO2dFQUNBOzJEQUdNOzZEQUNJIn0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-furtle",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "2.0.3",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-furtle",
|
|
7
7
|
"description": "Occam's Furtle language.",
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^14.2.1",
|
|
14
|
-
"occam-grammars": "^1.3.
|
|
14
|
+
"occam-grammars": "^1.3.74"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@swc/core": "^1.5.6",
|
|
18
|
-
"occam-custom-grammars": "^5.0.
|
|
19
|
-
"occam-entities": "^1.0.
|
|
18
|
+
"occam-custom-grammars": "^5.0.997",
|
|
19
|
+
"occam-entities": "^1.0.250",
|
|
20
20
|
"occam-query": "^4.1.11",
|
|
21
21
|
"watchful-cli": "^1.7.56"
|
|
22
22
|
},
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import dom from "../../dom";
|
|
4
|
+
|
|
5
|
+
import { nodeQuery } from "../../utilities/query";
|
|
6
|
+
import { domAssigned } from "../../dom";
|
|
7
|
+
|
|
8
|
+
const conditionNodeQuery = nodeQuery("/negatedCondition/condition"),
|
|
9
|
+
negatedConditionNodeQuery = nodeQuery("/condition/negatedCondition");
|
|
10
|
+
|
|
11
|
+
export default domAssigned(class NegatedCondition {
|
|
12
|
+
constructor(string, condition) {
|
|
13
|
+
this.string = string;
|
|
14
|
+
this.condition = condition;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
getString() {
|
|
18
|
+
debugger
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
getCondition() {
|
|
22
|
+
return this.condition;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
resolve(context) {
|
|
26
|
+
let value;
|
|
27
|
+
|
|
28
|
+
const negatedConditionString = this.string; ///
|
|
29
|
+
|
|
30
|
+
context.trace(`Resolving the '${negatedConditionString}' negated condition...`);
|
|
31
|
+
|
|
32
|
+
value = this.condition.resolve(context);
|
|
33
|
+
|
|
34
|
+
let boolean = value.getBoolean();
|
|
35
|
+
|
|
36
|
+
boolean = !boolean;
|
|
37
|
+
|
|
38
|
+
const { Value } = dom;
|
|
39
|
+
|
|
40
|
+
value = Value.fromBoolean(boolean, context); ///
|
|
41
|
+
|
|
42
|
+
context.debug(`...resolved the '${negatedConditionString}' negated condition.`);
|
|
43
|
+
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
static name = "NegatedCondition";
|
|
48
|
+
|
|
49
|
+
static fromConditionNode(conditionNode, context) {
|
|
50
|
+
let negatedCondition = null;
|
|
51
|
+
|
|
52
|
+
const negatedConditionNode = negatedConditionNodeQuery(conditionNode);
|
|
53
|
+
|
|
54
|
+
if (negatedConditionNode !== null) {
|
|
55
|
+
const { Condition } = dom,
|
|
56
|
+
node = negatedConditionNode, //
|
|
57
|
+
string = context.nodeAsString(node),
|
|
58
|
+
conditionNode = conditionNodeQuery(negatedConditionNode),
|
|
59
|
+
condition = Condition.fromConditionNode(conditionNode, context);
|
|
60
|
+
|
|
61
|
+
negatedCondition = new NegatedCondition(string, condition);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return negatedCondition;
|
|
65
|
+
}
|
|
66
|
+
});
|
package/src/dom/condition.js
CHANGED
|
@@ -10,11 +10,12 @@ import { BOOLEAN_TYPE } from "../types";
|
|
|
10
10
|
const conditionNodeQuery = nodeQuery("/conditionalBlocks/condition");
|
|
11
11
|
|
|
12
12
|
export default domAssigned(class Condition {
|
|
13
|
-
constructor(string, value, comparison, bitwiseCondition, bracketedCondition) {
|
|
13
|
+
constructor(string, value, comparison, bitwiseCondition, negatedCondition, bracketedCondition) {
|
|
14
14
|
this.string = string;
|
|
15
15
|
this.value = value;
|
|
16
16
|
this.comparison = comparison;
|
|
17
17
|
this.bitwiseCondition = bitwiseCondition;
|
|
18
|
+
this.negatedCondition = negatedCondition;
|
|
18
19
|
this.bracketedCondition = bracketedCondition;
|
|
19
20
|
}
|
|
20
21
|
|
|
@@ -34,6 +35,10 @@ export default domAssigned(class Condition {
|
|
|
34
35
|
return this.bitwiseCondition;
|
|
35
36
|
}
|
|
36
37
|
|
|
38
|
+
getNegatedCondition() {
|
|
39
|
+
return this.negatedCondition;
|
|
40
|
+
}
|
|
41
|
+
|
|
37
42
|
getBracketedCondition() {
|
|
38
43
|
return this.bracketedCondition;
|
|
39
44
|
}
|
|
@@ -67,6 +72,10 @@ export default domAssigned(class Condition {
|
|
|
67
72
|
value = this.bitwiseCondition.resolve(context);
|
|
68
73
|
}
|
|
69
74
|
|
|
75
|
+
if (this.negatedCondition !== null) {
|
|
76
|
+
value = this.negatedCondition.resolve(context);
|
|
77
|
+
}
|
|
78
|
+
|
|
70
79
|
if (this.bracketedCondition !== null) {
|
|
71
80
|
value = this.bracketedCondition.resolve(context);
|
|
72
81
|
}
|
|
@@ -79,28 +88,30 @@ export default domAssigned(class Condition {
|
|
|
79
88
|
static name = "Condition";
|
|
80
89
|
|
|
81
90
|
static fromConditionNode(conditionNode, context) {
|
|
82
|
-
const { Value, Comparison, BitwiseCondition, BracketedCondition } = dom,
|
|
91
|
+
const { Value, Comparison, BitwiseCondition, NegatedCondition, BracketedCondition } = dom,
|
|
83
92
|
node = conditionNode, ///
|
|
84
93
|
string = context.nodeAsString(node),
|
|
85
94
|
value = Value.fromConditionNode(conditionNode, context),
|
|
86
95
|
comparison = Comparison.fromConditionNode(conditionNode, context),
|
|
87
96
|
bitwiseCondition = BitwiseCondition.fromConditionNode(conditionNode, context),
|
|
97
|
+
negatedCondition = NegatedCondition.fromConditionNode(conditionNode, context),
|
|
88
98
|
bracketedCondition = BracketedCondition.fromConditionNode(conditionNode, context),
|
|
89
|
-
condition = new Condition(string, value, comparison, bitwiseCondition, bracketedCondition);
|
|
99
|
+
condition = new Condition(string, value, comparison, bitwiseCondition, negatedCondition, bracketedCondition);
|
|
90
100
|
|
|
91
101
|
return condition;
|
|
92
102
|
}
|
|
93
103
|
|
|
94
104
|
static fromConditionalBlocksNode(conditionalBlocksNode, context) {
|
|
95
|
-
const { Value, Comparison, BitwiseCondition, BracketedCondition } = dom,
|
|
105
|
+
const { Value, Comparison, BitwiseCondition, NegatedCondition, BracketedCondition } = dom,
|
|
96
106
|
conditionNode = conditionNodeQuery(conditionalBlocksNode),
|
|
97
107
|
node = conditionNode, ///
|
|
98
108
|
string = context.nodeAsString(node),
|
|
99
109
|
value = Value.fromConditionNode(conditionNode, context),
|
|
100
110
|
comparison = Comparison.fromConditionNode(conditionNode, context),
|
|
101
111
|
bitwiseCondition = BitwiseCondition.fromConditionNode(conditionNode, context),
|
|
112
|
+
negatedCondition = NegatedCondition.fromConditionNode(conditionNode, context),
|
|
102
113
|
bracketedCondition = BracketedCondition.fromConditionNode(conditionNode, context),
|
|
103
|
-
condition = new Condition(string, value, comparison, bitwiseCondition, bracketedCondition);
|
|
114
|
+
condition = new Condition(string, value, comparison, bitwiseCondition, negatedCondition, bracketedCondition);
|
|
104
115
|
|
|
105
116
|
return condition;
|
|
106
117
|
}
|
|
@@ -10,7 +10,7 @@ const { nominalLexerFromCombinedCustomGrammar } = lexersUtilities,
|
|
|
10
10
|
{ nominalParserFromStartRuleNameAndCombinedCustomGrammar } = parsersUtilities;
|
|
11
11
|
|
|
12
12
|
export function nominalFileContextFromReleaseContext(releaseContext) {
|
|
13
|
-
const content = `∀n
|
|
13
|
+
const content = `∀n m = m`,
|
|
14
14
|
startRuleName = "statement",
|
|
15
15
|
combinedCustomGrammar = combinedCustomGrammarFromNothing(),
|
|
16
16
|
nominalLexer = nominalLexerFromCombinedCustomGrammar(combinedCustomGrammar),
|
|
@@ -6,18 +6,22 @@ import { arrayUtilities } from "necessary";
|
|
|
6
6
|
|
|
7
7
|
const { first } = arrayUtilities;
|
|
8
8
|
|
|
9
|
-
const
|
|
9
|
+
const freeTermNodeQuery = Query.fromExpressionString("//term[1]"),
|
|
10
|
+
boundTermNodeQuery = Query.fromExpressionString("//term[0]");
|
|
10
11
|
|
|
11
|
-
export function valuesFromFileContext(fileContext) {
|
|
12
|
+
export function valuesFromFileContext(fileContext, free = true) {
|
|
12
13
|
const context = fileContext, ///
|
|
13
|
-
nodes = nodesFromFileContext(fileContext),
|
|
14
|
+
nodes = nodesFromFileContext(fileContext, free),
|
|
14
15
|
values = Values.fromNodes(nodes, context);
|
|
15
16
|
|
|
16
17
|
return values;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
function nodesFromFileContext(fileContext) {
|
|
20
|
-
const
|
|
20
|
+
function nodesFromFileContext(fileContext, free) {
|
|
21
|
+
const termNodeQuery = free ?
|
|
22
|
+
freeTermNodeQuery :
|
|
23
|
+
boundTermNodeQuery,
|
|
24
|
+
node = fileContext.getNode(),
|
|
21
25
|
termNodes = termNodeQuery.execute(node),
|
|
22
26
|
firstTermNode = first(termNodes),
|
|
23
27
|
termNode = firstTermNode, ///
|
package/src/example.js
CHANGED
|
@@ -18,12 +18,13 @@ releaseContext.addFile(file);
|
|
|
18
18
|
releaseContext.verify();
|
|
19
19
|
|
|
20
20
|
const nominalFileContext = nominalFileContextFromReleaseContext(releaseContext),
|
|
21
|
-
fileContext = nominalFileContext
|
|
22
|
-
values = valuesFromFileContext(fileContext);
|
|
21
|
+
fileContext = nominalFileContext; ///
|
|
23
22
|
|
|
24
23
|
releaseContext.addFileContext(fileContext);
|
|
25
24
|
|
|
26
|
-
const
|
|
25
|
+
const free = true,
|
|
26
|
+
values = valuesFromFileContext(fileContext, free),
|
|
27
|
+
procedure = procedureFromReleaseContext(releaseContext);
|
|
27
28
|
|
|
28
29
|
try {
|
|
29
30
|
const value = procedure.call(values, fileContext),
|
package/src/index.js
CHANGED
|
@@ -21,6 +21,7 @@ import ForEachLoop from "./dom/forEachLoop";
|
|
|
21
21
|
import ProcedureCall from "./dom/procedureCall";
|
|
22
22
|
import ArrayAssigment from "./dom/assignment/array";
|
|
23
23
|
import ReturnStatement from "./dom/returnStatement";
|
|
24
|
+
import NegatedCondition from "./dom/condition/negated";
|
|
24
25
|
import ObjectAssignment from "./dom/assignment/object";
|
|
25
26
|
import BitwiseCondition from "./dom/condition/bitwise";
|
|
26
27
|
import ConditionalBlocks from "./dom/conditionalBlocks";
|
|
@@ -31,7 +32,6 @@ import ProcedureDeclaration from "./dom/declaration/procedure";
|
|
|
31
32
|
import VariablesDeclaration from "./dom/declaration/variables";
|
|
32
33
|
|
|
33
34
|
export { default as Values } from "./dom/values";
|
|
34
|
-
export { default as Exception } from "./exception";
|
|
35
35
|
export { default as FileContext } from "./context/file";
|
|
36
36
|
export { default as stringUtilities } from "./utilities/string";
|
|
37
37
|
|