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
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Identifier.js","sourceRoot":"","sources":["../../src/handlers/Identifier.ts"],"names":[],"mappings":";;;AAGO,MAAM,UAAU,GAAc,CAAC,CAAC,EAAE,KAAK,EAAE,IAAmB,EAAE,EAAE;IACnE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AACtC,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IfStatement = void 0;
|
|
4
|
-
const instructions_1 = require("../instructions");
|
|
5
|
-
const instructions_2 = require("../instructions");
|
|
6
|
-
const values_1 = require("../values");
|
|
7
|
-
const IfStatement = (c, scope, node) => {
|
|
8
|
-
const inst = [];
|
|
9
|
-
const [test, testInst] = c.handleEval(scope, node.test);
|
|
10
|
-
if (test instanceof values_1.LiteralValue) {
|
|
11
|
-
if (test.data)
|
|
12
|
-
inst.push(...c.handle(scope, node.consequent)[1]);
|
|
13
|
-
else if (node.alternate)
|
|
14
|
-
inst.push(...c.handle(scope, node.alternate)[1]);
|
|
15
|
-
return [null, inst];
|
|
16
|
-
}
|
|
17
|
-
const endIfAddr = new values_1.LiteralValue(scope, null);
|
|
18
|
-
inst.push(...testInst, new instructions_1.JumpInstruction(endIfAddr, instructions_2.EJumpKind.Equal, test, new values_1.LiteralValue(scope, 0)), ...c.handle(scope, node.consequent)[1], new instructions_1.AddressResolver(endIfAddr));
|
|
19
|
-
const endElseAddr = new values_1.LiteralValue(scope, null);
|
|
20
|
-
if (node.alternate)
|
|
21
|
-
inst.push(new instructions_1.JumpInstruction(endElseAddr, instructions_2.EJumpKind.Always), new instructions_1.AddressResolver(endIfAddr), ...c.handle(scope, node.alternate)[1], new instructions_1.AddressResolver(endElseAddr));
|
|
22
|
-
return [null, inst];
|
|
23
|
-
};
|
|
24
|
-
exports.IfStatement = IfStatement;
|
|
25
|
-
//# sourceMappingURL=IfStatement.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IfStatement.js","sourceRoot":"","sources":["../../src/handlers/IfStatement.ts"],"names":[],"mappings":";;;AAAA,kDAAmE;AACnE,kDAA4C;AAE5C,sCAAyC;AAElC,MAAM,WAAW,GAAa,CAAC,CAAC,EAAE,KAAK,EAAE,IAAoB,EAAE,EAAE;IACvE,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAExD,IAAI,IAAI,YAAY,qBAAY,EAAE;QACjC,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5D,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACpB;IAED,MAAM,SAAS,GAAG,IAAI,qBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI,CACR,GAAG,QAAQ,EACX,IAAI,8BAAe,CAAC,SAAS,EAAE,wBAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,qBAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EACjF,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EACtC,IAAI,8BAAe,CAAC,SAAS,CAAC,CAC9B,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,qBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,SAAS;QACjB,IAAI,CAAC,IAAI,CACR,IAAI,8BAAe,CAAC,WAAW,EAAE,wBAAS,CAAC,MAAM,CAAC,EAClD,IAAI,8BAAe,CAAC,SAAS,CAAC,EAC9B,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACrC,IAAI,8BAAe,CAAC,WAAW,CAAC,CAChC,CAAC;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC;AA1BW,QAAA,WAAW,eA0BtB"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Literal = void 0;
|
|
4
|
-
const values_1 = require("../values");
|
|
5
|
-
const Literal = (c, scope, node) => {
|
|
6
|
-
const { value } = node;
|
|
7
|
-
if (value === null || typeof value === "string" || typeof value === "number") {
|
|
8
|
-
return [new values_1.LiteralValue(scope, value), []];
|
|
9
|
-
}
|
|
10
|
-
if (typeof value === "boolean") {
|
|
11
|
-
return [new values_1.LiteralValue(scope, +value), []];
|
|
12
|
-
}
|
|
13
|
-
throw Error("Cannot create literal " + typeof value);
|
|
14
|
-
};
|
|
15
|
-
exports.Literal = Literal;
|
|
16
|
-
//# sourceMappingURL=Literal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Literal.js","sourceRoot":"","sources":["../../src/handlers/Literal.ts"],"names":[],"mappings":";;;AACA,sCAAyC;AAElC,MAAM,OAAO,GAAa,CAAC,CAAC,EAAE,KAAK,EAAE,IAAgB,EAAE,EAAE;IAC/D,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7E,OAAO,CAAC,IAAI,qBAAY,CAAC,KAAK,EAAE,KAAiB,CAAC,EAAE,EAAE,CAAC,CAAC;KACxD;IACD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;QAC/B,OAAO,CAAC,IAAI,qBAAY,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;KAC7C;IACD,MAAM,KAAK,CAAC,wBAAwB,GAAG,OAAO,KAAK,CAAC,CAAC;AACtD,CAAC,CAAC;AATW,QAAA,OAAO,WASlB"}
|
package/build/handlers/Object.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MemberExpression = exports.ArrayExpression = exports.ObjectExpression = void 0;
|
|
4
|
-
const values_1 = require("../values");
|
|
5
|
-
const ObjectExpression = (c, scope, node) => {
|
|
6
|
-
const data = {};
|
|
7
|
-
const inst = [];
|
|
8
|
-
for (const prop of node.properties) {
|
|
9
|
-
if (prop.computed)
|
|
10
|
-
throw new Error("Cannot handle computed property.");
|
|
11
|
-
const { key, value } = prop;
|
|
12
|
-
let index;
|
|
13
|
-
if (key.type === "Identifier")
|
|
14
|
-
index = key.name;
|
|
15
|
-
else if (key.type === "Literal")
|
|
16
|
-
index = "" + key.value;
|
|
17
|
-
const [member, memberInst] = c.handleEval(scope, value);
|
|
18
|
-
data[index] = member;
|
|
19
|
-
inst.push(...memberInst);
|
|
20
|
-
}
|
|
21
|
-
return [new values_1.ObjectValue(scope, data), inst];
|
|
22
|
-
};
|
|
23
|
-
exports.ObjectExpression = ObjectExpression;
|
|
24
|
-
const ArrayExpression = (c, scope, node) => {
|
|
25
|
-
const data = {};
|
|
26
|
-
const inst = [];
|
|
27
|
-
node.elements.forEach((element, i) => {
|
|
28
|
-
const [value, valueInst] = c.handleEval(scope, element);
|
|
29
|
-
data[i] = value;
|
|
30
|
-
inst.push(valueInst);
|
|
31
|
-
});
|
|
32
|
-
return [new values_1.ObjectValue(scope, data), inst];
|
|
33
|
-
};
|
|
34
|
-
exports.ArrayExpression = ArrayExpression;
|
|
35
|
-
const MemberExpression = (c, scope, node) => {
|
|
36
|
-
const [obj, objInst] = c.handleEval(scope, node.object);
|
|
37
|
-
const [prop, propInst] = node.computed
|
|
38
|
-
? c.handleEval(scope, node.property)
|
|
39
|
-
: [new values_1.LiteralValue(scope, node.property.name), []];
|
|
40
|
-
const [got, gotInst] = obj.get(scope, prop);
|
|
41
|
-
return [got, [...objInst, ...propInst, ...gotInst]];
|
|
42
|
-
};
|
|
43
|
-
exports.MemberExpression = MemberExpression;
|
|
44
|
-
//# sourceMappingURL=Object.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Object.js","sourceRoot":"","sources":["../../src/handlers/Object.ts"],"names":[],"mappings":";;;AAEA,sCAAsD;AAE/C,MAAM,gBAAgB,GAAa,CAAC,CAAC,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE;IACjF,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAA2B,EAAE;QACpD,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACvE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC5B,IAAI,KAAa,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;YAAE,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC;aAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;YAAE,KAAK,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QACxD,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;KACzB;IACD,OAAO,CAAC,IAAI,oBAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AAdW,QAAA,gBAAgB,oBAc3B;AAEK,MAAM,eAAe,GAAa,CAAC,CAAC,EAAE,KAAK,EAAE,IAAwB,EAAE,EAAE;IAC/E,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;QACpC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,oBAAW,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AATW,QAAA,eAAe,mBAS1B;AAEK,MAAM,gBAAgB,GAAa,CAAC,CAAC,EAAE,KAAK,EAAE,IAAyB,EAAE,EAAE;IACjF,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAExD,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ;QACrC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,CAAC,IAAI,qBAAY,CAAC,KAAK,EAAG,IAAI,CAAC,QAA0B,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAExE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AATW,QAAA,gBAAgB,oBAS3B"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UpdateExpression = exports.UnaryExpression = exports.AssignmentExpression = exports.LogicalExpression = exports.BinaryExpression = exports.LRExpression = void 0;
|
|
4
|
-
const LRExpression = (c, scope, node) => {
|
|
5
|
-
const [left, leftInst] = c.handleEval(scope, node.left);
|
|
6
|
-
const [right, rightInst] = c.handleEval(scope, node.right);
|
|
7
|
-
const [op, opInst] = left[node.operator](scope, right);
|
|
8
|
-
return [op, [...leftInst, ...rightInst, ...opInst]];
|
|
9
|
-
};
|
|
10
|
-
exports.LRExpression = LRExpression;
|
|
11
|
-
exports.BinaryExpression = exports.LRExpression;
|
|
12
|
-
exports.LogicalExpression = exports.LRExpression;
|
|
13
|
-
const AssignmentExpression = (c, scope, node) => {
|
|
14
|
-
const [left, leftInst] = c.handle(scope, node.left);
|
|
15
|
-
const [right, rightInst] = c.handleEval(scope, node.right);
|
|
16
|
-
const [op, opInst] = left[node.operator](scope, right);
|
|
17
|
-
return [op, [...leftInst, ...rightInst, ...opInst]];
|
|
18
|
-
};
|
|
19
|
-
exports.AssignmentExpression = AssignmentExpression;
|
|
20
|
-
const UnaryExpression = (c, scope, { argument, operator }) => {
|
|
21
|
-
const [arg, argInst] = c.handleEval(scope, argument);
|
|
22
|
-
const [op, opInst] = arg[(operator.length === 1 ? "u" : "") + operator](scope);
|
|
23
|
-
return [op, [...argInst, ...opInst]];
|
|
24
|
-
};
|
|
25
|
-
exports.UnaryExpression = UnaryExpression;
|
|
26
|
-
const UpdateExpression = (c, scope, { argument, operator, prefix }) => {
|
|
27
|
-
const [arg, argInst] = c.handle(scope, argument);
|
|
28
|
-
const [op, opInst] = arg[operator](scope, prefix);
|
|
29
|
-
return [op, [...argInst, ...opInst]];
|
|
30
|
-
};
|
|
31
|
-
exports.UpdateExpression = UpdateExpression;
|
|
32
|
-
//# sourceMappingURL=OperationExpressions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OperationExpressions.js","sourceRoot":"","sources":["../../src/handlers/OperationExpressions.ts"],"names":[],"mappings":";;;AAUO,MAAM,YAAY,GAAa,CACrC,CAAC,EACD,KAAK,EACL,IAIC,EACA,EAAE;IACH,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAbW,QAAA,YAAY,gBAavB;AAEW,QAAA,gBAAgB,GAAa,oBAAY,CAAC;AAC1C,QAAA,iBAAiB,GAAa,oBAAY,CAAC;AACjD,MAAM,oBAAoB,GAAa,CAC7C,CAAC,EACD,KAAK,EACL,IAIC,EACA,EAAE;IACH,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAbW,QAAA,oBAAoB,wBAa/B;AAEK,MAAM,eAAe,GAAa,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAsB,EAAE,EAAE;IACjG,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/E,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B;AACK,MAAM,gBAAgB,GAAa,CACzC,CAAC,EACD,KAAK,EACL,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAuB,EAClD,EAAE;IACH,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC;AARW,QAAA,gBAAgB,oBAQ3B"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Program = void 0;
|
|
4
|
-
const Scope_1 = require("../Scope");
|
|
5
|
-
const Program = (c, scope, node) => {
|
|
6
|
-
return c.handleMany(scope !== null && scope !== void 0 ? scope : new Scope_1.Scope({}), node.body);
|
|
7
|
-
};
|
|
8
|
-
exports.Program = Program;
|
|
9
|
-
//# sourceMappingURL=Program.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Program.js","sourceRoot":"","sources":["../../src/handlers/Program.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AAG1B,MAAM,OAAO,GAAc,CAAC,CAAC,EAAE,KAAK,EAAE,IAAiB,EAAE,EAAE;IAC9D,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,aAAK,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC,CAAA;AAFY,QAAA,OAAO,WAEnB"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ReturnStatement = exports.ContinueStatement = exports.BreakStatement = exports.ExpressionStatement = void 0;
|
|
4
|
-
const instructions_1 = require("../instructions");
|
|
5
|
-
const values_1 = require("../values");
|
|
6
|
-
const ExpressionStatement = (c, scope, node) => {
|
|
7
|
-
return c.handle(scope, node.expression);
|
|
8
|
-
};
|
|
9
|
-
exports.ExpressionStatement = ExpressionStatement;
|
|
10
|
-
const BreakStatement = (_, scope) => {
|
|
11
|
-
const addr = new values_1.LiteralValue(scope, null);
|
|
12
|
-
scope.break.bind(addr);
|
|
13
|
-
return [null, [new instructions_1.BreakInstruction(addr)]];
|
|
14
|
-
};
|
|
15
|
-
exports.BreakStatement = BreakStatement;
|
|
16
|
-
const ContinueStatement = (_, scope) => {
|
|
17
|
-
const addr = new values_1.LiteralValue(scope, null);
|
|
18
|
-
scope.continue.bind(addr);
|
|
19
|
-
return [null, [new instructions_1.ContinueInstruction(addr)]];
|
|
20
|
-
};
|
|
21
|
-
exports.ContinueStatement = ContinueStatement;
|
|
22
|
-
const ReturnStatement = (c, scope, node) => {
|
|
23
|
-
const [arg, argInst] = node.argument ? c.handle(scope, node.argument) : [null, []];
|
|
24
|
-
const [ret, retInst] = scope.function.return(scope, arg);
|
|
25
|
-
return [ret, [...argInst, ...retInst]];
|
|
26
|
-
};
|
|
27
|
-
exports.ReturnStatement = ReturnStatement;
|
|
28
|
-
//# sourceMappingURL=Statements.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Statements.js","sourceRoot":"","sources":["../../src/handlers/Statements.ts"],"names":[],"mappings":";;;AAAA,kDAGyB;AAEzB,sCAAyC;AAElC,MAAM,mBAAmB,GAAa,CAAC,CAAC,EAAE,KAAK,EAAE,IAA4B,EAAE,EAAE;IACvF,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B;AAEK,MAAM,cAAc,GAAa,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;IACpD,MAAM,IAAI,GAAG,IAAI,qBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3C,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,+BAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEK,MAAM,iBAAiB,GAAa,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;IACvD,MAAM,IAAI,GAAG,IAAI,qBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3C,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,kCAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC;AAJW,QAAA,iBAAiB,qBAI5B;AAEK,MAAM,eAAe,GAAa,CAAC,CAAC,EAAE,KAAK,EAAE,IAAwB,EAAE,EAAE;IAC/E,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnF,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TemplateLiteral = void 0;
|
|
4
|
-
const instructions_1 = require("../instructions");
|
|
5
|
-
const TemplateLiteral = (c, scope, node) => {
|
|
6
|
-
const args = [];
|
|
7
|
-
const inst = [];
|
|
8
|
-
node.expressions.forEach((expression, i) => {
|
|
9
|
-
const [v, vi] = c.handleEval(scope, expression);
|
|
10
|
-
inst.push(...vi);
|
|
11
|
-
args.push(node.quasis[i].value.raw, v);
|
|
12
|
-
});
|
|
13
|
-
args.push(node.quasis.slice(-1)[0].value.raw);
|
|
14
|
-
inst.push(new instructions_1.ZeroSpaceInstruction(...args));
|
|
15
|
-
return [null, inst];
|
|
16
|
-
};
|
|
17
|
-
exports.TemplateLiteral = TemplateLiteral;
|
|
18
|
-
//# sourceMappingURL=TemplateExpression.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateExpression.js","sourceRoot":"","sources":["../../src/handlers/TemplateExpression.ts"],"names":[],"mappings":";;;AAAA,kDAAuD;AAIhD,MAAM,eAAe,GAAc,CAAC,CAAC,EAAE,KAAK,EAAE,IAAwB,EAAE,EAAE;IAC7E,MAAM,IAAI,GAAuB,EAAE,CAAA;IACnC,MAAM,IAAI,GAAoB,EAAE,CAAA;IAChC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,mCAAoB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;IAC5C,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AACvB,CAAC,CAAA;AAXY,QAAA,eAAe,mBAW3B"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VariableDeclarator = exports.VariableDeclaration = void 0;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
|
-
const VariableDeclaration = (c, scope, node) => {
|
|
6
|
-
return c.handleMany(scope, node.declarations, (scope, child) => exports.VariableDeclarator(c, scope, child, node.kind));
|
|
7
|
-
};
|
|
8
|
-
exports.VariableDeclaration = VariableDeclaration;
|
|
9
|
-
const VariableDeclarator = (c, scope, node, kind = "let") => {
|
|
10
|
-
let valinst = node.init ? c.handleEval(scope, node.init) : [null, []];
|
|
11
|
-
const { name } = node.id;
|
|
12
|
-
const [init] = valinst;
|
|
13
|
-
if (kind === "const" && !init)
|
|
14
|
-
throw Error("Cannot create constant with void value.");
|
|
15
|
-
if (kind === "const" && init.constant) {
|
|
16
|
-
scope.set(name, init);
|
|
17
|
-
return [init, []];
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
const value = scope.make(name, utils_1.nodeName(node));
|
|
21
|
-
if (init) {
|
|
22
|
-
if (init.macro)
|
|
23
|
-
throw new Error("Macro value must be constant.");
|
|
24
|
-
valinst[1].push(...value["="](scope, valinst[0])[1]);
|
|
25
|
-
}
|
|
26
|
-
if (kind === "const")
|
|
27
|
-
value.constant = true;
|
|
28
|
-
return valinst;
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
exports.VariableDeclarator = VariableDeclarator;
|
|
32
|
-
//# sourceMappingURL=VariableDeclaration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VariableDeclaration.js","sourceRoot":"","sources":["../../src/handlers/VariableDeclaration.ts"],"names":[],"mappings":";;;AACA,oCAAoC;AAE7B,MAAM,mBAAmB,GAAa,CAAC,CAAC,EAAE,KAAK,EAAE,IAA4B,EAAE,EAAE;IACvF,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAC9D,0BAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,KAA8B,EAAE,IAAI,CAAC,IAAI,CAAC,CACvE,CAAC;AACH,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,MAAM,kBAAkB,GAAa,CAC3C,CAAC,EACD,KAAK,EACL,IAA2B,EAC3B,OAAgC,KAAK,EACpC,EAAE;IACH,IAAI,OAAO,GAAuB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1F,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAmB,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IACvB,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI;QAAE,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACtF,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;QACtC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;KAClB;SAAM;QACN,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,IAAI,IAAI,EAAE;YACT,IAAI,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACrD;QACD,IAAI,IAAI,KAAK,OAAO;YAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC5C,OAAO,OAAO,CAAC;KACf;AACF,CAAC,CAAC;AAtBW,QAAA,kBAAkB,sBAsB7B"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WhileStatement = void 0;
|
|
4
|
-
const instructions_1 = require("../instructions");
|
|
5
|
-
const values_1 = require("../values");
|
|
6
|
-
const WhileStatement = (c, scope, node) => {
|
|
7
|
-
const lines = [];
|
|
8
|
-
const [test, testLines] = c.handleEval(scope, node.test);
|
|
9
|
-
const startLoopAddr = new values_1.LiteralValue(scope, null);
|
|
10
|
-
const endLoopAddr = new values_1.LiteralValue(scope, null);
|
|
11
|
-
const startLoopLine = new instructions_1.AddressResolver(startLoopAddr).bindContinue(scope);
|
|
12
|
-
const endLoopLine = new instructions_1.AddressResolver(endLoopAddr).bindBreak(scope);
|
|
13
|
-
if (test instanceof values_1.LiteralValue) {
|
|
14
|
-
if (test.data) {
|
|
15
|
-
lines.push(startLoopLine, ...c.handle(scope, node.body)[1], new instructions_1.JumpInstruction(startLoopAddr, instructions_1.EJumpKind.Always), endLoopLine);
|
|
16
|
-
}
|
|
17
|
-
return [null, lines];
|
|
18
|
-
}
|
|
19
|
-
lines.push(startLoopLine, ...testLines, new instructions_1.JumpInstruction(endLoopAddr, instructions_1.EJumpKind.Equal, test, new values_1.LiteralValue(scope, 0)), ...c.handle(scope, node.body)[1], new instructions_1.JumpInstruction(startLoopAddr, instructions_1.EJumpKind.Always), endLoopLine);
|
|
20
|
-
return [null, lines];
|
|
21
|
-
};
|
|
22
|
-
exports.WhileStatement = WhileStatement;
|
|
23
|
-
//# sourceMappingURL=WhileStatement.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WhileStatement.js","sourceRoot":"","sources":["../../src/handlers/WhileStatement.ts"],"names":[],"mappings":";;;AACA,kDAA8E;AAE9E,sCAAyC;AAGlC,MAAM,cAAc,GAAa,CAAC,CAAC,EAAE,KAAK,EAAE,IAAuB,EAAE,EAAE;IAC7E,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEzD,MAAM,aAAa,GAAG,IAAI,qBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,IAAI,qBAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,IAAI,8BAAe,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAC5E,MAAM,WAAW,GAAG,IAAI,8BAAe,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAErE,IAAI,IAAI,YAAY,qBAAY,EAAE;QACjC,IAAI,IAAI,CAAC,IAAI,EAAE;YACd,KAAK,CAAC,IAAI,CACT,aAAa,EACb,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAChC,IAAI,8BAAe,CAAC,aAAa,EAAE,wBAAS,CAAC,MAAM,CAAC,EACpD,WAAW,CACX,CAAC;SACF;QACD,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACrB;IAED,KAAK,CAAC,IAAI,CACT,aAAa,EACb,GAAG,SAAS,EACZ,IAAI,8BAAe,CAAC,WAAW,EAAE,wBAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,qBAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EACnF,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAChC,IAAI,8BAAe,CAAC,aAAa,EAAE,wBAAS,CAAC,MAAM,CAAC,EACpD,WAAW,CACX,CAAC;IACF,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACtB,CAAC,CAAC;AA9BW,QAAA,cAAc,kBA8BzB"}
|
package/build/handlers/index.js
DELETED
|
@@ -1,27 +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("./Program"), exports);
|
|
14
|
-
__exportStar(require("./VariableDeclaration"), exports);
|
|
15
|
-
__exportStar(require("./Literal"), exports);
|
|
16
|
-
__exportStar(require("./OperationExpressions"), exports);
|
|
17
|
-
__exportStar(require("./Identifier"), exports);
|
|
18
|
-
__exportStar(require("./Statements"), exports);
|
|
19
|
-
__exportStar(require("./IfStatement"), exports);
|
|
20
|
-
__exportStar(require("./WhileStatement"), exports);
|
|
21
|
-
__exportStar(require("./ForStatement"), exports);
|
|
22
|
-
__exportStar(require("./Function"), exports);
|
|
23
|
-
__exportStar(require("./CallExpression"), exports);
|
|
24
|
-
__exportStar(require("./Object"), exports);
|
|
25
|
-
__exportStar(require("./TemplateExpression"), exports);
|
|
26
|
-
__exportStar(require("./BlockStatement"), exports);
|
|
27
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAyB;AACzB,wDAAqC;AACrC,4CAAyB;AACzB,yDAAsC;AACtC,+CAA4B;AAC5B,+CAA4B;AAC5B,gDAA6B;AAC7B,mDAAgC;AAChC,iDAA8B;AAC9B,6CAA0B;AAC1B,mDAAgC;AAChC,2CAAwB;AACxB,uDAAoC;AACpC,mDAAgC"}
|
package/build/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const compile: (script: string) => string;
|
package/build/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.compile = void 0;
|
|
4
|
-
const Compiler_1 = require("./Compiler");
|
|
5
|
-
const compiler = new Compiler_1.Compiler();
|
|
6
|
-
const compile = (script) => compiler.compile(script);
|
|
7
|
-
exports.compile = compile;
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAAmC;AACnC,MAAM,QAAQ,GAAG,IAAI,mBAAQ,EAAE,CAAA;AACxB,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAAtD,QAAA,OAAO,WAA+C"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AddressResolver = void 0;
|
|
4
|
-
const _1 = require(".");
|
|
5
|
-
class AddressResolver extends _1.InstructionBase {
|
|
6
|
-
constructor(...bonds) {
|
|
7
|
-
super();
|
|
8
|
-
this.bonds = bonds;
|
|
9
|
-
}
|
|
10
|
-
get hidden() {
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
set hidden(value) {
|
|
14
|
-
}
|
|
15
|
-
resolve(i) {
|
|
16
|
-
for (const literal of this.bonds)
|
|
17
|
-
literal.data = i;
|
|
18
|
-
}
|
|
19
|
-
bind(bond) {
|
|
20
|
-
this.bonds.push(bond);
|
|
21
|
-
}
|
|
22
|
-
bindBreak(scope) {
|
|
23
|
-
scope.break = this;
|
|
24
|
-
return this;
|
|
25
|
-
}
|
|
26
|
-
bindContinue(scope) {
|
|
27
|
-
scope.continue = this;
|
|
28
|
-
return this;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.AddressResolver = AddressResolver;
|
|
32
|
-
//# sourceMappingURL=AddressResolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AddressResolver.js","sourceRoot":"","sources":["../../src/instructions/AddressResolver.ts"],"names":[],"mappings":";;;AAAA,wBAAoC;AAGpC,MAAa,eAAgB,SAAQ,kBAAe;IAOhD,YAAY,GAAG,KAAuB;QAClC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IATD,IAAW,MAAM;QACb,OAAO,IAAI,CAAA;IACf,CAAC;IACD,IAAW,MAAM,CAAC,KAAK;IACvB,CAAC;IAMD,OAAO,CAAC,CAAS;QACb,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAA;IACtD,CAAC;IACD,IAAI,CAAC,IAAoB;QACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IACD,SAAS,CAAC,KAAa;QACzB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAA;QACZ,OAAO,IAAI,CAAA;IAClB,CAAC;IACD,YAAY,CAAC,KAAa;QACnB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;QACrB,OAAO,IAAI,CAAA;IAClB,CAAC;CACD;AAzBD,0CAyBC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ReturnInstruction = exports.ContinueInstruction = exports.BreakInstruction = void 0;
|
|
4
|
-
const JumpInstruction_1 = require("./JumpInstruction");
|
|
5
|
-
class BreakInstruction extends JumpInstruction_1.JumpInstruction {
|
|
6
|
-
constructor(address) {
|
|
7
|
-
super(address, JumpInstruction_1.EJumpKind.Always);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.BreakInstruction = BreakInstruction;
|
|
11
|
-
class ContinueInstruction extends JumpInstruction_1.JumpInstruction {
|
|
12
|
-
constructor(address) {
|
|
13
|
-
super(address, JumpInstruction_1.EJumpKind.Always);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.ContinueInstruction = ContinueInstruction;
|
|
17
|
-
class ReturnInstruction extends JumpInstruction_1.JumpInstruction {
|
|
18
|
-
constructor(address) {
|
|
19
|
-
super(address, JumpInstruction_1.EJumpKind.Always);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.ReturnInstruction = ReturnInstruction;
|
|
23
|
-
//# sourceMappingURL=ControlInstructions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ControlInstructions.js","sourceRoot":"","sources":["../../src/instructions/ControlInstructions.ts"],"names":[],"mappings":";;;AACA,uDAA+D;AAE/D,MAAa,gBAAiB,SAAQ,iCAAe;IACjD,YAAY,OAAuB;QAC/B,KAAK,CAAC,OAAO,EAAE,2BAAS,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;CACJ;AAJD,4CAIC;AAED,MAAa,mBAAoB,SAAQ,iCAAe;IACpD,YAAY,OAAuB;QAC/B,KAAK,CAAC,OAAO,EAAE,2BAAS,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;CACJ;AAJD,kDAIC;AAED,MAAa,iBAAkB,SAAQ,iCAAe;IAClD,YAAY,OAAuB;QAC/B,KAAK,CAAC,OAAO,EAAE,2BAAS,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC;CACJ;AAJD,8CAIC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EndInstruction = void 0;
|
|
4
|
-
const InstructionBase_1 = require("./InstructionBase");
|
|
5
|
-
class EndInstruction extends InstructionBase_1.InstructionBase {
|
|
6
|
-
constructor() {
|
|
7
|
-
super("end");
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.EndInstruction = EndInstruction;
|
|
11
|
-
//# sourceMappingURL=EndInstruction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EndInstruction.js","sourceRoot":"","sources":["../../src/instructions/EndInstruction.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AAEpD,MAAa,cAAe,SAAQ,iCAAe;IAC/C;QACI,KAAK,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC;CACJ;AAJD,wCAIC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InstructionBase = void 0;
|
|
4
|
-
class InstructionBase {
|
|
5
|
-
constructor(...args) {
|
|
6
|
-
this._hidden = false;
|
|
7
|
-
this.args = args;
|
|
8
|
-
}
|
|
9
|
-
get hidden() {
|
|
10
|
-
return this._hidden;
|
|
11
|
-
}
|
|
12
|
-
set hidden(value) {
|
|
13
|
-
this._hidden = value;
|
|
14
|
-
}
|
|
15
|
-
resolve(i) { }
|
|
16
|
-
toString() {
|
|
17
|
-
return this.args.filter(arg => arg).join(" ");
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
exports.InstructionBase = InstructionBase;
|
|
21
|
-
//# sourceMappingURL=InstructionBase.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InstructionBase.js","sourceRoot":"","sources":["../../src/instructions/InstructionBase.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IASxB,YAAY,GAAG,IAAyB;QARnC,YAAO,GAAG,KAAK,CAAC;QASjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;IATD,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IACD,IAAW,MAAM,CAAC,KAAK;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;IAKJ,OAAO,CAAC,CAAS,IAAG,CAAC;IAClB,QAAQ;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjD,CAAC;CACJ;AAhBD,0CAgBC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.JumpInstruction = exports.EJumpKind = void 0;
|
|
4
|
-
const InstructionBase_1 = require("./InstructionBase");
|
|
5
|
-
var EJumpKind;
|
|
6
|
-
(function (EJumpKind) {
|
|
7
|
-
EJumpKind["Equal"] = "equal";
|
|
8
|
-
EJumpKind["NotEqual"] = "notEqual";
|
|
9
|
-
EJumpKind["LessThan"] = "lessThan";
|
|
10
|
-
EJumpKind["LessThanEq"] = "lessThanEq";
|
|
11
|
-
EJumpKind["GreaterThan"] = "greaterThan";
|
|
12
|
-
EJumpKind["GreaterThanEq"] = "greaterThanEq";
|
|
13
|
-
EJumpKind["StrictEqual"] = "strictEqual";
|
|
14
|
-
EJumpKind["Always"] = "always";
|
|
15
|
-
})(EJumpKind = exports.EJumpKind || (exports.EJumpKind = {}));
|
|
16
|
-
class JumpInstruction extends InstructionBase_1.InstructionBase {
|
|
17
|
-
constructor(address, kind, left, right) {
|
|
18
|
-
super("jump", address, kind, left, right);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.JumpInstruction = JumpInstruction;
|
|
22
|
-
//# sourceMappingURL=JumpInstruction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JumpInstruction.js","sourceRoot":"","sources":["../../src/instructions/JumpInstruction.ts"],"names":[],"mappings":";;;AAEA,uDAAmD;AAEnD,IAAY,SASX;AATD,WAAY,SAAS;IACjB,4BAAe,CAAA;IACf,kCAAqB,CAAA;IACrB,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;IACzB,wCAA2B,CAAA;IAC3B,4CAA+B,CAAA;IAC/B,wCAA2B,CAAA;IAC3B,8BAAiB,CAAA;AACrB,CAAC,EATW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QASpB;AAED,MAAa,eAAgB,SAAQ,iCAAe;IAChD,YAAY,OAAuB,EAAE,IAAe,EAAE,IAAa,EAAE,KAAa;QAC9E,KAAK,CAAC,MAAM,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IAC5C,CAAC;CACJ;AAJD,0CAIC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OperationInstruction = void 0;
|
|
4
|
-
const _1 = require(".");
|
|
5
|
-
class OperationInstruction extends _1.InstructionBase {
|
|
6
|
-
constructor(kind, temp, left, right) {
|
|
7
|
-
super("op", kind, temp, left, right);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.OperationInstruction = OperationInstruction;
|
|
11
|
-
//# sourceMappingURL=OperationInstruction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OperationInstruction.js","sourceRoot":"","sources":["../../src/instructions/OperationInstruction.ts"],"names":[],"mappings":";;;AAAA,wBAAoC;AAGpC,MAAa,oBAAqB,SAAQ,kBAAe;IACrD,YAAY,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,KAAc;QAChE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;CACJ;AAJD,oDAIC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SetCounterInstruction = void 0;
|
|
4
|
-
const _1 = require(".");
|
|
5
|
-
class SetCounterInstruction extends _1.InstructionBase {
|
|
6
|
-
constructor(value) {
|
|
7
|
-
super("set", "@counter", value);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.SetCounterInstruction = SetCounterInstruction;
|
|
11
|
-
//# sourceMappingURL=SetCounterInstruction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SetCounterInstruction.js","sourceRoot":"","sources":["../../src/instructions/SetCounterInstruction.ts"],"names":[],"mappings":";;;AAAA,wBAAoC;AAGpC,MAAa,qBAAsB,SAAQ,kBAAe;IACzD,YAAY,KAAa;QACxB,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;CACD;AAJD,sDAIC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SetInstruction = void 0;
|
|
4
|
-
const _1 = require(".");
|
|
5
|
-
class SetInstruction extends _1.InstructionBase {
|
|
6
|
-
constructor(store, value) {
|
|
7
|
-
super("set", store, value);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.SetInstruction = SetInstruction;
|
|
11
|
-
//# sourceMappingURL=SetInstruction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SetInstruction.js","sourceRoot":"","sources":["../../src/instructions/SetInstruction.ts"],"names":[],"mappings":";;;AAAA,wBAAoC;AAGpC,MAAa,cAAe,SAAQ,kBAAe;IAC/C,YAAY,KAAa,EAAE,KAAa;QACpC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;CACJ;AAJD,wCAIC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ZeroSpaceInstruction = void 0;
|
|
4
|
-
const InstructionBase_1 = require("./InstructionBase");
|
|
5
|
-
class ZeroSpaceInstruction extends InstructionBase_1.InstructionBase {
|
|
6
|
-
toString() {
|
|
7
|
-
return this.args.join("");
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.ZeroSpaceInstruction = ZeroSpaceInstruction;
|
|
11
|
-
//# sourceMappingURL=ZeroSpaceInstruction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ZeroSpaceInstruction.js","sourceRoot":"","sources":["../../src/instructions/ZeroSpaceInstruction.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AAEpD,MAAa,oBAAqB,SAAQ,iCAAe;IACrD,QAAQ;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;CACJ;AAJD,oDAIC"}
|
|
@@ -1,22 +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("./InstructionBase"), exports);
|
|
14
|
-
__exportStar(require("./OperationInstruction"), exports);
|
|
15
|
-
__exportStar(require("./SetInstruction"), exports);
|
|
16
|
-
__exportStar(require("./EndInstruction"), exports);
|
|
17
|
-
__exportStar(require("./AddressResolver"), exports);
|
|
18
|
-
__exportStar(require("./JumpInstruction"), exports);
|
|
19
|
-
__exportStar(require("./SetCounterInstruction"), exports);
|
|
20
|
-
__exportStar(require("./ZeroSpaceInstruction"), exports);
|
|
21
|
-
__exportStar(require("./ControlInstructions"), exports);
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/instructions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiC;AACjC,yDAAsC;AACtC,mDAAgC;AAChC,mDAAgC;AAChC,oDAAiC;AACjC,oDAAiC;AACjC,0DAAuC;AACvC,yDAAsC;AACtC,wDAAqC"}
|