mlogjs 0.1.11 → 0.2.2
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/LICENSE +21 -21
- package/README.md +68 -18
- package/build/bin.cjs +69 -0
- package/dist/bin.cjs +69 -0
- package/dist/index.cjs +1817 -0
- package/dist/index.mjs +1813 -0
- package/dist/types/Compiler.d.ts +18 -0
- package/{build → dist/types}/Scope.d.ts +8 -11
- package/dist/types/bin.d.ts +1 -0
- package/dist/types/handlers/BlockStatement.d.ts +2 -0
- package/dist/types/handlers/CallExpression.d.ts +3 -0
- package/dist/types/handlers/ForStatement.d.ts +2 -0
- package/{build → dist/types}/handlers/Function.d.ts +0 -0
- package/{build → dist/types}/handlers/Identifier.d.ts +0 -0
- package/dist/types/handlers/IfStatement.d.ts +2 -0
- package/{build → dist/types}/handlers/Literal.d.ts +0 -0
- package/{build → dist/types}/handlers/Object.d.ts +0 -0
- package/{build → dist/types}/handlers/OperationExpressions.d.ts +0 -0
- package/dist/types/handlers/Program.d.ts +2 -0
- package/dist/types/handlers/Statements.d.ts +5 -0
- package/dist/types/handlers/TemplateExpression.d.ts +2 -0
- package/dist/types/handlers/VariableDeclaration.d.ts +3 -0
- package/dist/types/handlers/WhileStatement.d.ts +2 -0
- package/{build → dist/types}/handlers/index.d.ts +0 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/initScope.d.ts +2 -0
- package/{build → dist/types}/instructions/AddressResolver.d.ts +1 -1
- package/{build → dist/types}/instructions/ControlInstructions.d.ts +0 -0
- package/{build → dist/types}/instructions/EndInstruction.d.ts +0 -0
- package/{build → dist/types}/instructions/InstructionBase.d.ts +2 -2
- package/{build → dist/types}/instructions/JumpInstruction.d.ts +1 -1
- package/{build → dist/types}/instructions/OperationInstruction.d.ts +1 -1
- package/{build → dist/types}/instructions/SetCounterInstruction.d.ts +0 -0
- package/{build → dist/types}/instructions/SetInstruction.d.ts +0 -0
- package/{build → dist/types}/instructions/ZeroSpaceInstruction.d.ts +0 -0
- package/{build → dist/types}/instructions/index.d.ts +0 -0
- package/dist/types/macros/Building.d.ts +11 -0
- package/dist/types/macros/Function.d.ts +12 -0
- package/{build → dist/types}/macros/Math.d.ts +0 -0
- package/{build/macros/Blocks.d.ts → dist/types/macros/Memory.d.ts} +1 -1
- package/dist/types/macros/Namespace.d.ts +21 -0
- package/{build/macros/Draw.d.ts → dist/types/macros/Other.d.ts} +1 -1
- package/dist/types/macros/RawValue.d.ts +5 -0
- package/dist/types/macros/commands/Control.d.ts +5 -0
- package/dist/types/macros/commands/Draw.d.ts +5 -0
- package/dist/types/macros/commands/DrawFlush.d.ts +5 -0
- package/dist/types/macros/commands/GetLink.d.ts +5 -0
- package/dist/types/macros/commands/Lookup.d.ts +5 -0
- package/dist/types/macros/commands/Print.d.ts +5 -0
- package/dist/types/macros/commands/PrintFlush.d.ts +5 -0
- package/dist/types/macros/commands/Radar.d.ts +7 -0
- package/dist/types/macros/commands/Sensor.d.ts +5 -0
- package/dist/types/macros/commands/UnitBind.d.ts +5 -0
- package/dist/types/macros/commands/UnitControl.d.ts +5 -0
- package/dist/types/macros/commands/UnitLocate.d.ts +5 -0
- package/dist/types/macros/commands/UnitRadar.d.ts +5 -0
- package/dist/types/macros/commands/Wait.d.ts +5 -0
- package/dist/types/macros/commands/index.d.ts +14 -0
- package/dist/types/macros/index.d.ts +7 -0
- package/{build → dist/types}/operators.d.ts +3 -0
- package/dist/types/types.d.ts +100 -0
- package/{build → dist/types}/utils.d.ts +1 -0
- package/{build → dist/types}/values/BaseValue.d.ts +0 -0
- package/{build → dist/types}/values/FunctionValue.d.ts +1 -1
- package/{build → dist/types}/values/LiteralValue.d.ts +0 -0
- package/dist/types/values/ObjectValue.d.ts +19 -0
- package/{build → dist/types}/values/StoreValue.d.ts +0 -0
- package/{build → dist/types}/values/TempValue.d.ts +0 -0
- package/{build → dist/types}/values/VoidValue.d.ts +3 -1
- package/{build → dist/types}/values/index.d.ts +0 -0
- package/{docs → doc}/README.md +9 -17
- package/lib/commands.d.ts +326 -0
- package/lib/eslib/index.d.ts +3 -0
- package/lib/eslib/lib.d.ts +9 -0
- package/lib/eslib/lib.es2015.collection.d.ts +89 -0
- package/lib/eslib/lib.es2015.core.d.ts +16 -0
- package/lib/eslib/lib.es2015.d.ts +30 -0
- package/lib/eslib/lib.es2015.generator.d.ts +79 -0
- package/lib/eslib/lib.es2015.iterable.d.ts +70 -0
- package/lib/eslib/lib.es5.d.ts +295 -0
- package/lib/eslib/lib.es6.d.ts +18 -0
- package/lib/globals.d.ts +328 -0
- package/lib/helpers.d.ts +23 -0
- package/lib/index.d.ts +7 -0
- package/lib/kinds.d.ts +36 -0
- package/lib/memory.d.ts +17 -0
- package/lib/traits.d.ts +120 -0
- package/lib/util.d.ts +32 -0
- package/package.json +63 -37
- package/.gitattributes +0 -2
- package/build/Compiler.d.ts +0 -18
- package/build/Compiler.js +0 -93
- package/build/Compiler.js.map +0 -1
- package/build/Scope.js +0 -61
- package/build/Scope.js.map +0 -1
- package/build/bin.d.ts +0 -2
- package/build/bin.js +0 -35
- package/build/bin.js.map +0 -1
- package/build/handlers/BlockStatement.d.ts +0 -2
- package/build/handlers/BlockStatement.js +0 -14
- package/build/handlers/BlockStatement.js.map +0 -1
- package/build/handlers/CallExpression.d.ts +0 -3
- package/build/handlers/CallExpression.js +0 -20
- package/build/handlers/CallExpression.js.map +0 -1
- package/build/handlers/ForStatement.d.ts +0 -2
- package/build/handlers/ForStatement.js +0 -32
- package/build/handlers/ForStatement.js.map +0 -1
- package/build/handlers/Function.js +0 -33
- package/build/handlers/Function.js.map +0 -1
- package/build/handlers/Identifier.js +0 -8
- package/build/handlers/Identifier.js.map +0 -1
- package/build/handlers/IfStatement.d.ts +0 -2
- package/build/handlers/IfStatement.js +0 -25
- package/build/handlers/IfStatement.js.map +0 -1
- package/build/handlers/Literal.js +0 -16
- package/build/handlers/Literal.js.map +0 -1
- package/build/handlers/Object.js +0 -44
- package/build/handlers/Object.js.map +0 -1
- package/build/handlers/OperationExpressions.js +0 -32
- package/build/handlers/OperationExpressions.js.map +0 -1
- package/build/handlers/Program.d.ts +0 -2
- package/build/handlers/Program.js +0 -9
- package/build/handlers/Program.js.map +0 -1
- package/build/handlers/Statements.d.ts +0 -5
- package/build/handlers/Statements.js +0 -28
- package/build/handlers/Statements.js.map +0 -1
- package/build/handlers/TemplateExpression.d.ts +0 -2
- package/build/handlers/TemplateExpression.js +0 -18
- package/build/handlers/TemplateExpression.js.map +0 -1
- package/build/handlers/VariableDeclaration.d.ts +0 -3
- package/build/handlers/VariableDeclaration.js +0 -32
- package/build/handlers/VariableDeclaration.js.map +0 -1
- package/build/handlers/WhileStatement.d.ts +0 -2
- package/build/handlers/WhileStatement.js +0 -23
- package/build/handlers/WhileStatement.js.map +0 -1
- package/build/handlers/index.js +0 -27
- package/build/handlers/index.js.map +0 -1
- package/build/index.d.ts +0 -1
- package/build/index.js +0 -8
- package/build/index.js.map +0 -1
- package/build/instructions/AddressResolver.js +0 -32
- package/build/instructions/AddressResolver.js.map +0 -1
- package/build/instructions/ControlInstructions.js +0 -23
- package/build/instructions/ControlInstructions.js.map +0 -1
- package/build/instructions/EndInstruction.js +0 -11
- package/build/instructions/EndInstruction.js.map +0 -1
- package/build/instructions/InstructionBase.js +0 -21
- package/build/instructions/InstructionBase.js.map +0 -1
- package/build/instructions/JumpInstruction.js +0 -22
- package/build/instructions/JumpInstruction.js.map +0 -1
- package/build/instructions/OperationInstruction.js +0 -11
- package/build/instructions/OperationInstruction.js.map +0 -1
- package/build/instructions/SetCounterInstruction.js +0 -11
- package/build/instructions/SetCounterInstruction.js.map +0 -1
- package/build/instructions/SetInstruction.js +0 -11
- package/build/instructions/SetInstruction.js.map +0 -1
- package/build/instructions/ZeroSpaceInstruction.js +0 -11
- package/build/instructions/ZeroSpaceInstruction.js.map +0 -1
- package/build/instructions/index.js +0 -22
- package/build/instructions/index.js.map +0 -1
- package/build/macros/Blocks.js +0 -137
- package/build/macros/Blocks.js.map +0 -1
- package/build/macros/Draw.js +0 -34
- package/build/macros/Draw.js.map +0 -1
- package/build/macros/Function.d.ts +0 -12
- package/build/macros/Function.js +0 -20
- package/build/macros/Function.js.map +0 -1
- package/build/macros/Math.js +0 -57
- package/build/macros/Math.js.map +0 -1
- package/build/macros/Other.d.ts +0 -8
- package/build/macros/Other.js +0 -29
- package/build/macros/Other.js.map +0 -1
- package/build/macros/TypeFactory.d.ts +0 -8
- package/build/macros/TypeFactory.js +0 -22
- package/build/macros/TypeFactory.js.map +0 -1
- package/build/macros/index.d.ts +0 -5
- package/build/macros/index.js +0 -18
- package/build/macros/index.js.map +0 -1
- package/build/operators.js +0 -39
- package/build/operators.js.map +0 -1
- package/build/scopes/FunctionScope.d.ts +0 -5
- package/build/scopes/FunctionScope.js +0 -13
- package/build/scopes/FunctionScope.js.map +0 -1
- package/build/scopes/LoopScope.d.ts +0 -5
- package/build/scopes/LoopScope.js +0 -13
- package/build/scopes/LoopScope.js.map +0 -1
- package/build/scopes/Scope.d.ts +0 -36
- package/build/scopes/Scope.js +0 -93
- package/build/scopes/Scope.js.map +0 -1
- package/build/scopes/index.d.ts +0 -3
- package/build/scopes/index.js +0 -16
- package/build/scopes/index.js.map +0 -1
- package/build/types.d.ts +0 -49
- package/build/types.js +0 -24
- package/build/types.js.map +0 -1
- package/build/utils.js +0 -9
- package/build/utils.js.map +0 -1
- package/build/values/BaseValue.js +0 -102
- package/build/values/BaseValue.js.map +0 -1
- package/build/values/FunctionValue.js +0 -101
- package/build/values/FunctionValue.js.map +0 -1
- package/build/values/LiteralValue.js +0 -89
- package/build/values/LiteralValue.js.map +0 -1
- package/build/values/ObjectValue.d.ts +0 -17
- package/build/values/ObjectValue.js +0 -50
- package/build/values/ObjectValue.js.map +0 -1
- package/build/values/StoreValue.js +0 -31
- package/build/values/StoreValue.js.map +0 -1
- package/build/values/TempValue.js +0 -53
- package/build/values/TempValue.js.map +0 -1
- package/build/values/VoidValue.js +0 -31
- package/build/values/VoidValue.js.map +0 -1
- package/build/values/index.js +0 -19
- package/build/values/index.js.map +0 -1
- package/dist/bundle.js +0 -553
- package/docs/.nojekyll +0 -0
- package/docs/_coverpage.md +0 -8
- package/docs/_sidebar.md +0 -3
- package/docs/data-types.md +0 -56
- package/docs/getting-started.md +0 -19
- package/docs/index.html +0 -41
- package/docs/mlogjs.png +0 -0
- package/mlogjs.d.ts +0 -72
- package/tsconfig.json +0 -22
- package/webpack.config.js +0 -22
package/build/macros/Blocks.js
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BlockBuilder = void 0;
|
|
4
|
-
const instructions_1 = require("../instructions");
|
|
5
|
-
const values_1 = require("../values");
|
|
6
|
-
const Function_1 = require("./Function");
|
|
7
|
-
class Block extends values_1.ObjectValue {
|
|
8
|
-
constructor(scope, name) {
|
|
9
|
-
super(scope, {
|
|
10
|
-
$get: new Function_1.MacroFunction(scope, (prop) => {
|
|
11
|
-
let obj;
|
|
12
|
-
if (prop instanceof values_1.LiteralValue && typeof prop.data === "string") {
|
|
13
|
-
obj = new values_1.ObjectValue(scope, {
|
|
14
|
-
$eval: new Function_1.MacroFunction(scope, () => {
|
|
15
|
-
return this.get(scope, new values_1.LiteralValue(scope, "sensor"))[0].call(scope, [prop]);
|
|
16
|
-
}),
|
|
17
|
-
"$=": new Function_1.MacroFunction(scope, (value) => {
|
|
18
|
-
return this.get(scope, new values_1.LiteralValue(scope, "control"))[0].call(scope, [prop, value]);
|
|
19
|
-
})
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
obj = new values_1.ObjectValue(scope, {
|
|
24
|
-
$eval: new Function_1.MacroFunction(scope, () => {
|
|
25
|
-
return this.get(scope, new values_1.LiteralValue(scope, "read"))[0].call(scope, [prop]);
|
|
26
|
-
}),
|
|
27
|
-
"$=": new Function_1.MacroFunction(scope, (value) => {
|
|
28
|
-
return this.get(scope, new values_1.LiteralValue(scope, "write"))[0].call(scope, [prop, value]);
|
|
29
|
-
})
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
return [obj, []];
|
|
33
|
-
}),
|
|
34
|
-
puts: new Function_1.MacroFunction(scope, (...args) => {
|
|
35
|
-
return [
|
|
36
|
-
null,
|
|
37
|
-
[
|
|
38
|
-
...args.map((arg) => new instructions_1.InstructionBase("print", arg)),
|
|
39
|
-
new instructions_1.InstructionBase("printflush", name),
|
|
40
|
-
],
|
|
41
|
-
];
|
|
42
|
-
}),
|
|
43
|
-
printFlush: new Function_1.MacroFunction(scope, () => {
|
|
44
|
-
return [null, [new instructions_1.InstructionBase("printflush", name)]];
|
|
45
|
-
}),
|
|
46
|
-
drawFlush: new Function_1.MacroFunction(scope, () => {
|
|
47
|
-
return [null, [new instructions_1.InstructionBase("drawflush", name)]];
|
|
48
|
-
}),
|
|
49
|
-
read: new Function_1.MacroFunction(scope, (i) => {
|
|
50
|
-
if (!(i instanceof values_1.LiteralValue || i instanceof values_1.StoreValue))
|
|
51
|
-
throw new Error("Cannot read at non-literal or non-store index.");
|
|
52
|
-
const temp = new values_1.TempValue(scope);
|
|
53
|
-
return [temp, [new instructions_1.InstructionBase("read", temp, name, i)]];
|
|
54
|
-
}),
|
|
55
|
-
write: new Function_1.MacroFunction(scope, (i, value) => {
|
|
56
|
-
if (!(i instanceof values_1.LiteralValue || i instanceof values_1.StoreValue))
|
|
57
|
-
throw new Error("Cannot write at non-literal or non-store index.");
|
|
58
|
-
if (!(value instanceof values_1.LiteralValue || value instanceof values_1.StoreValue))
|
|
59
|
-
throw new Error("Cannot write a non-literal or non-store value.");
|
|
60
|
-
return [value, [new instructions_1.InstructionBase("write", value, name, i)]];
|
|
61
|
-
}),
|
|
62
|
-
// sensor result block1 @copper
|
|
63
|
-
sensor: new Function_1.MacroFunction(scope, (attr) => {
|
|
64
|
-
if (!(attr instanceof values_1.LiteralValue))
|
|
65
|
-
throw new Error("Cannot use sensor with non-literal attribute.");
|
|
66
|
-
if (typeof attr.data !== "string")
|
|
67
|
-
throw new Error("Cannot use sensor with non-string attribute.");
|
|
68
|
-
if (attr.data[0] === "@")
|
|
69
|
-
throw new Error("The use of '@' is unnecessary beucase it is already done for you.");
|
|
70
|
-
const temp = new values_1.TempValue(scope);
|
|
71
|
-
return [temp, [new instructions_1.InstructionBase("sensor", temp, name, "@" + attr.data)]];
|
|
72
|
-
}),
|
|
73
|
-
//control enabled block1 0 0 0 0
|
|
74
|
-
control: new Function_1.MacroFunction(scope, (attr, ...args) => {
|
|
75
|
-
if (!(attr instanceof values_1.LiteralValue))
|
|
76
|
-
throw new Error("Cannot use control with non-literal attribute.");
|
|
77
|
-
if (["enabled", "shoot", "shootp", "configure", "color"].indexOf(attr.data) === -1)
|
|
78
|
-
throw new Error("Control attribute must be valid.");
|
|
79
|
-
for (const arg of args)
|
|
80
|
-
if (!(arg instanceof values_1.LiteralValue || arg instanceof values_1.StoreValue))
|
|
81
|
-
throw new Error("Arguments cannot be non-literal or non-store value.");
|
|
82
|
-
return [null, [new instructions_1.InstructionBase("control", attr.data, name, ...args)]];
|
|
83
|
-
}),
|
|
84
|
-
// radar enemy any any distance turret1 1 result
|
|
85
|
-
radar: new Function_1.MacroFunction(scope, (target0, target1, target2, sort, order) => {
|
|
86
|
-
const targets = [target0, target1, target2];
|
|
87
|
-
for (const target of targets) {
|
|
88
|
-
if (!(target instanceof values_1.LiteralValue))
|
|
89
|
-
throw new Error("Radar targets cannot be non-literal.");
|
|
90
|
-
if ([
|
|
91
|
-
"any",
|
|
92
|
-
"enemy",
|
|
93
|
-
"ally",
|
|
94
|
-
"player",
|
|
95
|
-
"attacker",
|
|
96
|
-
"flying",
|
|
97
|
-
"boss",
|
|
98
|
-
"ground",
|
|
99
|
-
].indexOf(target.data) === -1)
|
|
100
|
-
throw new Error("Radar target must be valid.");
|
|
101
|
-
}
|
|
102
|
-
if (!(sort instanceof values_1.LiteralValue))
|
|
103
|
-
throw new Error("Radar sort cannot be non-literal.");
|
|
104
|
-
if (["distance", "health", "shield", "armor", "maxHealth"].indexOf(sort.data) === -1)
|
|
105
|
-
throw new Error("Radar sort must be valid");
|
|
106
|
-
if (!(order instanceof values_1.LiteralValue || order instanceof values_1.StoreValue))
|
|
107
|
-
throw new Error("Arguments cannot be non-literal or non-store value.");
|
|
108
|
-
const temp = new values_1.TempValue(scope);
|
|
109
|
-
return [
|
|
110
|
-
temp,
|
|
111
|
-
[
|
|
112
|
-
new instructions_1.InstructionBase("radar", ...targets.map((v) => v.data), sort.data, name, order, temp),
|
|
113
|
-
],
|
|
114
|
-
];
|
|
115
|
-
}),
|
|
116
|
-
});
|
|
117
|
-
this.name = name;
|
|
118
|
-
}
|
|
119
|
-
toString() {
|
|
120
|
-
return this.name;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
class BlockBuilder extends values_1.ObjectValue {
|
|
124
|
-
constructor(scope) {
|
|
125
|
-
super(scope, {
|
|
126
|
-
$call: new Function_1.MacroFunction(scope, (nameLit) => {
|
|
127
|
-
if (!(nameLit instanceof values_1.LiteralValue))
|
|
128
|
-
throw new Error("Block name must be a literal.");
|
|
129
|
-
if (typeof nameLit.data !== "string")
|
|
130
|
-
throw new Error("Block name must be a string.");
|
|
131
|
-
return [new Block(scope, nameLit.data), []];
|
|
132
|
-
}),
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
exports.BlockBuilder = BlockBuilder;
|
|
137
|
-
//# sourceMappingURL=Blocks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../../src/macros/Blocks.ts"],"names":[],"mappings":"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"}
|
package/build/macros/Draw.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Draw = void 0;
|
|
4
|
-
const instructions_1 = require("../instructions");
|
|
5
|
-
const values_1 = require("../values");
|
|
6
|
-
const Function_1 = require("./Function");
|
|
7
|
-
class Draw extends Function_1.MacroFunction {
|
|
8
|
-
constructor(scope) {
|
|
9
|
-
super(scope, (kind, ...args) => {
|
|
10
|
-
if (!(kind instanceof values_1.LiteralValue))
|
|
11
|
-
throw new Error("Draw kind must be literal.");
|
|
12
|
-
if ([
|
|
13
|
-
"clear",
|
|
14
|
-
"color",
|
|
15
|
-
"stroke",
|
|
16
|
-
"line",
|
|
17
|
-
"rect",
|
|
18
|
-
"lineRect",
|
|
19
|
-
"poly",
|
|
20
|
-
"linePoly",
|
|
21
|
-
"triangle",
|
|
22
|
-
"image",
|
|
23
|
-
].indexOf(kind.data) === -1)
|
|
24
|
-
throw new Error("Draw kind must be valid");
|
|
25
|
-
return [null, [new instructions_1.InstructionBase("draw", kind.data, ...args.map(v => {
|
|
26
|
-
if (v instanceof values_1.LiteralValue && typeof v.data === "string")
|
|
27
|
-
return v.data;
|
|
28
|
-
return v;
|
|
29
|
-
}))]];
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.Draw = Draw;
|
|
34
|
-
//# sourceMappingURL=Draw.js.map
|
package/build/macros/Draw.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Draw.js","sourceRoot":"","sources":["../../src/macros/Draw.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAElD,sCAAyC;AACzC,yCAA2C;AAE3C,MAAa,IAAK,SAAQ,wBAAa;IACtC,YAAY,KAAa;QACxB,KAAK,CAAC,KAAK,EAAE,CAAC,IAAY,EAAE,GAAG,IAAc,EAAE,EAAE;YAChD,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAY,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACnF,IACC;gBACC,OAAO;gBACP,OAAO;gBACP,QAAQ;gBACR,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,MAAM;gBACN,UAAU;gBACV,UAAU;gBACV,OAAO;aACP,CAAC,OAAO,CAAC,IAAI,CAAC,IAAc,CAAC,KAAK,CAAC,CAAC;gBAErC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,8BAAe,CAAC,MAAM,EAAE,IAAI,CAAC,IAAc,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACnE,IAAI,CAAC,YAAY,qBAAY,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;4BAAE,OAAO,CAAC,CAAC,IAAI,CAAA;wBAC1E,OAAO,CAAC,CAAA;oBACZ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAzBD,oBAyBC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { IScope, IValue, TValueInstructions } from "../types";
|
|
2
|
-
import { VoidValue } from "../values";
|
|
3
|
-
declare type TFunction = (...args: IValue[]) => TValueInstructions;
|
|
4
|
-
export declare class MacroFunction extends VoidValue {
|
|
5
|
-
macro: boolean;
|
|
6
|
-
constant: boolean;
|
|
7
|
-
fn: TFunction;
|
|
8
|
-
constructor(scope: IScope, fn: TFunction);
|
|
9
|
-
call(scope: IScope, args: IValue[]): TValueInstructions;
|
|
10
|
-
eval(scope: IScope): TValueInstructions;
|
|
11
|
-
}
|
|
12
|
-
export {};
|
package/build/macros/Function.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MacroFunction = void 0;
|
|
4
|
-
const values_1 = require("../values");
|
|
5
|
-
class MacroFunction extends values_1.VoidValue {
|
|
6
|
-
constructor(scope, fn) {
|
|
7
|
-
super(scope);
|
|
8
|
-
this.macro = true;
|
|
9
|
-
this.constant = true;
|
|
10
|
-
this.fn = fn;
|
|
11
|
-
}
|
|
12
|
-
call(scope, args) {
|
|
13
|
-
return this.fn.apply(this, args);
|
|
14
|
-
}
|
|
15
|
-
eval(scope) {
|
|
16
|
-
return [this, []];
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.MacroFunction = MacroFunction;
|
|
20
|
-
//# sourceMappingURL=Function.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Function.js","sourceRoot":"","sources":["../../src/macros/Function.ts"],"names":[],"mappings":";;;AACA,sCAAsC;AAItC,MAAa,aAAc,SAAQ,kBAAS;IAIxC,YAAY,KAAa,EAAE,EAAa;QACpC,KAAK,CAAC,KAAK,CAAC,CAAA;QAJhB,UAAK,GAAG,IAAI,CAAA;QACZ,aAAQ,GAAG,IAAI,CAAA;QAIX,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAChB,CAAC;IACD,IAAI,CAAC,KAAa,EAAE,IAAc;QAC9B,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;IACD,IAAI,CAAC,KAAa;QACd,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACrB,CAAC;CACJ;AAdD,sCAcC"}
|
package/build/macros/Math.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MlogMath = void 0;
|
|
4
|
-
const instructions_1 = require("../instructions");
|
|
5
|
-
const values_1 = require("../values");
|
|
6
|
-
const Function_1 = require("./Function");
|
|
7
|
-
const mathOperations = {
|
|
8
|
-
max: (a, b) => Math.max(a, b),
|
|
9
|
-
min: (a, b) => Math.min(a, b),
|
|
10
|
-
angle: (a, b) => Math.atan2(a, b),
|
|
11
|
-
len: (a, b) => Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)),
|
|
12
|
-
noise: null,
|
|
13
|
-
abs: (a) => Math.abs(a),
|
|
14
|
-
log: (a) => Math.log(a),
|
|
15
|
-
log10: (a) => Math.log(a) / Math.log(10),
|
|
16
|
-
sin: (a) => Math.sin(a),
|
|
17
|
-
cos: (a) => Math.cos(a),
|
|
18
|
-
tan: (a) => Math.tan(a),
|
|
19
|
-
floor: (a) => Math.floor(a),
|
|
20
|
-
ceil: (a) => Math.ceil(a),
|
|
21
|
-
sqrt: (a) => Math.ceil(a),
|
|
22
|
-
rand: null,
|
|
23
|
-
};
|
|
24
|
-
function createMacroMathOperations(scope) {
|
|
25
|
-
const macroMathOperations = {};
|
|
26
|
-
for (const key in mathOperations) {
|
|
27
|
-
const fn = mathOperations[key];
|
|
28
|
-
macroMathOperations[key] = new Function_1.MacroFunction(scope, (a, b) => {
|
|
29
|
-
if (b) {
|
|
30
|
-
if (fn && a instanceof values_1.LiteralValue && b instanceof values_1.LiteralValue) {
|
|
31
|
-
if (typeof a.data !== "number" || typeof b.data !== "number")
|
|
32
|
-
throw new Error("Cannot do math operation with non-numerical literals.");
|
|
33
|
-
return [new values_1.LiteralValue(scope, fn(a.num, b.num)), []];
|
|
34
|
-
}
|
|
35
|
-
const temp = new values_1.TempValue(scope);
|
|
36
|
-
return [temp, [new instructions_1.OperationInstruction(key, temp, a, b)]];
|
|
37
|
-
}
|
|
38
|
-
if (fn && a instanceof values_1.LiteralValue) {
|
|
39
|
-
if (typeof a.data !== "number")
|
|
40
|
-
throw new Error("Cannot do math operation with non-numerical literal.");
|
|
41
|
-
return [new values_1.LiteralValue(scope, fn(a.num)), []];
|
|
42
|
-
}
|
|
43
|
-
const temp = new values_1.TempValue(scope);
|
|
44
|
-
return [temp, [new instructions_1.OperationInstruction(key, temp, a, b)]];
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
return macroMathOperations;
|
|
48
|
-
}
|
|
49
|
-
class MlogMath extends values_1.ObjectValue {
|
|
50
|
-
constructor(scope) {
|
|
51
|
-
super(scope, createMacroMathOperations(scope));
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
exports.MlogMath = MlogMath;
|
|
55
|
-
// op angle result a b
|
|
56
|
-
// op len result a b
|
|
57
|
-
//# sourceMappingURL=Math.js.map
|
package/build/macros/Math.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Math.js","sourceRoot":"","sources":["../../src/macros/Math.ts"],"names":[],"mappings":"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"}
|
package/build/macros/Other.d.ts
DELETED
package/build/macros/Other.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Concat = exports.Print = void 0;
|
|
4
|
-
const values_1 = require("../values");
|
|
5
|
-
const instructions_1 = require("../instructions");
|
|
6
|
-
const Function_1 = require("./Function");
|
|
7
|
-
class Print extends Function_1.MacroFunction {
|
|
8
|
-
constructor(scope) {
|
|
9
|
-
super(scope, (...values) => {
|
|
10
|
-
return [null, [new instructions_1.InstructionBase("print", ...values)]];
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.Print = Print;
|
|
15
|
-
class Concat extends Function_1.MacroFunction {
|
|
16
|
-
constructor(scope) {
|
|
17
|
-
super(scope, (...values) => {
|
|
18
|
-
for (const value of values)
|
|
19
|
-
if (!(value instanceof values_1.LiteralValue))
|
|
20
|
-
throw new Error("Concat arguments must all be literal values.");
|
|
21
|
-
return [
|
|
22
|
-
new values_1.LiteralValue(scope, values.map((v) => v.data).join("")),
|
|
23
|
-
[],
|
|
24
|
-
];
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.Concat = Concat;
|
|
29
|
-
//# sourceMappingURL=Other.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Other.js","sourceRoot":"","sources":["../../src/macros/Other.ts"],"names":[],"mappings":";;;AAAA,sCAAyC;AACzC,kDAAkD;AAElD,yCAA2C;AAE3C,MAAa,KAAM,SAAQ,wBAAa;IACvC,YAAY,KAAa;QACxB,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,MAAgB,EAAE,EAAE;YACpC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,8BAAe,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAND,sBAMC;AAED,MAAa,MAAO,SAAQ,wBAAa;IACxC,YAAY,KAAa;QACxB,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,MAAgB,EAAE,EAAE;YACpC,KAAK,MAAM,KAAK,IAAI,MAAM;gBACzB,IAAI,CAAC,CAAC,KAAK,YAAY,qBAAY,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,OAAO;gBACN,IAAI,qBAAY,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC7E,EAAE;aACF,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AAZD,wBAYC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { IScope } from "../types";
|
|
2
|
-
import { MacroFunction } from "./Function";
|
|
3
|
-
export declare class StoreFactory extends MacroFunction {
|
|
4
|
-
constructor(scope: IScope);
|
|
5
|
-
}
|
|
6
|
-
export declare class TempFactory extends MacroFunction {
|
|
7
|
-
constructor(scope: IScope);
|
|
8
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TempFactory = exports.StoreFactory = void 0;
|
|
4
|
-
const values_1 = require("../values");
|
|
5
|
-
const Function_1 = require("./Function");
|
|
6
|
-
class StoreFactory extends Function_1.MacroFunction {
|
|
7
|
-
constructor(scope) {
|
|
8
|
-
super(scope, (value) => {
|
|
9
|
-
if (value instanceof values_1.LiteralValue && typeof value.data === "string")
|
|
10
|
-
return [new values_1.StoreValue(scope, value.data), []];
|
|
11
|
-
throw new Error("Cannot create store value with name that is not a literal string");
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.StoreFactory = StoreFactory;
|
|
16
|
-
class TempFactory extends Function_1.MacroFunction {
|
|
17
|
-
constructor(scope) {
|
|
18
|
-
super(scope, () => [new values_1.TempValue(scope), []]);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.TempFactory = TempFactory;
|
|
22
|
-
//# sourceMappingURL=TypeFactory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TypeFactory.js","sourceRoot":"","sources":["../../src/macros/TypeFactory.ts"],"names":[],"mappings":";;;AACA,sCAAgE;AAChE,yCAA2C;AAE3C,MAAa,YAAa,SAAQ,wBAAa;IAC9C,YAAY,KAAa;QACxB,KAAK,CAAC,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE;YAC9B,IAAI,KAAK,YAAY,qBAAY,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAClE,OAAO,CAAC,IAAI,mBAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;IACJ,CAAC;CACD;AARD,oCAQC;AAED,MAAa,WAAY,SAAQ,wBAAa;IAC7C,YAAY,KAAa;QACxB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,kBAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;CACD;AAJD,kCAIC"}
|
package/build/macros/index.d.ts
DELETED
package/build/macros/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./Function"), exports);
|
|
14
|
-
__exportStar(require("./Blocks"), exports);
|
|
15
|
-
__exportStar(require("./Math"), exports);
|
|
16
|
-
__exportStar(require("./TypeFactory"), exports);
|
|
17
|
-
__exportStar(require("./Other"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/macros/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA0B;AAC1B,2CAAwB;AACxB,yCAAsB;AACtB,gDAA6B;AAC7B,0CAAuB"}
|
package/build/operators.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.operators = exports.singleOperators = exports.updateOperators = exports.unaryOperators = exports.leftRightOperators = exports.assignmentOperators = exports.bitwiseAssignmentOperators = exports.logicalAssignmentOperators = exports.arithmeticAssignmentOperators = exports.logicalOperators = exports.binaryOperators = exports.bitwiseBinaryOperators = exports.comparisonBinaryOperators = exports.arithmeticBinaryOperators = void 0;
|
|
4
|
-
exports.arithmeticBinaryOperators = ["*", "**", "+", "-", "/", "%"];
|
|
5
|
-
exports.comparisonBinaryOperators = ["!=", "!==", "<", "<=", "==", "===", ">", ">="];
|
|
6
|
-
exports.bitwiseBinaryOperators = ["&", "<<", ">>", ">>>", "^", "|"];
|
|
7
|
-
exports.binaryOperators = [
|
|
8
|
-
...exports.arithmeticBinaryOperators,
|
|
9
|
-
...exports.comparisonBinaryOperators,
|
|
10
|
-
...exports.bitwiseBinaryOperators,
|
|
11
|
-
"instanceof",
|
|
12
|
-
"in",
|
|
13
|
-
];
|
|
14
|
-
exports.logicalOperators = ["&&", "??", "||"];
|
|
15
|
-
exports.arithmeticAssignmentOperators = ["%=", "&=", "*=", "**=", "+=", "-=", "/="];
|
|
16
|
-
exports.logicalAssignmentOperators = ["&&=", "||="];
|
|
17
|
-
exports.bitwiseAssignmentOperators = ["<<=", ">>=", ">>>=", "^=", "|="];
|
|
18
|
-
exports.assignmentOperators = [
|
|
19
|
-
...exports.arithmeticAssignmentOperators,
|
|
20
|
-
...exports.logicalAssignmentOperators,
|
|
21
|
-
...exports.bitwiseAssignmentOperators,
|
|
22
|
-
"=",
|
|
23
|
-
];
|
|
24
|
-
exports.leftRightOperators = [
|
|
25
|
-
...exports.binaryOperators,
|
|
26
|
-
...exports.logicalOperators,
|
|
27
|
-
...exports.assignmentOperators
|
|
28
|
-
];
|
|
29
|
-
exports.unaryOperators = ["!", "u+", "u-", "delete", "typeof", "void", "~"];
|
|
30
|
-
exports.updateOperators = ["++", "--"];
|
|
31
|
-
exports.singleOperators = [
|
|
32
|
-
...exports.unaryOperators,
|
|
33
|
-
...exports.updateOperators,
|
|
34
|
-
];
|
|
35
|
-
exports.operators = [
|
|
36
|
-
...exports.leftRightOperators,
|
|
37
|
-
...exports.singleOperators
|
|
38
|
-
];
|
|
39
|
-
//# sourceMappingURL=operators.js.map
|
package/build/operators.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../src/operators.ts"],"names":[],"mappings":";;;AAAa,QAAA,yBAAyB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AACrE,QAAA,yBAAyB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAU,CAAC;AACtF,QAAA,sBAAsB,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AACrE,QAAA,eAAe,GAAG;IAC9B,GAAG,iCAAyB;IAC5B,GAAG,iCAAyB;IAC5B,GAAG,8BAAsB;IACzB,YAAY;IACZ,IAAI;CACK,CAAC;AAGE,QAAA,gBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAG/C,QAAA,6BAA6B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AACrF,QAAA,0BAA0B,GAAG,CAAC,KAAK,EAAE,KAAK,CAAU,CAAA;AACpD,QAAA,0BAA0B,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AACzE,QAAA,mBAAmB,GAAG;IAClC,GAAG,qCAA6B;IAChC,GAAG,kCAA0B;IAC7B,GAAG,kCAA0B;IAC7B,GAAG;CACM,CAAC;AAGE,QAAA,kBAAkB,GAAG;IAC9B,GAAG,uBAAe;IACrB,GAAG,wBAAgB;IACnB,GAAG,2BAAmB;CACb,CAAA;AAIG,QAAA,cAAc,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAU,CAAC;AAG7E,QAAA,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC;AAGxC,QAAA,eAAe,GAAG;IAC3B,GAAG,sBAAc;IACpB,GAAG,uBAAe;CACT,CAAA;AAIG,QAAA,SAAS,GAAG;IACxB,GAAG,0BAAkB;IACrB,GAAG,uBAAe;CACT,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FunctionScope = void 0;
|
|
4
|
-
const _1 = require(".");
|
|
5
|
-
class FunctionScope extends _1.Scope {
|
|
6
|
-
createScope() {
|
|
7
|
-
const scope = super.createScope();
|
|
8
|
-
scope.fnScope = this;
|
|
9
|
-
return scope;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.FunctionScope = FunctionScope;
|
|
13
|
-
//# sourceMappingURL=FunctionScope.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FunctionScope.js","sourceRoot":"","sources":["../../src/scopes/FunctionScope.ts"],"names":[],"mappings":";;;AACA,wBAA0B;AAE1B,MAAa,aAAc,SAAQ,QAAK;IACpC,WAAW;QACP,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QACjC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAA;QACpB,OAAO,KAAK,CAAA;IAChB,CAAC;CACJ;AAND,sCAMC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LoopScope = void 0;
|
|
4
|
-
const _1 = require(".");
|
|
5
|
-
class LoopScope extends _1.Scope {
|
|
6
|
-
createScope() {
|
|
7
|
-
const scope = super.createScope();
|
|
8
|
-
scope.loopScope = this;
|
|
9
|
-
return scope;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.LoopScope = LoopScope;
|
|
13
|
-
//# sourceMappingURL=LoopScope.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LoopScope.js","sourceRoot":"","sources":["../../src/scopes/LoopScope.ts"],"names":[],"mappings":";;;AACA,wBAA0B;AAE1B,MAAa,SAAU,SAAQ,QAAK;IAChC,WAAW;QACP,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;QACjC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAA;QACtB,OAAO,KAAK,CAAA;IAChB,CAAC;CACJ;AAND,8BAMC"}
|
package/build/scopes/Scope.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { AddressResolver } from "../instructions";
|
|
2
|
-
import { IFunctionValue, IInstruction, IScope, IValue } from "../types";
|
|
3
|
-
export declare class Scope implements IScope {
|
|
4
|
-
fnScope: IScope;
|
|
5
|
-
loopScope: IScope;
|
|
6
|
-
private _fnEnded;
|
|
7
|
-
private _loopEnded;
|
|
8
|
-
parent: IScope;
|
|
9
|
-
name: string;
|
|
10
|
-
data: {
|
|
11
|
-
[k: string]: IValue;
|
|
12
|
-
};
|
|
13
|
-
stacked: boolean;
|
|
14
|
-
ntemp: number;
|
|
15
|
-
inst: IInstruction[];
|
|
16
|
-
break: AddressResolver;
|
|
17
|
-
continue: AddressResolver;
|
|
18
|
-
function: IFunctionValue;
|
|
19
|
-
get fnEnded(): boolean;
|
|
20
|
-
set fnEnded(value: boolean);
|
|
21
|
-
get loopEnded(): boolean;
|
|
22
|
-
set loopEnded(value: boolean);
|
|
23
|
-
get ended(): boolean;
|
|
24
|
-
constructor(values: {
|
|
25
|
-
[k: string]: IValue;
|
|
26
|
-
}, parent?: IScope, stacked?: boolean, ntemp?: number, name?: string, inst?: any[]);
|
|
27
|
-
copy(): IScope;
|
|
28
|
-
createScope(): IScope;
|
|
29
|
-
createLoop(): IScope;
|
|
30
|
-
createFunction(name: string, stacked?: boolean): IScope;
|
|
31
|
-
has(name: string): boolean;
|
|
32
|
-
get(name: string): IValue;
|
|
33
|
-
set(name: string, value: IValue): IValue;
|
|
34
|
-
hardSet(name: string, value: IValue): IValue;
|
|
35
|
-
make(name: string, storeName: string): IValue;
|
|
36
|
-
}
|
package/build/scopes/Scope.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Scope = void 0;
|
|
4
|
-
const values_1 = require("../values");
|
|
5
|
-
const _1 = require(".");
|
|
6
|
-
class Scope {
|
|
7
|
-
constructor(values, parent = null, stacked = false, ntemp = 0, name = "", inst = []) {
|
|
8
|
-
this._fnEnded = false;
|
|
9
|
-
this._loopEnded = false;
|
|
10
|
-
this.stacked = false;
|
|
11
|
-
this.ntemp = 0;
|
|
12
|
-
this.data = values;
|
|
13
|
-
this.parent = parent;
|
|
14
|
-
this.stacked = stacked;
|
|
15
|
-
this.ntemp = ntemp;
|
|
16
|
-
this.name = name;
|
|
17
|
-
this.inst = inst;
|
|
18
|
-
}
|
|
19
|
-
get fnEnded() {
|
|
20
|
-
var _a, _b;
|
|
21
|
-
return (_b = (_a = this.fnScope) === null || _a === void 0 ? void 0 : _a.fnEnded) !== null && _b !== void 0 ? _b : this._fnEnded;
|
|
22
|
-
}
|
|
23
|
-
set fnEnded(value) {
|
|
24
|
-
if (this.fnScope)
|
|
25
|
-
this.fnScope.fnEnded = value;
|
|
26
|
-
else
|
|
27
|
-
this._fnEnded = value;
|
|
28
|
-
}
|
|
29
|
-
get loopEnded() {
|
|
30
|
-
var _a, _b;
|
|
31
|
-
return (_b = (_a = this.loopScope) === null || _a === void 0 ? void 0 : _a.loopEnded) !== null && _b !== void 0 ? _b : this._loopEnded;
|
|
32
|
-
}
|
|
33
|
-
set loopEnded(value) {
|
|
34
|
-
if (this.loopScope)
|
|
35
|
-
this.loopScope.loopEnded = value;
|
|
36
|
-
else
|
|
37
|
-
this._loopEnded = value;
|
|
38
|
-
}
|
|
39
|
-
get ended() {
|
|
40
|
-
console.log(this);
|
|
41
|
-
return this.fnEnded || this.loopEnded;
|
|
42
|
-
}
|
|
43
|
-
copy() {
|
|
44
|
-
const scope = new Scope(Object.assign({}, this.data), this.parent, this.stacked, this.ntemp, this.name, this.inst);
|
|
45
|
-
scope.break = this.break;
|
|
46
|
-
scope.continue = this.continue;
|
|
47
|
-
scope.function = this.function;
|
|
48
|
-
scope.fnScope = this.fnScope;
|
|
49
|
-
scope.loopScope = this.loopScope;
|
|
50
|
-
return scope;
|
|
51
|
-
}
|
|
52
|
-
createScope() {
|
|
53
|
-
const scope = this.copy();
|
|
54
|
-
scope.data = {};
|
|
55
|
-
scope.parent = this;
|
|
56
|
-
return scope;
|
|
57
|
-
}
|
|
58
|
-
createLoop() {
|
|
59
|
-
return new _1.LoopScope({}, this, this.stacked, this.ntemp, this.name, this.inst);
|
|
60
|
-
}
|
|
61
|
-
createFunction(name, stacked) {
|
|
62
|
-
return new _1.FunctionScope({}, this, stacked !== null && stacked !== void 0 ? stacked : this.stacked, 0, name, this.inst);
|
|
63
|
-
}
|
|
64
|
-
has(name) {
|
|
65
|
-
if (name in this.data)
|
|
66
|
-
return true;
|
|
67
|
-
if (this.parent)
|
|
68
|
-
return this.parent.has(name);
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
get(name) {
|
|
72
|
-
const value = this.data[name];
|
|
73
|
-
if (value)
|
|
74
|
-
return value;
|
|
75
|
-
if (this.parent)
|
|
76
|
-
return this.parent.get(name);
|
|
77
|
-
throw Error(`${name} is not declared.`);
|
|
78
|
-
}
|
|
79
|
-
set(name, value) {
|
|
80
|
-
if (name in this.data)
|
|
81
|
-
throw Error(`${name} is already declared.`);
|
|
82
|
-
return this.hardSet(name, value);
|
|
83
|
-
}
|
|
84
|
-
hardSet(name, value) {
|
|
85
|
-
this.data[name] = value;
|
|
86
|
-
return value;
|
|
87
|
-
}
|
|
88
|
-
make(name, storeName) {
|
|
89
|
-
return this.set(name, this.stacked ? null : new values_1.StoreValue(this, storeName));
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
exports.Scope = Scope;
|
|
93
|
-
//# sourceMappingURL=Scope.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Scope.js","sourceRoot":"","sources":["../../src/scopes/Scope.ts"],"names":[],"mappings":"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"}
|
package/build/scopes/index.d.ts
DELETED