mlogjs 0.2.0 → 0.2.1

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.
Files changed (202) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +68 -18
  3. package/build/Compiler.d.ts +18 -18
  4. package/build/Compiler.js +99 -119
  5. package/build/Compiler.js.map +1 -1
  6. package/build/Scope.d.ts +26 -26
  7. package/build/Scope.js +60 -60
  8. package/build/Scope.js.map +1 -1
  9. package/build/bin.d.ts +2 -2
  10. package/build/bin.js +60 -41
  11. package/build/bin.js.map +1 -1
  12. package/build/handlers/BlockStatement.d.ts +2 -2
  13. package/build/handlers/BlockStatement.js +13 -13
  14. package/build/handlers/CallExpression.d.ts +3 -3
  15. package/build/handlers/CallExpression.js +19 -19
  16. package/build/handlers/ForStatement.d.ts +2 -2
  17. package/build/handlers/ForStatement.js +31 -31
  18. package/build/handlers/Function.d.ts +4 -4
  19. package/build/handlers/Function.js +35 -35
  20. package/build/handlers/Identifier.d.ts +2 -2
  21. package/build/handlers/Identifier.js +7 -7
  22. package/build/handlers/IfStatement.d.ts +2 -2
  23. package/build/handlers/IfStatement.js +24 -24
  24. package/build/handlers/Literal.d.ts +2 -2
  25. package/build/handlers/Literal.js +17 -17
  26. package/build/handlers/Object.d.ts +4 -4
  27. package/build/handlers/Object.js +43 -43
  28. package/build/handlers/OperationExpressions.d.ts +7 -7
  29. package/build/handlers/OperationExpressions.js +32 -32
  30. package/build/handlers/Program.d.ts +2 -2
  31. package/build/handlers/Program.js +8 -8
  32. package/build/handlers/Program.js.map +1 -1
  33. package/build/handlers/Statements.d.ts +5 -5
  34. package/build/handlers/Statements.js +29 -29
  35. package/build/handlers/TemplateExpression.d.ts +2 -2
  36. package/build/handlers/TemplateExpression.js +17 -17
  37. package/build/handlers/VariableDeclaration.d.ts +3 -3
  38. package/build/handlers/VariableDeclaration.js +55 -55
  39. package/build/handlers/WhileStatement.d.ts +2 -2
  40. package/build/handlers/WhileStatement.js +22 -22
  41. package/build/handlers/index.d.ts +14 -14
  42. package/build/handlers/index.js +30 -30
  43. package/build/index.d.ts +1 -1
  44. package/build/index.js +7 -7
  45. package/build/initScope.d.ts +2 -0
  46. package/build/initScope.js +40 -0
  47. package/build/initScope.js.map +1 -0
  48. package/build/instructions/AddressResolver.d.ts +12 -12
  49. package/build/instructions/AddressResolver.js +30 -30
  50. package/build/instructions/ControlInstructions.d.ts +11 -11
  51. package/build/instructions/ControlInstructions.js +22 -22
  52. package/build/instructions/EndInstruction.d.ts +4 -4
  53. package/build/instructions/EndInstruction.js +10 -10
  54. package/build/instructions/InstructionBase.d.ts +10 -10
  55. package/build/instructions/InstructionBase.js +20 -20
  56. package/build/instructions/JumpInstruction.d.ts +15 -15
  57. package/build/instructions/JumpInstruction.js +21 -21
  58. package/build/instructions/OperationInstruction.d.ts +5 -5
  59. package/build/instructions/OperationInstruction.js +10 -10
  60. package/build/instructions/SetCounterInstruction.d.ts +5 -5
  61. package/build/instructions/SetCounterInstruction.js +10 -10
  62. package/build/instructions/SetInstruction.d.ts +5 -5
  63. package/build/instructions/SetInstruction.js +10 -10
  64. package/build/instructions/ZeroSpaceInstruction.d.ts +4 -4
  65. package/build/instructions/ZeroSpaceInstruction.js +10 -10
  66. package/build/instructions/index.d.ts +9 -9
  67. package/build/instructions/index.js +25 -25
  68. package/build/macros/Building.d.ts +11 -11
  69. package/build/macros/Building.js +80 -80
  70. package/build/macros/Function.d.ts +12 -12
  71. package/build/macros/Function.js +19 -19
  72. package/build/macros/Math.d.ts +5 -5
  73. package/build/macros/Math.js +56 -56
  74. package/build/macros/Math.js.map +1 -1
  75. package/build/macros/Memory.d.ts +5 -5
  76. package/build/macros/Memory.js +60 -60
  77. package/build/macros/Namespace.d.ts +21 -21
  78. package/build/macros/Namespace.js +97 -97
  79. package/build/macros/Other.d.ts +5 -5
  80. package/build/macros/Other.js +19 -19
  81. package/build/macros/RawValue.d.ts +5 -5
  82. package/build/macros/RawValue.js +15 -15
  83. package/build/macros/commands/{control.d.ts → Control.d.ts} +5 -5
  84. package/build/macros/commands/{control.js → Control.js} +24 -24
  85. package/build/macros/commands/{control.js.map → Control.js.map} +0 -0
  86. package/build/macros/commands/Draw.d.ts +5 -5
  87. package/build/macros/commands/Draw.js +38 -38
  88. package/build/macros/commands/DrawFlush.d.ts +5 -5
  89. package/build/macros/commands/DrawFlush.js +16 -16
  90. package/build/macros/commands/GetLink.d.ts +5 -5
  91. package/build/macros/commands/GetLink.js +20 -20
  92. package/build/macros/commands/Lookup.d.ts +5 -5
  93. package/build/macros/commands/Lookup.js +23 -23
  94. package/build/macros/commands/Print.d.ts +5 -5
  95. package/build/macros/commands/Print.js +13 -13
  96. package/build/macros/commands/PrintFlush.d.ts +5 -5
  97. package/build/macros/commands/PrintFlush.js +16 -16
  98. package/build/macros/commands/Radar.d.ts +7 -7
  99. package/build/macros/commands/Radar.js +60 -60
  100. package/build/macros/commands/Sensor.d.ts +5 -5
  101. package/build/macros/commands/Sensor.js +19 -19
  102. package/build/macros/commands/UnitBind.d.ts +5 -5
  103. package/build/macros/commands/UnitBind.js +16 -16
  104. package/build/macros/commands/UnitControl.d.ts +5 -5
  105. package/build/macros/commands/UnitControl.js +67 -67
  106. package/build/macros/commands/UnitLocate.d.ts +5 -5
  107. package/build/macros/commands/UnitLocate.js +54 -54
  108. package/build/macros/commands/UnitRadar.d.ts +5 -5
  109. package/build/macros/commands/UnitRadar.js +40 -40
  110. package/build/macros/commands/Wait.d.ts +5 -5
  111. package/build/macros/commands/Wait.js +17 -17
  112. package/build/macros/commands/index.d.ts +14 -14
  113. package/build/macros/commands/index.js +32 -32
  114. package/build/macros/index.d.ts +7 -7
  115. package/build/macros/index.js +39 -39
  116. package/build/operators.d.ts +25 -25
  117. package/build/operators.js +101 -101
  118. package/build/types.d.ts +49 -49
  119. package/build/types.js +27 -27
  120. package/build/utils.d.ts +3 -3
  121. package/build/utils.js +12 -12
  122. package/build/values/BaseValue.d.ts +5 -5
  123. package/build/values/BaseValue.js +111 -111
  124. package/build/values/FunctionValue.d.ts +34 -34
  125. package/build/values/FunctionValue.js +103 -103
  126. package/build/values/LiteralValue.d.ts +12 -12
  127. package/build/values/LiteralValue.js +87 -87
  128. package/build/values/LiteralValue.js.map +1 -1
  129. package/build/values/ObjectValue.d.ts +17 -17
  130. package/build/values/ObjectValue.js +49 -49
  131. package/build/values/StoreValue.d.ts +11 -11
  132. package/build/values/StoreValue.js +30 -30
  133. package/build/values/TempValue.d.ts +12 -12
  134. package/build/values/TempValue.js +66 -66
  135. package/build/values/TempValue.js.map +1 -1
  136. package/build/values/VoidValue.d.ts +11 -11
  137. package/build/values/VoidValue.js +30 -30
  138. package/build/values/index.d.ts +6 -6
  139. package/build/values/index.js +22 -22
  140. package/dist/mlogjs.es.js +6366 -0
  141. package/dist/mlogjs.umd.js +8 -0
  142. package/lib/commands.d.ts +326 -326
  143. package/lib/eslib/index.d.ts +3 -3
  144. package/lib/eslib/lib.d.ts +9 -9
  145. package/lib/eslib/lib.es2015.collection.d.ts +89 -89
  146. package/lib/eslib/lib.es2015.core.d.ts +16 -16
  147. package/lib/eslib/lib.es2015.d.ts +30 -30
  148. package/lib/eslib/lib.es2015.generator.d.ts +79 -79
  149. package/lib/eslib/lib.es2015.iterable.d.ts +70 -70
  150. package/lib/eslib/lib.es5.d.ts +295 -295
  151. package/lib/eslib/lib.es6.d.ts +18 -18
  152. package/lib/globals.d.ts +328 -328
  153. package/lib/helpers.d.ts +23 -23
  154. package/lib/index.d.ts +7 -7
  155. package/lib/kinds.d.ts +36 -36
  156. package/lib/memory.d.ts +17 -17
  157. package/lib/traits.d.ts +121 -121
  158. package/lib/util.d.ts +32 -32
  159. package/package.json +73 -48
  160. package/build/macros/Blocks.d.ts +0 -5
  161. package/build/macros/Blocks.js +0 -143
  162. package/build/macros/Blocks.js.map +0 -1
  163. package/build/macros/Draw.d.ts +0 -5
  164. package/build/macros/Draw.js +0 -39
  165. package/build/macros/Draw.js.map +0 -1
  166. package/build/macros/Items.d.ts +0 -5
  167. package/build/macros/Items.js +0 -20
  168. package/build/macros/Items.js.map +0 -1
  169. package/build/macros/Liquids.d.ts +0 -5
  170. package/build/macros/Liquids.js +0 -18
  171. package/build/macros/Liquids.js.map +0 -1
  172. package/build/macros/Symbol.d.ts +0 -0
  173. package/build/macros/Symbol.js +0 -1
  174. package/build/macros/Symbol.js.map +0 -1
  175. package/build/macros/SymbolNamespace.d.ts +0 -0
  176. package/build/macros/SymbolNamespace.js +0 -1
  177. package/build/macros/SymbolNamespace.js.map +0 -1
  178. package/build/macros/TypeFactory.d.ts +0 -8
  179. package/build/macros/TypeFactory.js +0 -22
  180. package/build/macros/TypeFactory.js.map +0 -1
  181. package/build/macros/Units.d.ts +0 -5
  182. package/build/macros/Units.js +0 -18
  183. package/build/macros/Units.js.map +0 -1
  184. package/build/macros/Vars.d.ts +0 -5
  185. package/build/macros/Vars.js +0 -18
  186. package/build/macros/Vars.js.map +0 -1
  187. package/build/macros/commands/Asm.d.ts +0 -5
  188. package/build/macros/commands/Asm.js +0 -21
  189. package/build/macros/commands/Asm.js.map +0 -1
  190. package/build/macros/commands/io.d.ts +0 -8
  191. package/build/macros/commands/io.js +0 -47
  192. package/build/macros/commands/io.js.map +0 -1
  193. package/build/macros/helpers/GetBuilding.d.ts +0 -5
  194. package/build/macros/helpers/GetBuilding.js +0 -16
  195. package/build/macros/helpers/GetBuilding.js.map +0 -1
  196. package/build/macros/helpers/GetVar.d.ts +0 -5
  197. package/build/macros/helpers/GetVar.js +0 -16
  198. package/build/macros/helpers/GetVar.js.map +0 -1
  199. package/build/macros/helpers/index.d.ts +0 -2
  200. package/build/macros/helpers/index.js +0 -15
  201. package/build/macros/helpers/index.js.map +0 -1
  202. package/dist/bundle.js +0 -1
