occam-furtle 2.0.80 → 2.0.86
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/constants.js +9 -1
- package/lib/dom/assignment/array.js +6 -2
- package/lib/dom/assignment/object.js +6 -2
- package/lib/dom/assignment/variable.js +6 -2
- package/lib/dom/assignments/variable.js +10 -2
- package/lib/dom/block/return.js +8 -4
- package/lib/dom/comparison.js +7 -3
- package/lib/dom/declaration/procedure.js +6 -2
- package/lib/dom/every.js +5 -5
- package/lib/dom/label.js +6 -2
- package/lib/dom/parameter/named.js +12 -2
- package/lib/dom/parameter.js +6 -2
- package/lib/dom/parameters/named.js +10 -2
- package/lib/dom/parameters.js +4 -12
- package/lib/dom/procedure/anonymous.js +11 -12
- package/lib/dom/procedure.js +4 -4
- package/lib/dom/procedureCall.js +6 -2
- package/lib/dom/reduce.js +34 -32
- package/lib/dom/reference.js +6 -2
- package/lib/dom/some.js +4 -4
- package/lib/dom/statement/return.js +6 -2
- package/lib/dom/step.js +8 -12
- package/lib/dom/ternary.js +5 -7
- package/lib/dom/value/bitwise.js +7 -3
- package/lib/dom/value/bracketed.js +6 -2
- package/lib/dom/value/negated.js +6 -2
- package/lib/dom/value.js +34 -47
- package/lib/dom/values.js +8 -9
- package/lib/dom/variable.js +18 -14
- package/lib/index.js +1 -4
- package/lib/nodeProperties.js +10 -3
- package/lib/nodeProperty.js +3 -3
- package/package.json +5 -5
- package/src/constants.js +2 -0
- package/src/dom/assignment/array.js +10 -3
- package/src/dom/assignment/object.js +10 -3
- package/src/dom/assignment/variable.js +9 -2
- package/src/dom/assignments/variable.js +18 -4
- package/src/dom/block/return.js +12 -6
- package/src/dom/comparison.js +15 -5
- package/src/dom/declaration/procedure.js +8 -2
- package/src/dom/every.js +8 -12
- package/src/dom/label.js +9 -3
- package/src/dom/parameter/named.js +19 -2
- package/src/dom/parameter.js +9 -2
- package/src/dom/parameters/named.js +16 -2
- package/src/dom/parameters.js +1 -1
- package/src/dom/procedure/anonymous.js +19 -23
- package/src/dom/procedure.js +7 -10
- package/src/dom/procedureCall.js +10 -2
- package/src/dom/reduce.js +44 -47
- package/src/dom/reference.js +8 -2
- package/src/dom/some.js +7 -9
- package/src/dom/statement/return.js +8 -2
- package/src/dom/step.js +11 -13
- package/src/dom/ternary.js +8 -15
- package/src/dom/value/bitwise.js +14 -4
- package/src/dom/value/bracketed.js +9 -3
- package/src/dom/value/negated.js +9 -3
- package/src/dom/value.js +36 -52
- package/src/dom/values.js +5 -10
- package/src/dom/variable.js +21 -17
- package/src/index.js +0 -3
- package/src/nodeProperties.js +15 -1
- package/src/nodeProperty.js +4 -2
- package/lib/dom/block.js +0 -150
- package/lib/dom/conditionalBlocks.js +0 -176
- package/lib/dom/procedureCall/anonymous.js +0 -141
- package/src/dom/block.js +0 -68
- package/src/dom/conditionalBlocks.js +0 -106
- package/src/dom/procedureCall/anonymous.js +0 -61
package/src/dom/value/negated.js
CHANGED
|
@@ -70,11 +70,10 @@ export default domAssigned(class NegatedValue {
|
|
|
70
70
|
|
|
71
71
|
if (negatedValueNode !== null) {
|
|
72
72
|
const { Value } = dom,
|
|
73
|
-
node = negatedValueNode, //
|
|
74
|
-
string = context.nodeAsString(node),
|
|
75
73
|
type = BOOLEAN_TYPE,
|
|
76
74
|
valueNode = valueNodeQuery(negatedValueNode),
|
|
77
|
-
value = Value.fromValueNode(valueNode, context)
|
|
75
|
+
value = Value.fromValueNode(valueNode, context),
|
|
76
|
+
string = stringFromValue(value, context);
|
|
78
77
|
|
|
79
78
|
negatedValue = new NegatedValue(string, type, value);
|
|
80
79
|
}
|
|
@@ -82,3 +81,10 @@ export default domAssigned(class NegatedValue {
|
|
|
82
81
|
return negatedValue;
|
|
83
82
|
}
|
|
84
83
|
});
|
|
84
|
+
|
|
85
|
+
function stringFromValue(value, context) {
|
|
86
|
+
const valueString = value.asString(context),
|
|
87
|
+
string = `!${valueString}`;
|
|
88
|
+
|
|
89
|
+
return string;
|
|
90
|
+
}
|
package/src/dom/value.js
CHANGED
|
@@ -12,24 +12,24 @@ import { NODE_TYPE, NODES_TYPE, NUMBER_TYPE, STRING_TYPE, BOOLEAN_TYPE } from ".
|
|
|
12
12
|
|
|
13
13
|
const { match } = arrayUtilities;
|
|
14
14
|
|
|
15
|
-
const
|
|
15
|
+
const reduceValueNodeQuery = nodeQuery("/reduce/value"),
|
|
16
|
+
ternaryValueNodeQuery = nodeQuery("/ternary/value"),
|
|
16
17
|
numberTerminalNodeQuery = nodeQuery("/value/@number"),
|
|
17
18
|
conditionValueNodeQuery = nodeQuery("/condition/value"),
|
|
18
19
|
primitiveTerminalNodeQuery = nodeQuery("/value/@primitive"),
|
|
19
20
|
returnStatementValueNodeQuery = nodeQuery("/returnStatement/value"),
|
|
20
21
|
stringLiteralTerminalNodeQuery = nodeQuery("/value/@string-literal"),
|
|
21
|
-
conditionalBlocksCValueNodeQuery = nodeQuery("/conditionalBlocks/value"),
|
|
22
22
|
variableAssignmentValueNodeQuery = nodeQuery("/variableAssignment/value");
|
|
23
23
|
|
|
24
24
|
export default domAssigned(class Value {
|
|
25
|
-
constructor(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall
|
|
25
|
+
constructor(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall) {
|
|
26
26
|
this.node = node;
|
|
27
27
|
this.nodes = nodes;
|
|
28
28
|
this.number = number;
|
|
29
29
|
this.string = string;
|
|
30
30
|
this.boolean = boolean;
|
|
31
31
|
this.some = some;
|
|
32
|
-
this.every
|
|
32
|
+
this.every = every;
|
|
33
33
|
this.reduce = reduce;
|
|
34
34
|
this.ternary = ternary;
|
|
35
35
|
this.variable = variable;
|
|
@@ -40,7 +40,6 @@ export default domAssigned(class Value {
|
|
|
40
40
|
this.bitwiseValue = bitwiseValue;
|
|
41
41
|
this.bracketedValue = bracketedValue;
|
|
42
42
|
this.procedureCall = procedureCall;
|
|
43
|
-
this.anonymousProcedureCall = anonymousProcedureCall;
|
|
44
43
|
}
|
|
45
44
|
|
|
46
45
|
getNode() {
|
|
@@ -111,10 +110,6 @@ export default domAssigned(class Value {
|
|
|
111
110
|
return this.procedureCall;
|
|
112
111
|
}
|
|
113
112
|
|
|
114
|
-
getAnonymousProcedureCall() {
|
|
115
|
-
return this.anonymousProcedureCall;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
113
|
getType() {
|
|
119
114
|
let type;
|
|
120
115
|
|
|
@@ -154,8 +149,6 @@ export default domAssigned(class Value {
|
|
|
154
149
|
type = this.bracketedValue.getType();
|
|
155
150
|
} else if (this.procedureCall !== null) {
|
|
156
151
|
type = this.procedureCall.getType();
|
|
157
|
-
} else if (this.anonymousProcedureCall !== null) {
|
|
158
|
-
type = this.anonymousProcedureCall.getType();
|
|
159
152
|
}
|
|
160
153
|
|
|
161
154
|
return type;
|
|
@@ -171,37 +164,35 @@ export default domAssigned(class Value {
|
|
|
171
164
|
} else if (this.nodes !== null) {
|
|
172
165
|
string = nodesAsString(this.nodes, context);
|
|
173
166
|
} else if (this.number !== null) {
|
|
174
|
-
string = numberAsString(this.number
|
|
167
|
+
string = numberAsString(this.number);
|
|
175
168
|
} else if (this.string !== null) {
|
|
176
|
-
string = stringAsString(this.string
|
|
169
|
+
string = stringAsString(this.string)
|
|
177
170
|
} else if (this.boolean !== null) {
|
|
178
|
-
string = booleanAsString(this.boolean
|
|
171
|
+
string = booleanAsString(this.boolean)
|
|
179
172
|
} else if (this.some !== null) {
|
|
180
|
-
string = this.some.
|
|
173
|
+
string = this.some.getString();
|
|
181
174
|
} else if (this.every !== null) {
|
|
182
|
-
string = this.every.
|
|
175
|
+
string = this.every.getString();
|
|
183
176
|
} else if (this.reduce !== null) {
|
|
184
|
-
string = this.reduce.
|
|
177
|
+
string = this.reduce.getString();
|
|
185
178
|
} else if (this.ternary !== null) {
|
|
186
|
-
string = this.ternary.
|
|
179
|
+
string = this.ternary.getString();
|
|
187
180
|
} else if (this.variable !== null) {
|
|
188
|
-
string = this.variable.
|
|
181
|
+
string = this.variable.getString();
|
|
189
182
|
} else if (this.nodeQuery !== null) {
|
|
190
|
-
string = this.nodeQuery.
|
|
183
|
+
string = this.nodeQuery.getString();
|
|
191
184
|
} else if (this.nodesQuery !== null) {
|
|
192
|
-
string = this.nodesQuery.
|
|
185
|
+
string = this.nodesQuery.getString();
|
|
193
186
|
} else if (this.comparison !== null) {
|
|
194
|
-
string = this.comparison.
|
|
187
|
+
string = this.comparison.getString();
|
|
195
188
|
} else if (this.negatedValue !== null) {
|
|
196
|
-
string = this.negatedValue.
|
|
189
|
+
string = this.negatedValue.getString();
|
|
197
190
|
} else if (this.bitwiseValue !== null) {
|
|
198
|
-
string = this.bitwiseValue.
|
|
191
|
+
string = this.bitwiseValue.getString();
|
|
199
192
|
} else if (this.bracketedValue !== null) {
|
|
200
|
-
string = this.bracketedValue.
|
|
193
|
+
string = this.bracketedValue.getString();
|
|
201
194
|
} else if (this.procedureCall !== null) {
|
|
202
|
-
string = this.procedureCall.
|
|
203
|
-
} else if (this.anonymousProcedureCall !== null) {
|
|
204
|
-
string = this.anonymousProcedureCall.asString(context);
|
|
195
|
+
string = this.procedureCall.getString();
|
|
205
196
|
}
|
|
206
197
|
|
|
207
198
|
return string;
|
|
@@ -242,8 +233,6 @@ export default domAssigned(class Value {
|
|
|
242
233
|
value = this.bracketedValue.evaluate(context);
|
|
243
234
|
} else if (this.procedureCall !== null) {
|
|
244
235
|
value = this.procedureCall.evaluate(context);
|
|
245
|
-
} else if (this.anonymousProcedureCall !== null) {
|
|
246
|
-
value = this.anonymousProcedureCall.evaluate(context);
|
|
247
236
|
}
|
|
248
237
|
|
|
249
238
|
return value;
|
|
@@ -320,8 +309,7 @@ export default domAssigned(class Value {
|
|
|
320
309
|
bitwiseValue = null,
|
|
321
310
|
bracketedValue = null,
|
|
322
311
|
procedureCall = null,
|
|
323
|
-
|
|
324
|
-
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
|
|
312
|
+
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
|
|
325
313
|
|
|
326
314
|
return value;
|
|
327
315
|
}
|
|
@@ -343,8 +331,7 @@ export default domAssigned(class Value {
|
|
|
343
331
|
bitwiseValue = null,
|
|
344
332
|
bracketedValue = null,
|
|
345
333
|
procedureCall = null,
|
|
346
|
-
|
|
347
|
-
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
|
|
334
|
+
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
|
|
348
335
|
|
|
349
336
|
return value;
|
|
350
337
|
}
|
|
@@ -366,8 +353,7 @@ export default domAssigned(class Value {
|
|
|
366
353
|
bitwiseValue = null,
|
|
367
354
|
bracketedValue = null,
|
|
368
355
|
procedureCall = null,
|
|
369
|
-
|
|
370
|
-
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
|
|
356
|
+
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
|
|
371
357
|
|
|
372
358
|
return value;
|
|
373
359
|
}
|
|
@@ -389,8 +375,7 @@ export default domAssigned(class Value {
|
|
|
389
375
|
bitwiseValue = null,
|
|
390
376
|
bracketedValue = null,
|
|
391
377
|
procedureCall = null,
|
|
392
|
-
|
|
393
|
-
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
|
|
378
|
+
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
|
|
394
379
|
|
|
395
380
|
return value;
|
|
396
381
|
}
|
|
@@ -401,6 +386,14 @@ export default domAssigned(class Value {
|
|
|
401
386
|
return value;
|
|
402
387
|
}
|
|
403
388
|
|
|
389
|
+
static fromReduceNode(reduceNode, context) {
|
|
390
|
+
const reduceValueNode = reduceValueNodeQuery(reduceNode),
|
|
391
|
+
valueNode = reduceValueNode, ///
|
|
392
|
+
value = valueFromValueNode(valueNode, context);
|
|
393
|
+
|
|
394
|
+
return value;
|
|
395
|
+
}
|
|
396
|
+
|
|
404
397
|
static fromTernaryNode(ternaryNode, context) {
|
|
405
398
|
const ternaryValueNode = ternaryValueNodeQuery(ternaryNode),
|
|
406
399
|
valueNode = ternaryValueNode, ///
|
|
@@ -437,14 +430,6 @@ export default domAssigned(class Value {
|
|
|
437
430
|
return value;
|
|
438
431
|
}
|
|
439
432
|
|
|
440
|
-
static fromConditionalBlocksNode(conditionalBlocksNode, context) {
|
|
441
|
-
const conditionalBlocksCValueNode = conditionalBlocksCValueNodeQuery(conditionalBlocksNode),
|
|
442
|
-
valueNode = conditionalBlocksCValueNode, ///
|
|
443
|
-
value = valueFromValueNode(valueNode, context);
|
|
444
|
-
|
|
445
|
-
return value;
|
|
446
|
-
}
|
|
447
|
-
|
|
448
433
|
static fromVariableAssignmentNode(variableAssigmentNode, context) {
|
|
449
434
|
const variableAssignmentValueNode = variableAssignmentValueNodeQuery(variableAssigmentNode),
|
|
450
435
|
valueNode = variableAssignmentValueNode, ///
|
|
@@ -504,7 +489,7 @@ function nodesAsString(nodes, context) {
|
|
|
504
489
|
return string;
|
|
505
490
|
}
|
|
506
491
|
|
|
507
|
-
function numberAsString(number
|
|
492
|
+
function numberAsString(number) {
|
|
508
493
|
let string;
|
|
509
494
|
|
|
510
495
|
string = `${number}`;
|
|
@@ -512,13 +497,13 @@ function numberAsString(number, context) {
|
|
|
512
497
|
return string;
|
|
513
498
|
}
|
|
514
499
|
|
|
515
|
-
function stringAsString(string
|
|
500
|
+
function stringAsString(string) {
|
|
516
501
|
string = `"${string}"`; ///
|
|
517
502
|
|
|
518
503
|
return string;
|
|
519
504
|
}
|
|
520
505
|
|
|
521
|
-
function booleanAsString(boolean
|
|
506
|
+
function booleanAsString(boolean) {
|
|
522
507
|
let string;
|
|
523
508
|
|
|
524
509
|
string = `'${boolean}'`;
|
|
@@ -527,7 +512,7 @@ function booleanAsString(boolean, context) {
|
|
|
527
512
|
}
|
|
528
513
|
|
|
529
514
|
function valueFromValueNode(valueNode, context) {
|
|
530
|
-
const { Some, Every, Reduce, Value, Ternary, Variable, NodeQuery, NodesQuery, Comparison, NegatedValue, BitwiseValue, BracketedValue, ProcedureCall
|
|
515
|
+
const { Some, Every, Reduce, Value, Ternary, Variable, NodeQuery, NodesQuery, Comparison, NegatedValue, BitwiseValue, BracketedValue, ProcedureCall } = dom,
|
|
531
516
|
node = nodeFromValueNode(valueNode, context),
|
|
532
517
|
nodes = nodesFromValueNode(valueNode, context),
|
|
533
518
|
number = numberFromValueNode(valueNode, context),
|
|
@@ -545,8 +530,7 @@ function valueFromValueNode(valueNode, context) {
|
|
|
545
530
|
bitwiseValue = BitwiseValue.fromValueNode(valueNode, context),
|
|
546
531
|
bracketedValue = BracketedValue.fromValueNode(valueNode, context),
|
|
547
532
|
procedureCall = ProcedureCall.fromValueNode(valueNode, context),
|
|
548
|
-
|
|
549
|
-
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
|
|
533
|
+
value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
|
|
550
534
|
|
|
551
535
|
return value;
|
|
552
536
|
}
|
package/src/dom/values.js
CHANGED
|
@@ -6,8 +6,7 @@ import { domAssigned } from "../dom";
|
|
|
6
6
|
import { nodeQuery, nodesQuery } from "../utilities/query";
|
|
7
7
|
|
|
8
8
|
const valuesNodeQuery = nodeQuery("/value/procedureCall/values"),
|
|
9
|
-
valueNodesQuery = nodesQuery("/values/value")
|
|
10
|
-
anonymousProcedureCallValuesNodeQuery = nodeQuery("/anonymousProcedureCall/values");
|
|
9
|
+
valueNodesQuery = nodesQuery("/values/value");
|
|
11
10
|
|
|
12
11
|
export default domAssigned(class Values {
|
|
13
12
|
constructor(string, array) {
|
|
@@ -35,6 +34,10 @@ export default domAssigned(class Values {
|
|
|
35
34
|
return value;
|
|
36
35
|
}
|
|
37
36
|
|
|
37
|
+
addValue(value) {
|
|
38
|
+
this.array.push(value);
|
|
39
|
+
}
|
|
40
|
+
|
|
38
41
|
mapValue(callback) { return this.array.map(callback); }
|
|
39
42
|
|
|
40
43
|
forEachValue(callback) { this.array.forEach(callback); }
|
|
@@ -98,14 +101,6 @@ export default domAssigned(class Values {
|
|
|
98
101
|
|
|
99
102
|
return values;
|
|
100
103
|
}
|
|
101
|
-
|
|
102
|
-
static fromAnonymousProcedureCallNode(anonymousProcedureCallNode, context) {
|
|
103
|
-
const anonymousProcedureCallValuesNode = anonymousProcedureCallValuesNodeQuery(anonymousProcedureCallNode),
|
|
104
|
-
valuesNode = anonymousProcedureCallValuesNode, ///
|
|
105
|
-
values = valuesFromValuesNode(valuesNode, context);
|
|
106
|
-
|
|
107
|
-
return values;
|
|
108
|
-
}
|
|
109
104
|
});
|
|
110
105
|
|
|
111
106
|
function arrayFromNodes(nodes, context) {
|
package/src/dom/variable.js
CHANGED
|
@@ -9,6 +9,7 @@ import { domAssigned } from "../dom";
|
|
|
9
9
|
const someVariableNodeQuery = nodeQuery("/some/variable"),
|
|
10
10
|
valueVariableNodeQuery = nodeQuery("/value/variable"),
|
|
11
11
|
everyVariableNodeQuery = nodeQuery("/every/variable"),
|
|
12
|
+
reduceVariableNodeQuery = nodeQuery("/reduce/variable"),
|
|
12
13
|
nodeQueryVariableNodeQuery = nodeQuery("/nodeQuery/variable"),
|
|
13
14
|
nodesQueryVariableNodeQuery = nodeQuery("/nodesQuery/variable"),
|
|
14
15
|
variableNameTerminalNodeQuery = nodeQuery("/variable/@name"),
|
|
@@ -140,12 +141,20 @@ export default domAssigned(class Variable {
|
|
|
140
141
|
const type = parameter.getType(),
|
|
141
142
|
name = parameter.getName(),
|
|
142
143
|
value = null,
|
|
143
|
-
string = name,
|
|
144
|
+
string = stringFromName(name, context),
|
|
144
145
|
variable = new Variable(string, type, name, value);
|
|
145
146
|
|
|
146
147
|
return variable;
|
|
147
148
|
}
|
|
148
149
|
|
|
150
|
+
static fromReduceNode(reduceNode, context) {
|
|
151
|
+
const reduceVariableNode = reduceVariableNodeQuery(reduceNode),
|
|
152
|
+
variableNode = reduceVariableNode, ///
|
|
153
|
+
variable = variableFromVariableNode(variableNode, context);
|
|
154
|
+
|
|
155
|
+
return variable;
|
|
156
|
+
}
|
|
157
|
+
|
|
149
158
|
static fromNodeQueryNode(nodeQueryNode, context) {
|
|
150
159
|
const nodeQueryVariableNode = nodeQueryVariableNodeQuery(nodeQueryNode),
|
|
151
160
|
variableNode = nodeQueryVariableNode, ///
|
|
@@ -169,7 +178,7 @@ export default domAssigned(class Variable {
|
|
|
169
178
|
asName : ///
|
|
170
179
|
namedParameter.getName(),
|
|
171
180
|
value = null,
|
|
172
|
-
string = name,
|
|
181
|
+
string = stringFromName(name, context),
|
|
173
182
|
variable = new Variable(string, type, name, value);
|
|
174
183
|
|
|
175
184
|
return variable;
|
|
@@ -178,17 +187,7 @@ export default domAssigned(class Variable {
|
|
|
178
187
|
static fromValueAndParameter(value, parameter, context) {
|
|
179
188
|
const type = parameter.getType(),
|
|
180
189
|
name = parameter.getName(),
|
|
181
|
-
string = name,
|
|
182
|
-
variable = new Variable(string, type, name, value);
|
|
183
|
-
|
|
184
|
-
return variable;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
static fromVariableNodeAndType(variableNode, type, context) {
|
|
188
|
-
const node = variableNode, ///
|
|
189
|
-
string = context.nodeAsString(node),
|
|
190
|
-
name = nameFromVariableNode(variableNode),
|
|
191
|
-
value = null,
|
|
190
|
+
string = stringFromName(name, context),
|
|
192
191
|
variable = new Variable(string, type, name, value);
|
|
193
192
|
|
|
194
193
|
return variable;
|
|
@@ -221,10 +220,9 @@ export default domAssigned(class Variable {
|
|
|
221
220
|
|
|
222
221
|
function variableFromTypeAndVariableNode(type, variableNode, context) {
|
|
223
222
|
const { Variable } = dom,
|
|
224
|
-
node = variableNode, ///
|
|
225
|
-
string = context.nodeAsString(node),
|
|
226
223
|
name = nameFromVariableNode(variableNode),
|
|
227
224
|
value = null,
|
|
225
|
+
string = stringFromName(name, context),
|
|
228
226
|
variable = new Variable(string, type, name, value);
|
|
229
227
|
|
|
230
228
|
return variable;
|
|
@@ -232,11 +230,10 @@ function variableFromTypeAndVariableNode(type, variableNode, context) {
|
|
|
232
230
|
|
|
233
231
|
function variableFromVariableNode(variableNode, context) {
|
|
234
232
|
const { Variable } = dom,
|
|
235
|
-
node = variableNode, ///
|
|
236
|
-
string = context.nodeAsString(node),
|
|
237
233
|
type = null,
|
|
238
234
|
name = nameFromVariableNode(variableNode),
|
|
239
235
|
value = null,
|
|
236
|
+
string = stringFromName(name, context),
|
|
240
237
|
variable = new Variable(string, type, name, value);
|
|
241
238
|
|
|
242
239
|
return variable;
|
|
@@ -249,3 +246,10 @@ function nameFromVariableNode(variableNode) {
|
|
|
249
246
|
|
|
250
247
|
return name;
|
|
251
248
|
}
|
|
249
|
+
|
|
250
|
+
function stringFromName(name, context) {
|
|
251
|
+
const nameString = name, ///
|
|
252
|
+
string = nameString; ///
|
|
253
|
+
|
|
254
|
+
return string;
|
|
255
|
+
}
|
package/src/index.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
import Step from "./dom/step";
|
|
4
4
|
import Some from "./dom/some";
|
|
5
5
|
import Label from "./dom/label";
|
|
6
|
-
import Block from "./dom/block";
|
|
7
6
|
import Error from "./dom/error";
|
|
8
7
|
import Value from "./dom/value";
|
|
9
8
|
import Every from "./dom/every";
|
|
@@ -28,12 +27,10 @@ import ArrayAssigment from "./dom/assignment/array";
|
|
|
28
27
|
import ReturnStatement from "./dom/statement/return";
|
|
29
28
|
import NamedParameters from "./dom/parameters/named";
|
|
30
29
|
import ObjectAssignment from "./dom/assignment/object";
|
|
31
|
-
import ConditionalBlocks from "./dom/conditionalBlocks";
|
|
32
30
|
import AnonymousProcedure from "./dom/procedure/anonymous";
|
|
33
31
|
import VariableAssignment from "./dom/assignment/variable";
|
|
34
32
|
import VariableAssignments from "./dom/assignments/variable";
|
|
35
33
|
import ProcedureDeclaration from "./dom/declaration/procedure";
|
|
36
|
-
import AnonymousProcedureCall from "./dom/procedureCall/anonymous";
|
|
37
34
|
|
|
38
35
|
export { default as Values } from "./dom/values";
|
|
39
36
|
export { default as FileContext } from "./context/file";
|
package/src/nodeProperties.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
import Exception from "./exception";
|
|
4
4
|
import NodeProperty from "./nodeProperty";
|
|
5
5
|
|
|
6
|
-
import { stringFromArray } from "./dom/parameters";
|
|
7
6
|
import { NODES_TYPE, STRING_TYPE, BOOLEAN_TYPE } from "./types";
|
|
8
7
|
import { CONTENT_PARAMETER_NAME, TERMINAL_PARAMETER_NAME, CHILD_NODES_PARAMETER_NAME } from "./parameterNames";
|
|
9
8
|
|
|
@@ -82,3 +81,18 @@ class NodeProperties {
|
|
|
82
81
|
const nodeProperties = NodeProperties.fromNothing();
|
|
83
82
|
|
|
84
83
|
export default nodeProperties;
|
|
84
|
+
|
|
85
|
+
function stringFromArray(array, context) {
|
|
86
|
+
const nodePropertiesString = array.reduce((nodePropertiesString, nodeProperty) => {
|
|
87
|
+
const nodePropertyString = nodeProperty.getString();
|
|
88
|
+
|
|
89
|
+
nodePropertiesString = (nodePropertiesString === null) ?
|
|
90
|
+
nodePropertyString :
|
|
91
|
+
`${nodePropertiesString}, ${nodePropertyString}`;
|
|
92
|
+
|
|
93
|
+
return nodePropertiesString;
|
|
94
|
+
}, null),
|
|
95
|
+
string = nodePropertiesString; ///
|
|
96
|
+
|
|
97
|
+
return string;
|
|
98
|
+
}
|
package/src/nodeProperty.js
CHANGED
|
@@ -49,8 +49,10 @@ export default class NodeProperty {
|
|
|
49
49
|
}
|
|
50
50
|
};
|
|
51
51
|
|
|
52
|
-
function stringFromNameAndType(name, type) {
|
|
53
|
-
const
|
|
52
|
+
function stringFromNameAndType(name, type, context) {
|
|
53
|
+
const typeString = type, ///
|
|
54
|
+
nameString = name, ///
|
|
55
|
+
string = `${typeString} ${nameString}`;
|
|
54
56
|
|
|
55
57
|
return string;
|
|
56
58
|
}
|
package/lib/dom/block.js
DELETED
|
@@ -1,150 +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 _block = /*#__PURE__*/ _interop_require_default(require("../context/block"));
|
|
13
|
-
var _query = require("../utilities/query");
|
|
14
|
-
function _class_call_check(instance, Constructor) {
|
|
15
|
-
if (!(instance instanceof Constructor)) {
|
|
16
|
-
throw new TypeError("Cannot call a class as a function");
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function _defineProperties(target, props) {
|
|
20
|
-
for(var i = 0; i < props.length; i++){
|
|
21
|
-
var descriptor = props[i];
|
|
22
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
23
|
-
descriptor.configurable = true;
|
|
24
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
25
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
29
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
30
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
31
|
-
return Constructor;
|
|
32
|
-
}
|
|
33
|
-
function _define_property(obj, key, value) {
|
|
34
|
-
if (key in obj) {
|
|
35
|
-
Object.defineProperty(obj, key, {
|
|
36
|
-
value: value,
|
|
37
|
-
enumerable: true,
|
|
38
|
-
configurable: true,
|
|
39
|
-
writable: true
|
|
40
|
-
});
|
|
41
|
-
} else {
|
|
42
|
-
obj[key] = value;
|
|
43
|
-
}
|
|
44
|
-
return obj;
|
|
45
|
-
}
|
|
46
|
-
function _interop_require_default(obj) {
|
|
47
|
-
return obj && obj.__esModule ? obj : {
|
|
48
|
-
default: obj
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
52
|
-
if (typeof WeakMap !== "function") return null;
|
|
53
|
-
var cacheBabelInterop = new WeakMap();
|
|
54
|
-
var cacheNodeInterop = new WeakMap();
|
|
55
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
56
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
57
|
-
})(nodeInterop);
|
|
58
|
-
}
|
|
59
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
60
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
61
|
-
return obj;
|
|
62
|
-
}
|
|
63
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
64
|
-
return {
|
|
65
|
-
default: obj
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
69
|
-
if (cache && cache.has(obj)) {
|
|
70
|
-
return cache.get(obj);
|
|
71
|
-
}
|
|
72
|
-
var newObj = {
|
|
73
|
-
__proto__: null
|
|
74
|
-
};
|
|
75
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
76
|
-
for(var key in obj){
|
|
77
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
78
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
79
|
-
if (desc && (desc.get || desc.set)) {
|
|
80
|
-
Object.defineProperty(newObj, key, desc);
|
|
81
|
-
} else {
|
|
82
|
-
newObj[key] = obj[key];
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
newObj.default = obj;
|
|
87
|
-
if (cache) {
|
|
88
|
-
cache.set(obj, newObj);
|
|
89
|
-
}
|
|
90
|
-
return newObj;
|
|
91
|
-
}
|
|
92
|
-
var _Block;
|
|
93
|
-
var stepNodesQuery = (0, _query.nodesQuery)("/block/step");
|
|
94
|
-
var _default = (0, _dom.domAssigned)((_Block = /*#__PURE__*/ function() {
|
|
95
|
-
function Block(string, steps) {
|
|
96
|
-
_class_call_check(this, Block);
|
|
97
|
-
this.string = string;
|
|
98
|
-
this.steps = steps;
|
|
99
|
-
}
|
|
100
|
-
_create_class(Block, [
|
|
101
|
-
{
|
|
102
|
-
key: "getString",
|
|
103
|
-
value: function getString() {
|
|
104
|
-
return this.string;
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
key: "getSteps",
|
|
109
|
-
value: function getSteps() {
|
|
110
|
-
return this.steps;
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
key: "evaluate",
|
|
115
|
-
value: function evaluate(variables, context) {
|
|
116
|
-
if (context === undefined) {
|
|
117
|
-
context = variables; ///
|
|
118
|
-
variables = [];
|
|
119
|
-
}
|
|
120
|
-
var blockContext = _block.default.fromVariables(variables, context);
|
|
121
|
-
context = blockContext; ///
|
|
122
|
-
this.steps.forEach(function(step) {
|
|
123
|
-
step.evaluate(context);
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
], [
|
|
128
|
-
{
|
|
129
|
-
key: "fromBlockNode",
|
|
130
|
-
value: function fromBlockNode(blockNode, context) {
|
|
131
|
-
var block = null;
|
|
132
|
-
if (blockNode !== null) {
|
|
133
|
-
var node = blockNode, string = context.nodeAsString(node), stepNodes = stepNodesQuery(blockNode), steps = stepsFromStepNodes(stepNodes, context);
|
|
134
|
-
block = new Block(string, steps);
|
|
135
|
-
}
|
|
136
|
-
return block;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
]);
|
|
140
|
-
return Block;
|
|
141
|
-
}(), _define_property(_Block, "name", "Block"), _Block));
|
|
142
|
-
function stepsFromStepNodes(stepNodes, context) {
|
|
143
|
-
var Step = _dom.default.Step, steps = stepNodes.map(function(stepNode) {
|
|
144
|
-
var step = Step.fromStepNode(stepNode, context);
|
|
145
|
-
return step;
|
|
146
|
-
});
|
|
147
|
-
return steps;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vYmxvY2suanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IEJsb2NrQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9ibG9ja1wiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5cbmNvbnN0IHN0ZXBOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9ibG9jay9zdGVwXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBCbG9jayB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgc3RlcHMpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnN0ZXBzID0gc3RlcHM7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0U3RlcHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHM7XG4gIH1cblxuICBldmFsdWF0ZSh2YXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb250ZXh0ID0gdmFyaWFibGVzOyAgLy8vXG5cbiAgICAgIHZhcmlhYmxlcyA9IFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGJsb2NrQ29udGV4dCA9IEJsb2NrQ29udGV4dC5mcm9tVmFyaWFibGVzKHZhcmlhYmxlcywgY29udGV4dCk7XG5cbiAgICBjb250ZXh0ID0gYmxvY2tDb250ZXh0OyAvLy9cblxuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCkgPT4ge1xuICAgICAgc3RlcC5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJCbG9ja1wiO1xuXG4gIHN0YXRpYyBmcm9tQmxvY2tOb2RlKGJsb2NrTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBibG9jayA9IG51bGw7XG5cbiAgICBpZiAoYmxvY2tOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlID0gYmxvY2tOb2RlLCAvLy9cbiAgICAgICAgICAgIHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgICAgc3RlcE5vZGVzID0gc3RlcE5vZGVzUXVlcnkoYmxvY2tOb2RlKSxcbiAgICAgICAgICAgIHN0ZXBzID0gc3RlcHNGcm9tU3RlcE5vZGVzKHN0ZXBOb2RlcywgY29udGV4dCk7XG5cbiAgICAgIGJsb2NrID0gbmV3IEJsb2NrKHN0cmluZywgc3RlcHMpO1xuICAgIH1cblxuICAgIHJldHVybiBibG9jaztcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHN0ZXBzRnJvbVN0ZXBOb2RlcyhzdGVwTm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBTdGVwIH0gPSBkb20sXG4gICAgICAgIHN0ZXBzID0gc3RlcE5vZGVzLm1hcCgoc3RlcE5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCBzdGVwID0gU3RlcC5mcm9tU3RlcE5vZGUoc3RlcE5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgICAgcmV0dXJuIHN0ZXA7XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBzdGVwcztcbn1cbiJdLCJuYW1lcyI6WyJzdGVwTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJkb21Bc3NpZ25lZCIsIkJsb2NrIiwic3RyaW5nIiwic3RlcHMiLCJnZXRTdHJpbmciLCJnZXRTdGVwcyIsImV2YWx1YXRlIiwidmFyaWFibGVzIiwiY29udGV4dCIsInVuZGVmaW5lZCIsImJsb2NrQ29udGV4dCIsIkJsb2NrQ29udGV4dCIsImZyb21WYXJpYWJsZXMiLCJmb3JFYWNoIiwic3RlcCIsImZyb21CbG9ja05vZGUiLCJibG9ja05vZGUiLCJibG9jayIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJzdGVwTm9kZXMiLCJzdGVwc0Zyb21TdGVwTm9kZXMiLCJuYW1lIiwiU3RlcCIsImRvbSIsIm1hcCIsInN0ZXBOb2RlIiwiZnJvbVN0ZXBOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQUE7OzsyREFSZ0I7NERBQ1M7cUJBRUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzNCLElBQU1BLGlCQUFpQkMsSUFBQUEsaUJBQVUsRUFBQztJQUVsQyxXQUFlQyxJQUFBQSxnQkFBVywwQkFBQzthQUFNQyxNQUNuQkMsTUFBTSxFQUFFQyxLQUFLO2dDQURNRjtRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLEtBQUssR0FBR0E7Ozs7WUFHZkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixNQUFNO1lBQ3BCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixLQUFLO1lBQ25COzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVNDLFNBQVMsRUFBRUMsT0FBTztnQkFDekIsSUFBSUEsWUFBWUMsV0FBVztvQkFDekJELFVBQVVELFdBQVksR0FBRztvQkFFekJBLFlBQVksRUFBRTtnQkFDaEI7Z0JBRUEsSUFBTUcsZUFBZUMsY0FBWSxDQUFDQyxhQUFhLENBQUNMLFdBQVdDO2dCQUUzREEsVUFBVUUsY0FBYyxHQUFHO2dCQUUzQixJQUFJLENBQUNQLEtBQUssQ0FBQ1UsT0FBTyxDQUFDLFNBQUNDO29CQUNsQkEsS0FBS1IsUUFBUSxDQUFDRTtnQkFDaEI7WUFDRjs7OztZQUlPTyxLQUFBQTttQkFBUCxTQUFPQSxjQUFjQyxTQUFTLEVBQUVSLE9BQU87Z0JBQ3JDLElBQUlTLFFBQVE7Z0JBRVosSUFBSUQsY0FBYyxNQUFNO29CQUN0QixJQUFNRSxPQUFPRixXQUNQZCxTQUFTTSxRQUFRVyxZQUFZLENBQUNELE9BQzlCRSxZQUFZdEIsZUFBZWtCLFlBQzNCYixRQUFRa0IsbUJBQW1CRCxXQUFXWjtvQkFFNUNTLFFBQVEsSUFBSWhCLE1BQU1DLFFBQVFDO2dCQUM1QjtnQkFFQSxPQUFPYztZQUNUOzs7O0tBZkEseUJBQU9LLFFBQU87QUFrQmhCLFNBQVNELG1CQUFtQkQsU0FBUyxFQUFFWixPQUFPO0lBQzVDLElBQU0sQUFBRWUsT0FBU0MsWUFBRyxDQUFaRCxNQUNGcEIsUUFBUWlCLFVBQVVLLEdBQUcsQ0FBQyxTQUFDQztRQUNyQixJQUFNWixPQUFPUyxLQUFLSSxZQUFZLENBQUNELFVBQVVsQjtRQUV6QyxPQUFPTTtJQUNUO0lBRU4sT0FBT1g7QUFDVCJ9
|