occam-furtle 1.0.12 → 1.0.13
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/lib/dom/parameter.js +130 -0
- package/lib/dom/procedure.js +27 -6
- package/lib/dom/variable.js +7 -7
- package/lib/index.js +2 -2
- package/package.json +2 -2
- package/src/dom/{argument.js → parameter.js} +10 -10
- package/src/dom/procedure.js +39 -6
- package/src/dom/variable.js +5 -5
- package/src/index.js +1 -1
- package/lib/dom/argument.js +0 -130
|
@@ -0,0 +1,130 @@
|
|
|
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 _Parameter;
|
|
87
|
+
var typeTerminalNodeQuery = (0, _query.nodeQuery)("/parameter/@type");
|
|
88
|
+
var _default = (0, _dom.domAssigned)((_Parameter = /*#__PURE__*/ function() {
|
|
89
|
+
function Parameter(type, variable) {
|
|
90
|
+
_class_call_check(this, Parameter);
|
|
91
|
+
this.type = type;
|
|
92
|
+
this.variable = variable;
|
|
93
|
+
}
|
|
94
|
+
_create_class(Parameter, [
|
|
95
|
+
{
|
|
96
|
+
key: "getType",
|
|
97
|
+
value: function getType() {
|
|
98
|
+
return this.type;
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
key: "getVariable",
|
|
103
|
+
value: function getVariable() {
|
|
104
|
+
return this.variable;
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
key: "getString",
|
|
109
|
+
value: function getString() {
|
|
110
|
+
var typeString = this.type, variableString = this.variable.getString(), string = "".concat(typeString, " ").concat(variableString);
|
|
111
|
+
return string;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
], [
|
|
115
|
+
{
|
|
116
|
+
key: "fromParameterNode",
|
|
117
|
+
value: function fromParameterNode(parameterNode, context) {
|
|
118
|
+
var Variable = _dom.default.Variable, type = typeFromParameterNode(parameterNode), variable = Variable.fromParameterNode(parameterNode, context), parameter = new Parameter(type, variable);
|
|
119
|
+
return parameter;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
]);
|
|
123
|
+
return Parameter;
|
|
124
|
+
}(), _define_property(_Parameter, "name", "Parameter"), _Parameter));
|
|
125
|
+
function typeFromParameterNode(parameterNode) {
|
|
126
|
+
var typeTerminalNode = typeTerminalNodeQuery(parameterNode), typeTerminalNodeContent = typeTerminalNode.getContent(), type = typeTerminalNodeContent; ///
|
|
127
|
+
return type;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcGFyYW1ldGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5cbmNvbnN0IHR5cGVUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wYXJhbWV0ZXIvQHR5cGVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIFBhcmFtZXRlciB7XG4gIGNvbnN0cnVjdG9yKHR5cGUsIHZhcmlhYmxlKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICBjb25zdCB0eXBlU3RyaW5nID0gdGhpcy50eXBlLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZVN0cmluZyA9IHRoaXMudmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc3RyaW5nID0gYCR7dHlwZVN0cmluZ30gJHt2YXJpYWJsZVN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJQYXJhbWV0ZXJcIjtcblxuICBzdGF0aWMgZnJvbVBhcmFtZXRlck5vZGUocGFyYW1ldGVyTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGRvbSxcbiAgICAgICAgICB0eXBlID0gdHlwZUZyb21QYXJhbWV0ZXJOb2RlKHBhcmFtZXRlck5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVBhcmFtZXRlck5vZGUocGFyYW1ldGVyTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgcGFyYW1ldGVyID0gbmV3IFBhcmFtZXRlcih0eXBlLCB2YXJpYWJsZSk7XG5cbiAgICByZXR1cm4gcGFyYW1ldGVyO1xuICB9XG59KTtcblxuZnVuY3Rpb24gdHlwZUZyb21QYXJhbWV0ZXJOb2RlKHBhcmFtZXRlck5vZGUpIHtcbiAgY29uc3QgdHlwZVRlcm1pbmFsTm9kZSA9IHR5cGVUZXJtaW5hbE5vZGVRdWVyeShwYXJhbWV0ZXJOb2RlKSxcbiAgICAgICAgdHlwZVRlcm1pbmFsTm9kZUNvbnRlbnQgPSB0eXBlVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgdHlwZSA9IHR5cGVUZXJtaW5hbE5vZGVDb250ZW50OyAvLy9cblxuICByZXR1cm4gdHlwZTtcbn1cbiJdLCJuYW1lcyI6WyJ0eXBlVGVybWluYWxOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJkb21Bc3NpZ25lZCIsIlBhcmFtZXRlciIsInR5cGUiLCJ2YXJpYWJsZSIsImdldFR5cGUiLCJnZXRWYXJpYWJsZSIsImdldFN0cmluZyIsInR5cGVTdHJpbmciLCJ2YXJpYWJsZVN0cmluZyIsInN0cmluZyIsImZyb21QYXJhbWV0ZXJOb2RlIiwicGFyYW1ldGVyTm9kZSIsImNvbnRleHQiLCJWYXJpYWJsZSIsImRvbSIsInR5cGVGcm9tUGFyYW1ldGVyTm9kZSIsInBhcmFtZXRlciIsIm5hbWUiLCJ0eXBlVGVybWluYWxOb2RlIiwidHlwZVRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OzsyREFQZ0I7cUJBRVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUcxQixJQUFNQSx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUM7SUFFeEMsV0FBZUMsSUFBQUEsZ0JBQVcsOEJBQUM7YUFBTUMsVUFDbkJDLElBQUksRUFBRUMsUUFBUTtnQ0FES0Y7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxRQUFRLEdBQUdBOzs7O1lBR2xCQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLFFBQVE7WUFDdEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsYUFBYSxJQUFJLENBQUNMLElBQUksRUFDdEJNLGlCQUFpQixJQUFJLENBQUNMLFFBQVEsQ0FBQ0csU0FBUyxJQUN4Q0csU0FBUyxBQUFDLEdBQWdCRCxPQUFkRCxZQUFXLEtBQWtCLE9BQWZDO2dCQUVoQyxPQUFPQztZQUNUOzs7O1lBSU9DLEtBQUFBO21CQUFQLFNBQU9BLGtCQUFrQkMsYUFBYSxFQUFFQyxPQUFPO2dCQUM3QyxJQUFNLEFBQUVDLFdBQWFDLFlBQUcsQ0FBaEJELFVBQ0ZYLE9BQU9hLHNCQUFzQkosZ0JBQzdCUixXQUFXVSxTQUFTSCxpQkFBaUIsQ0FBQ0MsZUFBZUMsVUFDckRJLFlBQVksSUFBSWYsVUFBVUMsTUFBTUM7Z0JBRXRDLE9BQU9hO1lBQ1Q7Ozs7S0FUQSw2QkFBT0MsUUFBTztBQVloQixTQUFTRixzQkFBc0JKLGFBQWE7SUFDMUMsSUFBTU8sbUJBQW1CcEIsc0JBQXNCYSxnQkFDekNRLDBCQUEwQkQsaUJBQWlCRSxVQUFVLElBQ3JEbEIsT0FBT2lCLHlCQUF5QixHQUFHO0lBRXpDLE9BQU9qQjtBQUNUIn0=
|
package/lib/dom/procedure.js
CHANGED
|
@@ -84,13 +84,13 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
84
84
|
return newObj;
|
|
85
85
|
}
|
|
86
86
|
var _Procedure;
|
|
87
|
-
var typeTerminalNodeQuery = (0, _query.nodeQuery)("/procedureDeclaration/@type");
|
|
87
|
+
var parameterNodesQuery = (0, _query.nodesQuery)("/procedureDeclaration/parameter"), typeTerminalNodeQuery = (0, _query.nodeQuery)("/procedureDeclaration/@type");
|
|
88
88
|
var _default = (0, _dom.domAssigned)((_Procedure = /*#__PURE__*/ function() {
|
|
89
|
-
function Procedure(type, label,
|
|
89
|
+
function Procedure(type, label, parameters) {
|
|
90
90
|
_class_call_check(this, Procedure);
|
|
91
91
|
this.type = type;
|
|
92
92
|
this.label = label;
|
|
93
|
-
this.
|
|
93
|
+
this.paramters = parameters;
|
|
94
94
|
}
|
|
95
95
|
_create_class(Procedure, [
|
|
96
96
|
{
|
|
@@ -105,10 +105,16 @@ var _default = (0, _dom.domAssigned)((_Procedure = /*#__PURE__*/ function() {
|
|
|
105
105
|
return this.label;
|
|
106
106
|
}
|
|
107
107
|
},
|
|
108
|
+
{
|
|
109
|
+
key: "getParameters",
|
|
110
|
+
value: function getParameters() {
|
|
111
|
+
return this.paramters;
|
|
112
|
+
}
|
|
113
|
+
},
|
|
108
114
|
{
|
|
109
115
|
key: "getString",
|
|
110
116
|
value: function getString() {
|
|
111
|
-
var typeString = this.type, labelString = this.label.getString(), string = "".concat(typeString, " ").concat(labelString);
|
|
117
|
+
var typeString = this.type, labelString = this.label.getString(), parametersString = parametersStringFromParameters(this.parameters), string = "".concat(typeString, " ").concat(labelString, "(").concat(parametersString, ")");
|
|
112
118
|
return string;
|
|
113
119
|
}
|
|
114
120
|
}
|
|
@@ -116,16 +122,31 @@ var _default = (0, _dom.domAssigned)((_Procedure = /*#__PURE__*/ function() {
|
|
|
116
122
|
{
|
|
117
123
|
key: "fromProcedureDeclarationNode",
|
|
118
124
|
value: function fromProcedureDeclarationNode(procedureDeclarationNode, context) {
|
|
119
|
-
var Label = _dom.default.Label, type = typeFromProcedureDeclarationNode(procedureDeclarationNode), label = Label.fromProcedureDeclarationNode(procedureDeclarationNode, context), procedureDeclaration = new Procedure(type, label);
|
|
125
|
+
var Label = _dom.default.Label, type = typeFromProcedureDeclarationNode(procedureDeclarationNode), label = Label.fromProcedureDeclarationNode(procedureDeclarationNode, context), parameters = parametersFromProcedureDeclarationNode(procedureDeclarationNode, context), procedureDeclaration = new Procedure(type, label, parameters);
|
|
120
126
|
return procedureDeclaration;
|
|
121
127
|
}
|
|
122
128
|
}
|
|
123
129
|
]);
|
|
124
130
|
return Procedure;
|
|
125
131
|
}(), _define_property(_Procedure, "name", "Procedure"), _Procedure));
|
|
132
|
+
function parametersFromProcedureDeclarationNode(procedureDeclarationNode, context) {
|
|
133
|
+
var Parameter = _dom.default.Parameter, parameterNodes = parameterNodesQuery(procedureDeclarationNode), parameters = parameterNodes.map(function(parameterNode) {
|
|
134
|
+
var parameter = Parameter.fromParameterNode(parameterNode, context);
|
|
135
|
+
return parameter;
|
|
136
|
+
});
|
|
137
|
+
return parameters;
|
|
138
|
+
}
|
|
126
139
|
function typeFromProcedureDeclarationNode(procedureDeclarationNode) {
|
|
127
140
|
var typeTerminalNode = typeTerminalNodeQuery(procedureDeclarationNode), typeTerminalNodeContent = typeTerminalNode.getContent(), type = typeTerminalNodeContent; ///
|
|
128
141
|
return type;
|
|
129
142
|
}
|
|
143
|
+
function parametersStringFromParameters(parameters) {
|
|
144
|
+
var parametersString = parameters.reduce(function(parametersString, parameter) {
|
|
145
|
+
var parameterString = parameter.getString();
|
|
146
|
+
parametersString = parametersString === null ? parameterString : "".concat(parametersString, " ,").concat(parameterString);
|
|
147
|
+
return parametersString;
|
|
148
|
+
}, null);
|
|
149
|
+
return parametersString;
|
|
150
|
+
}
|
|
130
151
|
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcHJvY2VkdXJlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcblxuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHBhcmFtZXRlck5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3Byb2NlZHVyZURlY2xhcmF0aW9uL3BhcmFtZXRlclwiKSxcbiAgICAgIHR5cGVUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcm9jZWR1cmVEZWNsYXJhdGlvbi9AdHlwZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgUHJvY2VkdXJlIHtcbiAgY29uc3RydWN0b3IodHlwZSwgbGFiZWwsIHBhcmFtZXRlcnMpIHtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgICB0aGlzLnBhcmFtdGVycyA9IHBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRMYWJlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbDtcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW10ZXJzO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIGNvbnN0IHR5cGVTdHJpbmcgPSB0aGlzLnR5cGUsIC8vL1xuICAgICAgICAgIGxhYmVsU3RyaW5nID0gdGhpcy5sYWJlbC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBwYXJhbWV0ZXJzU3RyaW5nID0gcGFyYW1ldGVyc1N0cmluZ0Zyb21QYXJhbWV0ZXJzKHRoaXMucGFyYW1ldGVycyksXG4gICAgICAgICAgc3RyaW5nID0gYCR7dHlwZVN0cmluZ30gJHtsYWJlbFN0cmluZ30oJHtwYXJhbWV0ZXJzU3RyaW5nfSlgO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJQcm9jZWR1cmVcIjtcblxuICBzdGF0aWMgZnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZShwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB7IExhYmVsIH0gPSBkb20sXG4gICAgICAgICAgdHlwZSA9IHR5cGVGcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgbGFiZWwgPSBMYWJlbC5mcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnNGcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgcHJvY2VkdXJlRGVjbGFyYXRpb24gPSBuZXcgUHJvY2VkdXJlKHR5cGUsIGxhYmVsLCBwYXJhbWV0ZXJzKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVEZWNsYXJhdGlvbjtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHBhcmFtZXRlcnNGcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IFBhcmFtZXRlciB9ID0gZG9tLFxuICAgICAgICBwYXJhbWV0ZXJOb2RlcyA9IHBhcmFtZXRlck5vZGVzUXVlcnkocHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlck5vZGVzLm1hcCgocGFyYW1ldGVyTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBhcmFtZXRlciA9IFBhcmFtZXRlci5mcm9tUGFyYW1ldGVyTm9kZShwYXJhbWV0ZXJOb2RlLCBjb250ZXh0KTtcblxuICAgICAgICAgIHJldHVybiBwYXJhbWV0ZXI7XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBwYXJhbWV0ZXJzO1xufVxuXG5mdW5jdGlvbiB0eXBlRnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZShwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUpIHtcbiAgY29uc3QgdHlwZVRlcm1pbmFsTm9kZSA9IHR5cGVUZXJtaW5hbE5vZGVRdWVyeShwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICB0eXBlVGVybWluYWxOb2RlQ29udGVudCA9IHR5cGVUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICB0eXBlID0gdHlwZVRlcm1pbmFsTm9kZUNvbnRlbnQ7IC8vL1xuXG4gIHJldHVybiB0eXBlO1xufVxuXG5mdW5jdGlvbiBwYXJhbWV0ZXJzU3RyaW5nRnJvbVBhcmFtZXRlcnMocGFyYW1ldGVycykge1xuICBjb25zdCBwYXJhbWV0ZXJzU3RyaW5nID0gcGFyYW1ldGVycy5yZWR1Y2UoKHBhcmFtZXRlcnNTdHJpbmcsIHBhcmFtZXRlcikgPT4ge1xuICAgIGNvbnN0IHBhcmFtZXRlclN0cmluZyA9IHBhcmFtZXRlci5nZXRTdHJpbmcoKTtcblxuICAgIHBhcmFtZXRlcnNTdHJpbmcgPSAocGFyYW1ldGVyc1N0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlclN0cmluZyA6IC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtwYXJhbWV0ZXJzU3RyaW5nfSAsJHtwYXJhbWV0ZXJTdHJpbmd9YDtcblxuICAgIHJldHVybiBwYXJhbWV0ZXJzU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gcGFyYW1ldGVyc1N0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJwYXJhbWV0ZXJOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInR5cGVUZXJtaW5hbE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiUHJvY2VkdXJlIiwidHlwZSIsImxhYmVsIiwicGFyYW1ldGVycyIsInBhcmFtdGVycyIsImdldFR5cGUiLCJnZXRMYWJlbCIsImdldFBhcmFtZXRlcnMiLCJnZXRTdHJpbmciLCJ0eXBlU3RyaW5nIiwibGFiZWxTdHJpbmciLCJwYXJhbWV0ZXJzU3RyaW5nIiwicGFyYW1ldGVyc1N0cmluZ0Zyb21QYXJhbWV0ZXJzIiwic3RyaW5nIiwiZnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSIsInByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSIsImNvbnRleHQiLCJMYWJlbCIsImRvbSIsInR5cGVGcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlIiwicGFyYW1ldGVyc0Zyb21Qcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUiLCJwcm9jZWR1cmVEZWNsYXJhdGlvbiIsIm5hbWUiLCJQYXJhbWV0ZXIiLCJwYXJhbWV0ZXJOb2RlcyIsIm1hcCIsInBhcmFtZXRlck5vZGUiLCJwYXJhbWV0ZXIiLCJmcm9tUGFyYW1ldGVyTm9kZSIsInR5cGVUZXJtaW5hbE5vZGUiLCJ0eXBlVGVybWluYWxOb2RlQ29udGVudCIsImdldENvbnRlbnQiLCJyZWR1Y2UiLCJwYXJhbWV0ZXJTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBQTs7OzJEQVJnQjtxQkFHc0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV0QyxJQUFNQSxzQkFBc0JDLElBQUFBLGlCQUFVLEVBQUMsb0NBQ2pDQyx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUM7SUFFeEMsV0FBZUMsSUFBQUEsZ0JBQVcsOEJBQUM7YUFBTUMsVUFDbkJDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxVQUFVO2dDQURKSDtRQUU3QixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNFLFNBQVMsR0FBR0Q7Ozs7WUFHbkJFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osSUFBSTtZQUNsQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osS0FBSztZQUNuQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsU0FBUztZQUN2Qjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxhQUFhLElBQUksQ0FBQ1IsSUFBSSxFQUN0QlMsY0FBYyxJQUFJLENBQUNSLEtBQUssQ0FBQ00sU0FBUyxJQUNsQ0csbUJBQW1CQywrQkFBK0IsSUFBSSxDQUFDVCxVQUFVLEdBQ2pFVSxTQUFTLEFBQUMsR0FBZ0JILE9BQWRELFlBQVcsS0FBa0JFLE9BQWZELGFBQVksS0FBb0IsT0FBakJDLGtCQUFpQjtnQkFFaEUsT0FBT0U7WUFDVDs7OztZQUlPQyxLQUFBQTttQkFBUCxTQUFPQSw2QkFBNkJDLHdCQUF3QixFQUFFQyxPQUFPO2dCQUNuRSxJQUFNLEFBQUVDLFFBQVVDLFlBQUcsQ0FBYkQsT0FDRmhCLE9BQU9rQixpQ0FBaUNKLDJCQUN4Q2IsUUFBUWUsTUFBTUgsNEJBQTRCLENBQUNDLDBCQUEwQkMsVUFDckViLGFBQWFpQix1Q0FBdUNMLDBCQUEwQkMsVUFDOUVLLHVCQUF1QixJQUFJckIsVUFBVUMsTUFBTUMsT0FBT0M7Z0JBRXhELE9BQU9rQjtZQUNUOzs7O0tBVkEsNkJBQU9DLFFBQU87QUFhaEIsU0FBU0YsdUNBQXVDTCx3QkFBd0IsRUFBRUMsT0FBTztJQUMvRSxJQUFNLEFBQUVPLFlBQWNMLFlBQUcsQ0FBakJLLFdBQ0ZDLGlCQUFpQjdCLG9CQUFvQm9CLDJCQUNyQ1osYUFBYXFCLGVBQWVDLEdBQUcsQ0FBQyxTQUFDQztRQUMvQixJQUFNQyxZQUFZSixVQUFVSyxpQkFBaUIsQ0FBQ0YsZUFBZVY7UUFFN0QsT0FBT1c7SUFDVDtJQUVOLE9BQU94QjtBQUNUO0FBRUEsU0FBU2dCLGlDQUFpQ0osd0JBQXdCO0lBQ2hFLElBQU1jLG1CQUFtQmhDLHNCQUFzQmtCLDJCQUN6Q2UsMEJBQTBCRCxpQkFBaUJFLFVBQVUsSUFDckQ5QixPQUFPNkIseUJBQXlCLEdBQUc7SUFFekMsT0FBTzdCO0FBQ1Q7QUFFQSxTQUFTVywrQkFBK0JULFVBQVU7SUFDaEQsSUFBTVEsbUJBQW1CUixXQUFXNkIsTUFBTSxDQUFDLFNBQUNyQixrQkFBa0JnQjtRQUM1RCxJQUFNTSxrQkFBa0JOLFVBQVVuQixTQUFTO1FBRTNDRyxtQkFBbUIsQUFBQ0EscUJBQXFCLE9BQ3BCc0Isa0JBQ0MsQUFBQyxHQUF1QkEsT0FBckJ0QixrQkFBaUIsTUFBb0IsT0FBaEJzQjtRQUU5QyxPQUFPdEI7SUFDVCxHQUFHO0lBRUgsT0FBT0E7QUFDVCJ9
|
package/lib/dom/variable.js
CHANGED
|
@@ -43,7 +43,7 @@ function _define_property(obj, key, value) {
|
|
|
43
43
|
return obj;
|
|
44
44
|
}
|
|
45
45
|
var _Variable;
|
|
46
|
-
var nameTerminalNodeQuery = (0, _query.nodeQuery)("/variable/@name");
|
|
46
|
+
var nameTerminalNodeQuery = (0, _query.nodeQuery)("/parameter/variable/@name");
|
|
47
47
|
var _default = (0, _dom.domAssigned)((_Variable = /*#__PURE__*/ function() {
|
|
48
48
|
function Variable(name) {
|
|
49
49
|
_class_call_check(this, Variable);
|
|
@@ -65,18 +65,18 @@ var _default = (0, _dom.domAssigned)((_Variable = /*#__PURE__*/ function() {
|
|
|
65
65
|
}
|
|
66
66
|
], [
|
|
67
67
|
{
|
|
68
|
-
key: "
|
|
69
|
-
value: function
|
|
70
|
-
var name =
|
|
68
|
+
key: "fromParameterNode",
|
|
69
|
+
value: function fromParameterNode(parameterNode, context) {
|
|
70
|
+
var name = nameFromParameterNode(parameterNode), variable = new Variable(name);
|
|
71
71
|
return variable;
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
]);
|
|
75
75
|
return Variable;
|
|
76
76
|
}(), _define_property(_Variable, "name", "Variable"), _Variable));
|
|
77
|
-
function
|
|
78
|
-
var nameTerminalNode = nameTerminalNodeQuery(
|
|
77
|
+
function nameFromParameterNode(parameterNode) {
|
|
78
|
+
var nameTerminalNode = nameTerminalNodeQuery(parameterNode), nameTerminalNodeContent = nameTerminalNode.getContent(), name = nameTerminalNodeContent; ///
|
|
79
79
|
return name;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuXG5jb25zdCBuYW1lVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcGFyYW1ldGVyL3ZhcmlhYmxlL0BuYW1lXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBWYXJpYWJsZSB7XG4gIGNvbnN0cnVjdG9yKG5hbWUpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIGNvbnN0IHN0cmluZyA9IHRoaXMubmFtZTsgLy8vXG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlZhcmlhYmxlXCI7XG5cbiAgc3RhdGljIGZyb21QYXJhbWV0ZXJOb2RlKHBhcmFtZXRlck5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBuYW1lID0gbmFtZUZyb21QYXJhbWV0ZXJOb2RlKHBhcmFtZXRlck5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKG5hbWUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG59KTtcblxuZnVuY3Rpb24gbmFtZUZyb21QYXJhbWV0ZXJOb2RlKHBhcmFtZXRlck5vZGUpIHtcbiAgY29uc3QgbmFtZVRlcm1pbmFsTm9kZSA9IG5hbWVUZXJtaW5hbE5vZGVRdWVyeShwYXJhbWV0ZXJOb2RlKSxcbiAgICAgICAgbmFtZVRlcm1pbmFsTm9kZUNvbnRlbnQgPSBuYW1lVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgbmFtZSA9IG5hbWVUZXJtaW5hbE5vZGVDb250ZW50OyAvLy9cblxuICByZXR1cm4gbmFtZTtcbn1cbiJdLCJuYW1lcyI6WyJuYW1lVGVybWluYWxOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJkb21Bc3NpZ25lZCIsIlZhcmlhYmxlIiwibmFtZSIsImdldFR5cGUiLCJnZXRTdHJpbmciLCJzdHJpbmciLCJmcm9tUGFyYW1ldGVyTm9kZSIsInBhcmFtZXRlck5vZGUiLCJjb250ZXh0IiwibmFtZUZyb21QYXJhbWV0ZXJOb2RlIiwidmFyaWFibGUiLCJuYW1lVGVybWluYWxOb2RlIiwibmFtZVRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQUE7OztxQkFMMEI7bUJBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUIsSUFBTUEsd0JBQXdCQyxJQUFBQSxnQkFBUyxFQUFDO0lBRXhDLFdBQWVDLElBQUFBLGdCQUFXLDZCQUFDO2FBQU1DLFNBQ25CQyxJQUFJO2dDQURlRDtRQUU3QixJQUFJLENBQUNDLElBQUksR0FBR0E7Ozs7WUFHZEMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRCxJQUFJO1lBQ2xCOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFNBQVMsSUFBSSxDQUFDSCxJQUFJLEVBQUUsR0FBRztnQkFFN0IsT0FBT0c7WUFDVDs7OztZQUlPQyxLQUFBQTttQkFBUCxTQUFPQSxrQkFBa0JDLGFBQWEsRUFBRUMsT0FBTztnQkFDN0MsSUFBTU4sT0FBT08sc0JBQXNCRixnQkFDN0JHLFdBQVcsSUFBSVQsU0FBU0M7Z0JBRTlCLE9BQU9RO1lBQ1Q7Ozs7S0FQQSw0QkFBT1IsUUFBTztBQVVoQixTQUFTTyxzQkFBc0JGLGFBQWE7SUFDMUMsSUFBTUksbUJBQW1CYixzQkFBc0JTLGdCQUN6Q0ssMEJBQTBCRCxpQkFBaUJFLFVBQVUsSUFDckRYLE9BQU9VLHlCQUF5QixHQUFHO0lBRXpDLE9BQU9WO0FBQ1QifQ==
|
package/lib/index.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
});
|
|
5
5
|
var _label = /*#__PURE__*/ _interop_require_default(require("./dom/label"));
|
|
6
6
|
var _variable = /*#__PURE__*/ _interop_require_default(require("./dom/variable"));
|
|
7
|
-
var
|
|
7
|
+
var _parameter = /*#__PURE__*/ _interop_require_default(require("./dom/parameter"));
|
|
8
8
|
var _reference = /*#__PURE__*/ _interop_require_default(require("./dom/reference"));
|
|
9
9
|
var _procedure = /*#__PURE__*/ _interop_require_default(require("./dom/procedure"));
|
|
10
10
|
var _procedure1 = /*#__PURE__*/ _interop_require_default(require("./dom/declaration/procedure"));
|
|
@@ -15,4 +15,4 @@ function _interop_require_default(obj) {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExhYmVsIGZyb20gXCIuL2RvbS9sYWJlbFwiO1xuaW1wb3J0IFZhcmlhYmxlIGZyb20gXCIuL2RvbS92YXJpYWJsZVwiO1xuaW1wb3J0IFBhcmFtZXRlciBmcm9tIFwiLi9kb20vcGFyYW1ldGVyXCI7XG5pbXBvcnQgUmVmZXJlbmNlIGZyb20gXCIuL2RvbS9yZWZlcmVuY2VcIjtcbmltcG9ydCBQcm9jZWR1cmUgZnJvbSBcIi4vZG9tL3Byb2NlZHVyZVwiO1xuaW1wb3J0IFByb2NlZHVyZURlY2xhcmF0aW9uIGZyb20gXCIuL2RvbS9kZWNsYXJhdGlvbi9wcm9jZWR1cmVcIjtcbmltcG9ydCBWYXJpYWJsZXNEZWNsYXJhdGlvbiBmcm9tIFwiLi9kb20vZGVjbGFyYXRpb24vdmFyaWFibGVzXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NERBRWtCOytEQUNHO2dFQUNDO2dFQUNBO2dFQUNBO2lFQUNXO2dFQUNBIn0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-furtle",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.13",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-furtle",
|
|
7
7
|
"description": "Occam's Furtle language.",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^14.2.1",
|
|
14
|
-
"occam-grammars": "^1.3.
|
|
14
|
+
"occam-grammars": "^1.3.21",
|
|
15
15
|
"occam-query": "^4.1.8"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
@@ -5,9 +5,9 @@ import dom from "../dom";
|
|
|
5
5
|
import { nodeQuery } from "../utilities/query";
|
|
6
6
|
import { domAssigned } from "../dom";
|
|
7
7
|
|
|
8
|
-
const typeTerminalNodeQuery = nodeQuery("/
|
|
8
|
+
const typeTerminalNodeQuery = nodeQuery("/parameter/@type");
|
|
9
9
|
|
|
10
|
-
export default domAssigned(class
|
|
10
|
+
export default domAssigned(class Parameter {
|
|
11
11
|
constructor(type, variable) {
|
|
12
12
|
this.type = type;
|
|
13
13
|
this.variable = variable;
|
|
@@ -29,20 +29,20 @@ export default domAssigned(class Argument {
|
|
|
29
29
|
return string;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
static name = "
|
|
32
|
+
static name = "Parameter";
|
|
33
33
|
|
|
34
|
-
static
|
|
34
|
+
static fromParameterNode(parameterNode, context) {
|
|
35
35
|
const { Variable } = dom,
|
|
36
|
-
type =
|
|
37
|
-
variable = Variable.
|
|
38
|
-
|
|
36
|
+
type = typeFromParameterNode(parameterNode),
|
|
37
|
+
variable = Variable.fromParameterNode(parameterNode, context),
|
|
38
|
+
parameter = new Parameter(type, variable);
|
|
39
39
|
|
|
40
|
-
return
|
|
40
|
+
return parameter;
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
43
|
|
|
44
|
-
function
|
|
45
|
-
const typeTerminalNode = typeTerminalNodeQuery(
|
|
44
|
+
function typeFromParameterNode(parameterNode) {
|
|
45
|
+
const typeTerminalNode = typeTerminalNodeQuery(parameterNode),
|
|
46
46
|
typeTerminalNodeContent = typeTerminalNode.getContent(),
|
|
47
47
|
type = typeTerminalNodeContent; ///
|
|
48
48
|
|
package/src/dom/procedure.js
CHANGED
|
@@ -2,16 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
import dom from "../dom";
|
|
4
4
|
|
|
5
|
-
import { nodeQuery } from "../utilities/query";
|
|
6
5
|
import { domAssigned } from "../dom";
|
|
6
|
+
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
7
7
|
|
|
8
|
-
const
|
|
8
|
+
const parameterNodesQuery = nodesQuery("/procedureDeclaration/parameter"),
|
|
9
|
+
typeTerminalNodeQuery = nodeQuery("/procedureDeclaration/@type");
|
|
9
10
|
|
|
10
11
|
export default domAssigned(class Procedure {
|
|
11
|
-
constructor(type, label,
|
|
12
|
+
constructor(type, label, parameters) {
|
|
12
13
|
this.type = type;
|
|
13
14
|
this.label = label;
|
|
14
|
-
this.
|
|
15
|
+
this.paramters = parameters;
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
getType() {
|
|
@@ -22,10 +23,15 @@ export default domAssigned(class Procedure {
|
|
|
22
23
|
return this.label;
|
|
23
24
|
}
|
|
24
25
|
|
|
26
|
+
getParameters() {
|
|
27
|
+
return this.paramters;
|
|
28
|
+
}
|
|
29
|
+
|
|
25
30
|
getString() {
|
|
26
31
|
const typeString = this.type, ///
|
|
27
32
|
labelString = this.label.getString(),
|
|
28
|
-
|
|
33
|
+
parametersString = parametersStringFromParameters(this.parameters),
|
|
34
|
+
string = `${typeString} ${labelString}(${parametersString})`;
|
|
29
35
|
|
|
30
36
|
return string;
|
|
31
37
|
}
|
|
@@ -36,12 +42,25 @@ export default domAssigned(class Procedure {
|
|
|
36
42
|
const { Label } = dom,
|
|
37
43
|
type = typeFromProcedureDeclarationNode(procedureDeclarationNode),
|
|
38
44
|
label = Label.fromProcedureDeclarationNode(procedureDeclarationNode, context),
|
|
39
|
-
|
|
45
|
+
parameters = parametersFromProcedureDeclarationNode(procedureDeclarationNode, context),
|
|
46
|
+
procedureDeclaration = new Procedure(type, label, parameters);
|
|
40
47
|
|
|
41
48
|
return procedureDeclaration;
|
|
42
49
|
}
|
|
43
50
|
});
|
|
44
51
|
|
|
52
|
+
function parametersFromProcedureDeclarationNode(procedureDeclarationNode, context) {
|
|
53
|
+
const { Parameter } = dom,
|
|
54
|
+
parameterNodes = parameterNodesQuery(procedureDeclarationNode),
|
|
55
|
+
parameters = parameterNodes.map((parameterNode) => {
|
|
56
|
+
const parameter = Parameter.fromParameterNode(parameterNode, context);
|
|
57
|
+
|
|
58
|
+
return parameter;
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
return parameters;
|
|
62
|
+
}
|
|
63
|
+
|
|
45
64
|
function typeFromProcedureDeclarationNode(procedureDeclarationNode) {
|
|
46
65
|
const typeTerminalNode = typeTerminalNodeQuery(procedureDeclarationNode),
|
|
47
66
|
typeTerminalNodeContent = typeTerminalNode.getContent(),
|
|
@@ -49,3 +68,17 @@ function typeFromProcedureDeclarationNode(procedureDeclarationNode) {
|
|
|
49
68
|
|
|
50
69
|
return type;
|
|
51
70
|
}
|
|
71
|
+
|
|
72
|
+
function parametersStringFromParameters(parameters) {
|
|
73
|
+
const parametersString = parameters.reduce((parametersString, parameter) => {
|
|
74
|
+
const parameterString = parameter.getString();
|
|
75
|
+
|
|
76
|
+
parametersString = (parametersString === null) ?
|
|
77
|
+
parameterString : ///
|
|
78
|
+
`${parametersString} ,${parameterString}`;
|
|
79
|
+
|
|
80
|
+
return parametersString;
|
|
81
|
+
}, null);
|
|
82
|
+
|
|
83
|
+
return parametersString;
|
|
84
|
+
}
|
package/src/dom/variable.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { nodeQuery } from "../utilities/query";
|
|
4
4
|
import { domAssigned } from "../dom";
|
|
5
5
|
|
|
6
|
-
const nameTerminalNodeQuery = nodeQuery("/variable/@name");
|
|
6
|
+
const nameTerminalNodeQuery = nodeQuery("/parameter/variable/@name");
|
|
7
7
|
|
|
8
8
|
export default domAssigned(class Variable {
|
|
9
9
|
constructor(name) {
|
|
@@ -22,16 +22,16 @@ export default domAssigned(class Variable {
|
|
|
22
22
|
|
|
23
23
|
static name = "Variable";
|
|
24
24
|
|
|
25
|
-
static
|
|
26
|
-
const name =
|
|
25
|
+
static fromParameterNode(parameterNode, context) {
|
|
26
|
+
const name = nameFromParameterNode(parameterNode),
|
|
27
27
|
variable = new Variable(name);
|
|
28
28
|
|
|
29
29
|
return variable;
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
32
|
|
|
33
|
-
function
|
|
34
|
-
const nameTerminalNode = nameTerminalNodeQuery(
|
|
33
|
+
function nameFromParameterNode(parameterNode) {
|
|
34
|
+
const nameTerminalNode = nameTerminalNodeQuery(parameterNode),
|
|
35
35
|
nameTerminalNodeContent = nameTerminalNode.getContent(),
|
|
36
36
|
name = nameTerminalNodeContent; ///
|
|
37
37
|
|
package/src/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import Label from "./dom/label";
|
|
4
4
|
import Variable from "./dom/variable";
|
|
5
|
-
import
|
|
5
|
+
import Parameter from "./dom/parameter";
|
|
6
6
|
import Reference from "./dom/reference";
|
|
7
7
|
import Procedure from "./dom/procedure";
|
|
8
8
|
import ProcedureDeclaration from "./dom/declaration/procedure";
|
package/lib/dom/argument.js
DELETED
|
@@ -1,130 +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 _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 _Argument;
|
|
87
|
-
var typeTerminalNodeQuery = (0, _query.nodeQuery)("/argument/@type");
|
|
88
|
-
var _default = (0, _dom.domAssigned)((_Argument = /*#__PURE__*/ function() {
|
|
89
|
-
function Argument(type, variable) {
|
|
90
|
-
_class_call_check(this, Argument);
|
|
91
|
-
this.type = type;
|
|
92
|
-
this.variable = variable;
|
|
93
|
-
}
|
|
94
|
-
_create_class(Argument, [
|
|
95
|
-
{
|
|
96
|
-
key: "getType",
|
|
97
|
-
value: function getType() {
|
|
98
|
-
return this.type;
|
|
99
|
-
}
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
key: "getVariable",
|
|
103
|
-
value: function getVariable() {
|
|
104
|
-
return this.variable;
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
key: "getString",
|
|
109
|
-
value: function getString() {
|
|
110
|
-
var typeString = this.type, variableString = this.variable.getString(), string = "".concat(typeString, " ").concat(variableString);
|
|
111
|
-
return string;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
], [
|
|
115
|
-
{
|
|
116
|
-
key: "fromArgumentNode",
|
|
117
|
-
value: function fromArgumentNode(argumentNode, context) {
|
|
118
|
-
var Variable = _dom.default.Variable, type = typeFromArgumentNode(argumentNode), variable = Variable.fromArgumentNode(argumentNode, context), argument = new Argument(type, variable);
|
|
119
|
-
return argument;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
]);
|
|
123
|
-
return Argument;
|
|
124
|
-
}(), _define_property(_Argument, "name", "Argument"), _Argument));
|
|
125
|
-
function typeFromArgumentNode(argumentNode) {
|
|
126
|
-
var typeTerminalNode = typeTerminalNodeQuery(argumentNode), typeTerminalNodeContent = typeTerminalNode.getContent(), type = typeTerminalNodeContent; ///
|
|
127
|
-
return type;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vYXJndW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi9kb21cIjtcblxuY29uc3QgdHlwZVRlcm1pbmFsTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L0B0eXBlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBBcmd1bWVudCB7XG4gIGNvbnN0cnVjdG9yKHR5cGUsIHZhcmlhYmxlKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICBjb25zdCB0eXBlU3RyaW5nID0gdGhpcy50eXBlLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZVN0cmluZyA9IHRoaXMudmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc3RyaW5nID0gYCR7dHlwZVN0cmluZ30gJHt2YXJpYWJsZVN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJBcmd1bWVudFwiO1xuXG4gIHN0YXRpYyBmcm9tQXJndW1lbnROb2RlKGFyZ3VtZW50Tm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGRvbSxcbiAgICAgICAgICB0eXBlID0gdHlwZUZyb21Bcmd1bWVudE5vZGUoYXJndW1lbnROb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21Bcmd1bWVudE5vZGUoYXJndW1lbnROb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICBhcmd1bWVudCA9IG5ldyBBcmd1bWVudCh0eXBlLCB2YXJpYWJsZSk7XG5cbiAgICByZXR1cm4gYXJndW1lbnQ7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiB0eXBlRnJvbUFyZ3VtZW50Tm9kZShhcmd1bWVudE5vZGUpIHtcbiAgY29uc3QgdHlwZVRlcm1pbmFsTm9kZSA9IHR5cGVUZXJtaW5hbE5vZGVRdWVyeShhcmd1bWVudE5vZGUpLFxuICAgICAgICB0eXBlVGVybWluYWxOb2RlQ29udGVudCA9IHR5cGVUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICB0eXBlID0gdHlwZVRlcm1pbmFsTm9kZUNvbnRlbnQ7IC8vL1xuXG4gIHJldHVybiB0eXBlO1xufVxuIl0sIm5hbWVzIjpbInR5cGVUZXJtaW5hbE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiQXJndW1lbnQiLCJ0eXBlIiwidmFyaWFibGUiLCJnZXRUeXBlIiwiZ2V0VmFyaWFibGUiLCJnZXRTdHJpbmciLCJ0eXBlU3RyaW5nIiwidmFyaWFibGVTdHJpbmciLCJzdHJpbmciLCJmcm9tQXJndW1lbnROb2RlIiwiYXJndW1lbnROb2RlIiwiY29udGV4dCIsIlZhcmlhYmxlIiwiZG9tIiwidHlwZUZyb21Bcmd1bWVudE5vZGUiLCJhcmd1bWVudCIsIm5hbWUiLCJ0eXBlVGVybWluYWxOb2RlIiwidHlwZVRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OzsyREFQZ0I7cUJBRVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUcxQixJQUFNQSx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUM7SUFFeEMsV0FBZUMsSUFBQUEsZ0JBQVcsNkJBQUM7YUFBTUMsU0FDbkJDLElBQUksRUFBRUMsUUFBUTtnQ0FES0Y7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxRQUFRLEdBQUdBOzs7O1lBR2xCQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLFFBQVE7WUFDdEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsYUFBYSxJQUFJLENBQUNMLElBQUksRUFDdEJNLGlCQUFpQixJQUFJLENBQUNMLFFBQVEsQ0FBQ0csU0FBUyxJQUN4Q0csU0FBUyxBQUFDLEdBQWdCRCxPQUFkRCxZQUFXLEtBQWtCLE9BQWZDO2dCQUVoQyxPQUFPQztZQUNUOzs7O1lBSU9DLEtBQUFBO21CQUFQLFNBQU9BLGlCQUFpQkMsWUFBWSxFQUFFQyxPQUFPO2dCQUMzQyxJQUFNLEFBQUVDLFdBQWFDLFlBQUcsQ0FBaEJELFVBQ0ZYLE9BQU9hLHFCQUFxQkosZUFDNUJSLFdBQVdVLFNBQVNILGdCQUFnQixDQUFDQyxjQUFjQyxVQUNuREksV0FBVyxJQUFJZixTQUFTQyxNQUFNQztnQkFFcEMsT0FBT2E7WUFDVDs7OztLQVRBLDRCQUFPQyxRQUFPO0FBWWhCLFNBQVNGLHFCQUFxQkosWUFBWTtJQUN4QyxJQUFNTyxtQkFBbUJwQixzQkFBc0JhLGVBQ3pDUSwwQkFBMEJELGlCQUFpQkUsVUFBVSxJQUNyRGxCLE9BQU9pQix5QkFBeUIsR0FBRztJQUV6QyxPQUFPakI7QUFDVCJ9
|