@@ -1,11 +1,11 @@
1
- import { IBindableValue } from "../types";
2
- import { JumpInstruction } from "./JumpInstruction";
3
- export declare class BreakInstruction extends JumpInstruction {
4
- constructor(address: IBindableValue);
5
- }
6
- export declare class ContinueInstruction extends JumpInstruction {
7
- constructor(address: IBindableValue);
8
- }
9
- export declare class ReturnInstruction extends JumpInstruction {
10
- constructor(address: IBindableValue);
11
- }
1
+ import { IBindableValue } from "../types";
2
+ import { JumpInstruction } from "./JumpInstruction";
3
+ export declare class BreakInstruction extends JumpInstruction {
4
+ constructor(address: IBindableValue);
5
+ }
6
+ export declare class ContinueInstruction extends JumpInstruction {
7
+ constructor(address: IBindableValue);
8
+ }
9
+ export declare class ReturnInstruction extends JumpInstruction {
10
+ constructor(address: IBindableValue);
11
+ }
@@ -1,23 +1,23 @@
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;
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
23
  //# sourceMappingURL=ControlInstructions.js.map
@@ -1,4 +1,4 @@
1
- import { InstructionBase } from "./InstructionBase";
2
- export declare class EndInstruction extends InstructionBase {
3
- constructor();
4
- }
1
+ import { InstructionBase } from "./InstructionBase";
2
+ export declare class EndInstruction extends InstructionBase {
3
+ constructor();
4
+ }
@@ -1,11 +1,11 @@
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;
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
11
  //# sourceMappingURL=EndInstruction.js.map
@@ -1,10 +1,10 @@
1
- import { IInstruction, IValue } from "../types";
2
- export declare class InstructionBase implements IInstruction {
3
- private _hidden;
4
- get hidden(): boolean;
5
- set hidden(value: boolean);
6
- args: (string | IValue)[];
7
- constructor(...args: (string | IValue)[]);
8
- resolve(i: number): void;
9
- toString(): string;
10
- }
1
+ import { IInstruction, IValue } from "../types";
2
+ export declare class InstructionBase implements IInstruction {
3
+ private _hidden;
4
+ get hidden(): boolean;
5
+ set hidden(value: boolean);
6
+ args: (string | IValue)[];
7
+ constructor(...args: (string | IValue)[]);
8
+ resolve(i: number): void;
9
+ toString(): string;
10
+ }
@@ -1,21 +1,21 @@
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;
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
21
  //# sourceMappingURL=InstructionBase.js.map
@@ -1,15 +1,15 @@
1
- import { IBindableValue, IValue } from "../types";
2
- import { InstructionBase } from "./InstructionBase";
3
- export declare enum EJumpKind {
4
- Equal = "equal",
5
- NotEqual = "notEqual",
6
- LessThan = "lessThan",
7
- LessThanEq = "lessThanEq",
8
- GreaterThan = "greaterThan",
9
- GreaterThanEq = "greaterThanEq",
10
- StrictEqual = "strictEqual",
11
- Always = "always"
12
- }
13
- export declare class JumpInstruction extends InstructionBase {
14
- constructor(address: IBindableValue, kind: EJumpKind, left?: IValue, right?: IValue);
15
- }
1
+ import { IBindableValue, IValue } from "../types";
2
+ import { InstructionBase } from "./InstructionBase";
3
+ export declare enum EJumpKind {
4
+ Equal = "equal",
5
+ NotEqual = "notEqual",
6
+ LessThan = "lessThan",
7
+ LessThanEq = "lessThanEq",
8
+ GreaterThan = "greaterThan",
9
+ GreaterThanEq = "greaterThanEq",
10
+ StrictEqual = "strictEqual",
11
+ Always = "always"
12
+ }
13
+ export declare class JumpInstruction extends InstructionBase {
14
+ constructor(address: IBindableValue, kind: EJumpKind, left?: IValue, right?: IValue);
15
+ }
@@ -1,22 +1,22 @@
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;
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
22
  //# sourceMappingURL=JumpInstruction.js.map
@@ -1,5 +1,5 @@
1
- import { InstructionBase } from ".";
2
- import { IValue } from "../types";
3
- export declare class OperationInstruction extends InstructionBase {
4
- constructor(kind: string, temp: IValue, left: IValue, right?: IValue);
5
- }
1
+ import { InstructionBase } from ".";
2
+ import { IValue } from "../types";
3
+ export declare class OperationInstruction extends InstructionBase {
4
+ constructor(kind: string, temp: IValue, left: IValue, right?: IValue);
5
+ }
@@ -1,11 +1,11 @@
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;
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
11
  //# sourceMappingURL=OperationInstruction.js.map
@@ -1,5 +1,5 @@
1
- import { InstructionBase } from ".";
2
- import { IValue } from "../types";
3
- export declare class SetCounterInstruction extends InstructionBase {
4
- constructor(value: IValue);
5
- }
1
+ import { InstructionBase } from ".";
2
+ import { IValue } from "../types";
3
+ export declare class SetCounterInstruction extends InstructionBase {
4
+ constructor(value: IValue);
5
+ }
@@ -1,11 +1,11 @@
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;
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
11
  //# sourceMappingURL=SetCounterInstruction.js.map
@@ -1,5 +1,5 @@
1
- import { InstructionBase } from ".";
2
- import { IValue } from "../types";
3
- export declare class SetInstruction extends InstructionBase {
4
- constructor(store: IValue, value: IValue);
5
- }
1
+ import { InstructionBase } from ".";
2
+ import { IValue } from "../types";
3
+ export declare class SetInstruction extends InstructionBase {
4
+ constructor(store: IValue, value: IValue);
5
+ }
@@ -1,11 +1,11 @@
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;
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
11
  //# sourceMappingURL=SetInstruction.js.map
@@ -1,4 +1,4 @@
1
- import { InstructionBase } from "./InstructionBase";
2
- export declare class ZeroSpaceInstruction extends InstructionBase {
3
- toString(): string;
4
- }
1
+ import { InstructionBase } from "./InstructionBase";
2
+ export declare class ZeroSpaceInstruction extends InstructionBase {
3
+ toString(): string;
4
+ }
@@ -1,11 +1,11 @@
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;
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
11
  //# sourceMappingURL=ZeroSpaceInstruction.js.map
@@ -1,9 +1,9 @@
1
- export * from "./InstructionBase";
2
- export * from "./OperationInstruction";
3
- export * from "./SetInstruction";
4
- export * from "./EndInstruction";
5
- export * from "./AddressResolver";
6
- export * from "./JumpInstruction";
7
- export * from "./SetCounterInstruction";
8
- export * from "./ZeroSpaceInstruction";
9
- export * from "./ControlInstructions";
1
+ export * from "./InstructionBase";
2
+ export * from "./OperationInstruction";
3
+ export * from "./SetInstruction";
4
+ export * from "./EndInstruction";
5
+ export * from "./AddressResolver";
6
+ export * from "./JumpInstruction";
7
+ export * from "./SetCounterInstruction";
8
+ export * from "./ZeroSpaceInstruction";
9
+ export * from "./ControlInstructions";
@@ -1,26 +1,26 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./InstructionBase"), exports);
18
- __exportStar(require("./OperationInstruction"), exports);
19
- __exportStar(require("./SetInstruction"), exports);
20
- __exportStar(require("./EndInstruction"), exports);
21
- __exportStar(require("./AddressResolver"), exports);
22
- __exportStar(require("./JumpInstruction"), exports);
23
- __exportStar(require("./SetCounterInstruction"), exports);
24
- __exportStar(require("./ZeroSpaceInstruction"), exports);
25
- __exportStar(require("./ControlInstructions"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./InstructionBase"), exports);
18
+ __exportStar(require("./OperationInstruction"), exports);
19
+ __exportStar(require("./SetInstruction"), exports);
20
+ __exportStar(require("./EndInstruction"), exports);
21
+ __exportStar(require("./AddressResolver"), exports);
22
+ __exportStar(require("./JumpInstruction"), exports);
23
+ __exportStar(require("./SetCounterInstruction"), exports);
24
+ __exportStar(require("./ZeroSpaceInstruction"), exports);
25
+ __exportStar(require("./ControlInstructions"), exports);
26
26
  //# sourceMappingURL=index.js.map
@@ -1,11 +1,11 @@
1
- import { IScope } from "../types";
2
- import { ObjectValue } from "../values";
3
- export declare const itemNames: string[];
4
- export declare class Building extends ObjectValue {
5
- name: string;
6
- toString(): string;
7
- constructor(scope: IScope, name: string);
8
- }
9
- export declare class BuildingBuilder extends ObjectValue {
10
- constructor(scope: IScope);
11
- }
1
+ import { IScope } from "../types";
2
+ import { ObjectValue } from "../values";
3
+ export declare const itemNames: string[];
4
+ export declare class Building extends ObjectValue {
5
+ name: string;
6
+ toString(): string;
7
+ constructor(scope: IScope, name: string);
8
+ }
9
+ export declare class BuildingBuilder extends ObjectValue {
10
+ constructor(scope: IScope);
11
+ }
@@ -1,81 +1,81 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BuildingBuilder = exports.Building = exports.itemNames = void 0;
4
- const utils_1 = require("../utils");
5
- const instructions_1 = require("../instructions");
6
- const values_1 = require("../values");
7
- const Function_1 = require("./Function");
8
- const operators_1 = require("../operators");
9
- exports.itemNames = [
10
- "copper",
11
- "lead",
12
- "metaglass",
13
- "graphite",
14
- "sand",
15
- "coal",
16
- "titanium",
17
- "thorium",
18
- "scrap",
19
- "silicon",
20
- "plastanium",
21
- "phaseFabric",
22
- "surgeAlloy",
23
- "sporePod",
24
- "blastCompound",
25
- "pyratite",
26
- ];
27
- class Building extends values_1.ObjectValue {
28
- constructor(scope, name) {
29
- super(scope, {
30
- $get: new Function_1.MacroFunction(scope, (prop) => {
31
- if (prop instanceof values_1.LiteralValue && typeof prop.data === "string") {
32
- const name = exports.itemNames.includes(prop.data)
33
- ? (0, utils_1.camelToDashCase)(prop.data)
34
- : prop.data;
35
- const temp = new values_1.TempValue(scope);
36
- return [
37
- temp,
38
- [new instructions_1.InstructionBase("sensor", temp, this, `@${name}`)],
39
- ];
40
- }
41
- if (prop instanceof values_1.StoreValue) {
42
- const temp = new values_1.TempValue(scope);
43
- return [temp, [new instructions_1.InstructionBase("sensor", temp, this, prop)]];
44
- }
45
- throw new Error("Building property acessors must be string literals or stores");
46
- }),
47
- });
48
- this.name = name;
49
- }
50
- toString() {
51
- return this.name;
52
- }
53
- }
54
- exports.Building = Building;
55
- class BuildingBuilder extends values_1.ObjectValue {
56
- constructor(scope) {
57
- super(scope, {
58
- $call: new Function_1.MacroFunction(scope, (nameLit) => {
59
- if (!(nameLit instanceof values_1.LiteralValue))
60
- throw new Error("Block name must be a literal.");
61
- if (typeof nameLit.data !== "string")
62
- throw new Error("Block name must be a string.");
63
- return [new Building(scope, nameLit.data), []];
64
- }),
65
- });
66
- }
67
- }
68
- exports.BuildingBuilder = BuildingBuilder;
69
- for (const key in operators_1.operatorMap) {
70
- const kind = operators_1.operatorMap[key];
71
- Building.prototype[key] = function (scope, value) {
72
- const left = new values_1.StoreValue(scope, this.name);
73
- const [right, rightInst] = value.eval(scope);
74
- const temp = new values_1.TempValue(scope);
75
- return [
76
- temp,
77
- [...rightInst, new instructions_1.OperationInstruction(kind, temp, left, right)],
78
- ];
79
- };
80
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BuildingBuilder = exports.Building = exports.itemNames = void 0;
4
+ const utils_1 = require("../utils");
5
+ const instructions_1 = require("../instructions");
6
+ const values_1 = require("../values");
7
+ const Function_1 = require("./Function");
8
+ const operators_1 = require("../operators");
9
+ exports.itemNames = [
10
+ "copper",
11
+ "lead",
12
+ "metaglass",
13
+ "graphite",
14
+ "sand",
15
+ "coal",
16
+ "titanium",
17
+ "thorium",
18
+ "scrap",
19
+ "silicon",
20
+ "plastanium",
21
+ "phaseFabric",
22
+ "surgeAlloy",
23
+ "sporePod",
24
+ "blastCompound",
25
+ "pyratite",
26
+ ];
27
+ class Building extends values_1.ObjectValue {
28
+ constructor(scope, name) {
29
+ super(scope, {
30
+ $get: new Function_1.MacroFunction(scope, (prop) => {
31
+ if (prop instanceof values_1.LiteralValue && typeof prop.data === "string") {
32
+ const name = exports.itemNames.includes(prop.data)
33
+ ? (0, utils_1.camelToDashCase)(prop.data)
34
+ : prop.data;
35
+ const temp = new values_1.TempValue(scope);
36
+ return [
37
+ temp,
38
+ [new instructions_1.InstructionBase("sensor", temp, this, `@${name}`)],
39
+ ];
40
+ }
41
+ if (prop instanceof values_1.StoreValue) {
42
+ const temp = new values_1.TempValue(scope);
43
+ return [temp, [new instructions_1.InstructionBase("sensor", temp, this, prop)]];
44
+ }
45
+ throw new Error("Building property acessors must be string literals or stores");
46
+ }),
47
+ });
48
+ this.name = name;
49
+ }
50
+ toString() {
51
+ return this.name;
52
+ }
53
+ }
54
+ exports.Building = Building;
55
+ class BuildingBuilder extends values_1.ObjectValue {
56
+ constructor(scope) {
57
+ super(scope, {
58
+ $call: new Function_1.MacroFunction(scope, (nameLit) => {
59
+ if (!(nameLit instanceof values_1.LiteralValue))
60
+ throw new Error("Block name must be a literal.");
61
+ if (typeof nameLit.data !== "string")
62
+ throw new Error("Block name must be a string.");
63
+ return [new Building(scope, nameLit.data), []];
64
+ }),
65
+ });
66
+ }
67
+ }
68
+ exports.BuildingBuilder = BuildingBuilder;
69
+ for (const key in operators_1.operatorMap) {
70
+ const kind = operators_1.operatorMap[key];
71
+ Building.prototype[key] = function (scope, value) {
72
+ const left = new values_1.StoreValue(scope, this.name);
73
+ const [right, rightInst] = value.eval(scope);
74
+ const temp = new values_1.TempValue(scope);
75
+ return [
76
+ temp,
77
+ [...rightInst, new instructions_1.OperationInstruction(kind, temp, left, right)],
78
+ ];
79
+ };
80
+ }
81
81
  //# sourceMappingURL=Building.js.map