mlogjs 0.1.9 → 0.2.0

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 (201) hide show
  1. package/README.md +1 -1
  2. package/build/Compiler.js +40 -13
  3. package/build/Compiler.js.map +1 -1
  4. package/build/Scope.js.map +1 -1
  5. package/build/bin.js +16 -9
  6. package/build/bin.js.map +1 -1
  7. package/build/handlers/BlockStatement.js.map +1 -1
  8. package/build/handlers/CallExpression.js.map +1 -1
  9. package/build/handlers/ForStatement.js.map +1 -1
  10. package/build/handlers/Function.js +6 -3
  11. package/build/handlers/Function.js.map +1 -1
  12. package/build/handlers/Identifier.js.map +1 -1
  13. package/build/handlers/IfStatement.js.map +1 -1
  14. package/build/handlers/Literal.js +3 -1
  15. package/build/handlers/Literal.js.map +1 -1
  16. package/build/handlers/Object.d.ts +1 -0
  17. package/build/handlers/Object.js +12 -1
  18. package/build/handlers/Object.js.map +1 -1
  19. package/build/handlers/OperationExpressions.js +2 -1
  20. package/build/handlers/OperationExpressions.js.map +1 -1
  21. package/build/handlers/Program.js.map +1 -1
  22. package/build/handlers/Statements.js +3 -1
  23. package/build/handlers/Statements.js.map +1 -1
  24. package/build/handlers/TemplateExpression.js.map +1 -1
  25. package/build/handlers/VariableDeclaration.js +43 -19
  26. package/build/handlers/VariableDeclaration.js.map +1 -1
  27. package/build/handlers/WhileStatement.js.map +1 -1
  28. package/build/handlers/index.js +5 -1
  29. package/build/handlers/index.js.map +1 -1
  30. package/build/index.js.map +1 -1
  31. package/build/instructions/AddressResolver.js +1 -2
  32. package/build/instructions/AddressResolver.js.map +1 -1
  33. package/build/instructions/ControlInstructions.js.map +1 -1
  34. package/build/instructions/EndInstruction.js.map +1 -1
  35. package/build/instructions/InstructionBase.js.map +1 -1
  36. package/build/instructions/JumpInstruction.js.map +1 -1
  37. package/build/instructions/OperationInstruction.js.map +1 -1
  38. package/build/instructions/SetCounterInstruction.js.map +1 -1
  39. package/build/instructions/SetInstruction.js.map +1 -1
  40. package/build/instructions/ZeroSpaceInstruction.js.map +1 -1
  41. package/build/instructions/index.js +5 -1
  42. package/build/instructions/index.js.map +1 -1
  43. package/build/macros/Blocks.js +15 -6
  44. package/build/macros/Blocks.js.map +1 -1
  45. package/build/macros/Building.d.ts +11 -0
  46. package/build/macros/Building.js +81 -0
  47. package/build/macros/Building.js.map +1 -0
  48. package/build/macros/Draw.js +7 -2
  49. package/build/macros/Draw.js.map +1 -1
  50. package/build/macros/Function.js.map +1 -1
  51. package/build/macros/Items.d.ts +5 -0
  52. package/build/macros/Items.js +20 -0
  53. package/build/macros/Items.js.map +1 -0
  54. package/build/macros/Liquids.d.ts +5 -0
  55. package/build/macros/Liquids.js +18 -0
  56. package/build/macros/Liquids.js.map +1 -0
  57. package/build/macros/Math.js +9 -9
  58. package/build/macros/Math.js.map +1 -1
  59. package/build/macros/Memory.d.ts +5 -0
  60. package/build/macros/Memory.js +61 -0
  61. package/build/macros/Memory.js.map +1 -0
  62. package/build/macros/Namespace.d.ts +21 -0
  63. package/build/macros/Namespace.js +98 -0
  64. package/build/macros/Namespace.js.map +1 -0
  65. package/build/macros/Other.d.ts +0 -3
  66. package/build/macros/Other.js +2 -11
  67. package/build/macros/Other.js.map +1 -1
  68. package/build/macros/RawValue.d.ts +5 -0
  69. package/build/macros/RawValue.js +16 -0
  70. package/build/macros/RawValue.js.map +1 -0
  71. package/build/macros/Symbol.d.ts +0 -0
  72. package/build/macros/Symbol.js +1 -0
  73. package/build/macros/Symbol.js.map +1 -0
  74. package/build/macros/SymbolNamespace.d.ts +0 -0
  75. package/build/macros/SymbolNamespace.js +1 -0
  76. package/build/macros/SymbolNamespace.js.map +1 -0
  77. package/build/macros/TypeFactory.js.map +1 -1
  78. package/build/macros/Units.d.ts +5 -0
  79. package/build/macros/Units.js +18 -0
  80. package/build/macros/Units.js.map +1 -0
  81. package/build/macros/Vars.d.ts +5 -0
  82. package/build/macros/Vars.js +18 -0
  83. package/build/macros/Vars.js.map +1 -0
  84. package/build/macros/commands/Asm.d.ts +5 -0
  85. package/build/macros/commands/Asm.js +21 -0
  86. package/build/macros/commands/Asm.js.map +1 -0
  87. package/build/macros/commands/Draw.d.ts +5 -0
  88. package/build/macros/commands/Draw.js +39 -0
  89. package/build/macros/commands/Draw.js.map +1 -0
  90. package/build/macros/commands/DrawFlush.d.ts +5 -0
  91. package/build/macros/commands/DrawFlush.js +17 -0
  92. package/build/macros/commands/DrawFlush.js.map +1 -0
  93. package/build/macros/commands/GetLink.d.ts +5 -0
  94. package/build/macros/commands/GetLink.js +21 -0
  95. package/build/macros/commands/GetLink.js.map +1 -0
  96. package/build/macros/commands/Lookup.d.ts +5 -0
  97. package/build/macros/commands/Lookup.js +24 -0
  98. package/build/macros/commands/Lookup.js.map +1 -0
  99. package/build/macros/commands/Print.d.ts +5 -0
  100. package/build/macros/commands/Print.js +14 -0
  101. package/build/macros/commands/Print.js.map +1 -0
  102. package/build/macros/commands/PrintFlush.d.ts +5 -0
  103. package/build/macros/commands/PrintFlush.js +17 -0
  104. package/build/macros/commands/PrintFlush.js.map +1 -0
  105. package/build/macros/commands/Radar.d.ts +7 -0
  106. package/build/macros/commands/Radar.js +61 -0
  107. package/build/macros/commands/Radar.js.map +1 -0
  108. package/build/macros/commands/Sensor.d.ts +5 -0
  109. package/build/macros/commands/Sensor.js +20 -0
  110. package/build/macros/commands/Sensor.js.map +1 -0
  111. package/build/macros/commands/UnitBind.d.ts +5 -0
  112. package/build/macros/commands/UnitBind.js +17 -0
  113. package/build/macros/commands/UnitBind.js.map +1 -0
  114. package/build/macros/commands/UnitControl.d.ts +5 -0
  115. package/build/macros/commands/UnitControl.js +68 -0
  116. package/build/macros/commands/UnitControl.js.map +1 -0
  117. package/build/macros/commands/UnitLocate.d.ts +5 -0
  118. package/build/macros/commands/UnitLocate.js +55 -0
  119. package/build/macros/commands/UnitLocate.js.map +1 -0
  120. package/build/macros/commands/UnitRadar.d.ts +5 -0
  121. package/build/macros/commands/UnitRadar.js +41 -0
  122. package/build/macros/commands/UnitRadar.js.map +1 -0
  123. package/build/macros/commands/Wait.d.ts +5 -0
  124. package/build/macros/commands/Wait.js +18 -0
  125. package/build/macros/commands/Wait.js.map +1 -0
  126. package/build/macros/commands/control.d.ts +5 -0
  127. package/build/macros/commands/control.js +25 -0
  128. package/build/macros/commands/control.js.map +1 -0
  129. package/build/macros/commands/index.d.ts +14 -0
  130. package/build/macros/commands/index.js +33 -0
  131. package/build/macros/commands/index.js.map +1 -0
  132. package/build/macros/commands/io.d.ts +8 -0
  133. package/build/macros/commands/io.js +47 -0
  134. package/build/macros/commands/io.js.map +1 -0
  135. package/build/macros/helpers/GetBuilding.d.ts +5 -0
  136. package/build/macros/helpers/GetBuilding.js +16 -0
  137. package/build/macros/helpers/GetBuilding.js.map +1 -0
  138. package/build/macros/helpers/GetVar.d.ts +5 -0
  139. package/build/macros/helpers/GetVar.js +16 -0
  140. package/build/macros/helpers/GetVar.js.map +1 -0
  141. package/build/macros/helpers/index.d.ts +2 -0
  142. package/build/{scopes → macros/helpers}/index.js +2 -3
  143. package/build/macros/helpers/index.js.map +1 -0
  144. package/build/macros/index.d.ts +4 -2
  145. package/build/macros/index.js +25 -3
  146. package/build/macros/index.js.map +1 -1
  147. package/build/operators.d.ts +3 -0
  148. package/build/operators.js +79 -16
  149. package/build/operators.js.map +1 -1
  150. package/build/types.js +5 -1
  151. package/build/types.js.map +1 -1
  152. package/build/utils.d.ts +1 -0
  153. package/build/utils.js +5 -1
  154. package/build/utils.js.map +1 -1
  155. package/build/values/BaseValue.js +13 -3
  156. package/build/values/BaseValue.js.map +1 -1
  157. package/build/values/FunctionValue.js +5 -2
  158. package/build/values/FunctionValue.js.map +1 -1
  159. package/build/values/LiteralValue.js +4 -5
  160. package/build/values/LiteralValue.js.map +1 -1
  161. package/build/values/ObjectValue.js.map +1 -1
  162. package/build/values/StoreValue.js.map +1 -1
  163. package/build/values/TempValue.js +16 -2
  164. package/build/values/TempValue.js.map +1 -1
  165. package/build/values/VoidValue.js.map +1 -1
  166. package/build/values/index.js +5 -1
  167. package/build/values/index.js.map +1 -1
  168. package/dist/bundle.js +1 -553
  169. package/lib/commands.d.ts +326 -0
  170. package/lib/eslib/index.d.ts +3 -0
  171. package/lib/eslib/lib.d.ts +9 -0
  172. package/lib/eslib/lib.es2015.collection.d.ts +89 -0
  173. package/lib/eslib/lib.es2015.core.d.ts +16 -0
  174. package/lib/eslib/lib.es2015.d.ts +30 -0
  175. package/lib/eslib/lib.es2015.generator.d.ts +79 -0
  176. package/lib/eslib/lib.es2015.iterable.d.ts +70 -0
  177. package/lib/eslib/lib.es5.d.ts +295 -0
  178. package/lib/eslib/lib.es6.d.ts +18 -0
  179. package/lib/globals.d.ts +328 -0
  180. package/lib/helpers.d.ts +23 -0
  181. package/lib/index.d.ts +7 -0
  182. package/lib/kinds.d.ts +36 -0
  183. package/lib/memory.d.ts +17 -0
  184. package/lib/traits.d.ts +121 -0
  185. package/lib/util.d.ts +32 -0
  186. package/package.json +21 -10
  187. package/.gitattributes +0 -2
  188. package/build/scopes/FunctionScope.d.ts +0 -5
  189. package/build/scopes/FunctionScope.js +0 -13
  190. package/build/scopes/FunctionScope.js.map +0 -1
  191. package/build/scopes/LoopScope.d.ts +0 -5
  192. package/build/scopes/LoopScope.js +0 -13
  193. package/build/scopes/LoopScope.js.map +0 -1
  194. package/build/scopes/Scope.d.ts +0 -36
  195. package/build/scopes/Scope.js +0 -93
  196. package/build/scopes/Scope.js.map +0 -1
  197. package/build/scopes/index.d.ts +0 -3
  198. package/build/scopes/index.js.map +0 -1
  199. package/mlogjs.d.ts +0 -72
  200. package/tsconfig.json +0 -22
  201. package/webpack.config.js +0 -22
@@ -1 +1 @@
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
+ {"version":3,"file":"SetInstruction.js","sourceRoot":"","sources":["../../src/instructions/SetInstruction.ts"],"names":[],"mappings":";;;AAAA,wBAAoC;AAGpC,MAAa,cAAe,SAAQ,kBAAe;IACjD,YAAY,KAAa,EAAE,KAAa;QACtC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAJD,wCAIC"}
@@ -1 +1 @@
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
+ {"version":3,"file":"ZeroSpaceInstruction.js","sourceRoot":"","sources":["../../src/instructions/ZeroSpaceInstruction.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AAEpD,MAAa,oBAAqB,SAAQ,iCAAe;IACvD,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;CACF;AAJD,oDAIC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/instructions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,yDAAuC;AACvC,mDAAiC;AACjC,mDAAiC;AACjC,oDAAkC;AAClC,oDAAkC;AAClC,0DAAwC;AACxC,yDAAuC;AACvC,wDAAsC"}
@@ -16,7 +16,7 @@ class Block extends values_1.ObjectValue {
16
16
  }),
17
17
  "$=": new Function_1.MacroFunction(scope, (value) => {
18
18
  return this.get(scope, new values_1.LiteralValue(scope, "control"))[0].call(scope, [prop, value]);
19
- })
19
+ }),
20
20
  });
21
21
  }
22
22
  else {
@@ -26,7 +26,7 @@ class Block extends values_1.ObjectValue {
26
26
  }),
27
27
  "$=": new Function_1.MacroFunction(scope, (value) => {
28
28
  return this.get(scope, new values_1.LiteralValue(scope, "write"))[0].call(scope, [prop, value]);
29
- })
29
+ }),
30
30
  });
31
31
  }
32
32
  return [obj, []];
@@ -35,7 +35,7 @@ class Block extends values_1.ObjectValue {
35
35
  return [
36
36
  null,
37
37
  [
38
- ...args.map((arg) => new instructions_1.InstructionBase("print", arg)),
38
+ ...args.map(arg => new instructions_1.InstructionBase("print", arg)),
39
39
  new instructions_1.InstructionBase("printflush", name),
40
40
  ],
41
41
  ];
@@ -68,7 +68,10 @@ class Block extends values_1.ObjectValue {
68
68
  if (attr.data[0] === "@")
69
69
  throw new Error("The use of '@' is unnecessary beucase it is already done for you.");
70
70
  const temp = new values_1.TempValue(scope);
71
- return [temp, [new instructions_1.InstructionBase("sensor", temp, name, "@" + attr.data)]];
71
+ return [
72
+ temp,
73
+ [new instructions_1.InstructionBase("sensor", temp, name, "@" + attr.data)],
74
+ ];
72
75
  }),
73
76
  //control enabled block1 0 0 0 0
74
77
  control: new Function_1.MacroFunction(scope, (attr, ...args) => {
@@ -79,7 +82,10 @@ class Block extends values_1.ObjectValue {
79
82
  for (const arg of args)
80
83
  if (!(arg instanceof values_1.LiteralValue || arg instanceof values_1.StoreValue))
81
84
  throw new Error("Arguments cannot be non-literal or non-store value.");
82
- return [null, [new instructions_1.InstructionBase("control", attr.data, name, ...args)]];
85
+ return [
86
+ null,
87
+ [new instructions_1.InstructionBase("control", attr.data, name, ...args)],
88
+ ];
83
89
  }),
84
90
  // radar enemy any any distance turret1 1 result
85
91
  radar: new Function_1.MacroFunction(scope, (target0, target1, target2, sort, order) => {
@@ -109,13 +115,16 @@ class Block extends values_1.ObjectValue {
109
115
  return [
110
116
  temp,
111
117
  [
112
- new instructions_1.InstructionBase("radar", ...targets.map((v) => v.data), sort.data, name, order, temp),
118
+ new instructions_1.InstructionBase("radar", ...targets.map(v => v.data), sort.data, name, order, temp),
113
119
  ],
114
120
  ];
115
121
  }),
116
122
  });
117
123
  this.name = name;
118
124
  }
125
+ toString() {
126
+ return this.name;
127
+ }
119
128
  }
120
129
  class BlockBuilder extends values_1.ObjectValue {
121
130
  constructor(scope) {
@@ -1 +1 @@
1
- {"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../../src/macros/Blocks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../../src/macros/Blocks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +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
+ }
@@ -0,0 +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
+ }
81
+ //# sourceMappingURL=Building.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Building.js","sourceRoot":"","sources":["../../src/macros/Building.ts"],"names":[],"mappings":"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"}
@@ -22,11 +22,16 @@ class Draw extends Function_1.MacroFunction {
22
22
  "image",
23
23
  ].indexOf(kind.data) === -1)
24
24
  throw new Error("Draw kind must be valid");
25
- return [null, [new instructions_1.InstructionBase("draw", kind.data, ...args.map(v => {
25
+ return [
26
+ null,
27
+ [
28
+ new instructions_1.InstructionBase("draw", kind.data, ...args.map(v => {
26
29
  if (v instanceof values_1.LiteralValue && typeof v.data === "string")
27
30
  return v.data;
28
31
  return v;
29
- }))]];
32
+ })),
33
+ ],
34
+ ];
30
35
  });
31
36
  }
32
37
  }
@@ -1 +1 @@
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
+ {"version":3,"file":"Draw.js","sourceRoot":"","sources":["../../src/macros/Draw.ts"],"names":[],"mappings":";;;AAAA,kDAAkD;AAElD,sCAAyC;AACzC,yCAA2C;AAE3C,MAAa,IAAK,SAAQ,wBAAa;IACrC,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE,CAAC,IAAY,EAAE,GAAG,IAAc,EAAE,EAAE;YAC/C,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAY,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,IACE;gBACE,OAAO;gBACP,OAAO;gBACP,QAAQ;gBACR,MAAM;gBACN,MAAM;gBACN,UAAU;gBACV,MAAM;gBACN,UAAU;gBACV,UAAU;gBACV,OAAO;aACR,CAAC,OAAO,CAAC,IAAI,CAAC,IAAc,CAAC,KAAK,CAAC,CAAC;gBAErC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,OAAO;gBACL,IAAI;gBACJ;oBACE,IAAI,8BAAe,CACjB,MAAM,EACN,IAAI,CAAC,IAAc,EACnB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACd,IAAI,CAAC,YAAY,qBAAY,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;4BACzD,OAAO,CAAC,CAAC,IAAI,CAAC;wBAChB,OAAO,CAAC,CAAC;oBACX,CAAC,CAAC,CACH;iBACF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AApCD,oBAoCC"}
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"Function.js","sourceRoot":"","sources":["../../src/macros/Function.ts"],"names":[],"mappings":";;;AACA,sCAAsC;AAItC,MAAa,aAAc,SAAQ,kBAAS;IAI1C,YAAY,KAAa,EAAE,EAAa;QACtC,KAAK,CAAC,KAAK,CAAC,CAAC;QAJf,UAAK,GAAG,IAAI,CAAC;QACb,aAAQ,GAAG,IAAI,CAAC;QAId,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IACD,IAAI,CAAC,KAAa,EAAE,IAAc;QAChC,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,KAAa;QAChB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpB,CAAC;CACF;AAdD,sCAcC"}
@@ -0,0 +1,5 @@
1
+ import { IScope } from "../types";
2
+ import { ObjectValue } from "../values";
3
+ export declare class ItemsMacro extends ObjectValue {
4
+ constructor(scope: IScope);
5
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ItemsMacro = void 0;
4
+ const _1 = require(".");
5
+ const values_1 = require("../values");
6
+ class ItemsMacro extends values_1.ObjectValue {
7
+ constructor(scope) {
8
+ super(scope, {
9
+ $get: new _1.MacroFunction(scope, prop => {
10
+ var _a;
11
+ if (!(prop instanceof values_1.LiteralValue) || typeof prop.data !== "string")
12
+ throw new Error("Cannot use dynamic properties on object macros");
13
+ const itemName = (_a = specialNameMap[prop.data]) !== null && _a !== void 0 ? _a : prop.data;
14
+ return [new values_1.StoreValue(scope, `@${itemName}`), []];
15
+ }),
16
+ });
17
+ }
18
+ }
19
+ exports.ItemsMacro = ItemsMacro;
20
+ //# sourceMappingURL=Items.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Items.js","sourceRoot":"","sources":["../../src/macros/Items.ts"],"names":[],"mappings":";;;AAAA,wBAAkC;AAElC,sCAAkE;AAElE,MAAa,UAAW,SAAQ,oBAAW;IACzC,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE;YACX,IAAI,EAAE,IAAI,gBAAa,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;;gBACpC,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAY,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;oBAClE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACpE,MAAM,QAAQ,GAAG,MAAA,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAI,IAAI,CAAC,IAAI,CAAC;gBACxD,OAAO,CAAC,IAAI,mBAAU,CAAC,KAAK,EAAE,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF;AAXD,gCAWC"}
@@ -0,0 +1,5 @@
1
+ import { IScope } from "../types";
2
+ import { ObjectValue } from "../values";
3
+ export declare class LiquidsMacro extends ObjectValue {
4
+ constructor(scope: IScope);
5
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LiquidsMacro = void 0;
4
+ const _1 = require(".");
5
+ const values_1 = require("../values");
6
+ class LiquidsMacro extends values_1.ObjectValue {
7
+ constructor(scope) {
8
+ super(scope, {
9
+ $get: new _1.MacroFunction(scope, prop => {
10
+ if (!(prop instanceof values_1.LiteralValue) || typeof prop.data !== "string")
11
+ throw new Error("Cannot use dynamic properties on object macros");
12
+ return [new values_1.StoreValue(scope, `@${prop.data}`), []];
13
+ }),
14
+ });
15
+ }
16
+ }
17
+ exports.LiquidsMacro = LiquidsMacro;
18
+ //# sourceMappingURL=Liquids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Liquids.js","sourceRoot":"","sources":["../../src/macros/Liquids.ts"],"names":[],"mappings":";;;AAAA,wBAAkC;AAElC,sCAAkE;AAElE,MAAa,YAAa,SAAQ,oBAAW;IAC3C,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE;YACX,IAAI,EAAE,IAAI,gBAAa,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;gBACpC,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAY,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;oBAClE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACpE,OAAO,CAAC,IAAI,mBAAU,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF;AAVD,oCAUC"}
@@ -10,15 +10,15 @@ const mathOperations = {
10
10
  angle: (a, b) => Math.atan2(a, b),
11
11
  len: (a, b) => Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)),
12
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),
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
22
  rand: null,
23
23
  };
24
24
  function createMacroMathOperations(scope) {
@@ -1 +1 @@
1
- {"version":3,"file":"Math.js","sourceRoot":"","sources":["../../src/macros/Math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Math.js","sourceRoot":"","sources":["../../src/macros/Math.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { IScope } from "../types";
2
+ import { ObjectValue } from "../values";
3
+ export declare class MemoryBuilder extends ObjectValue {
4
+ constructor(scope: IScope);
5
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoryBuilder = void 0;
4
+ const operators_1 = require("../operators");
5
+ const instructions_1 = require("../instructions");
6
+ const values_1 = require("../values");
7
+ const Function_1 = require("./Function");
8
+ class MemoryEntry extends values_1.ObjectValue {
9
+ constructor(scope, mem, prop) {
10
+ super(scope, {
11
+ $eval: new Function_1.MacroFunction(scope, () => {
12
+ const temp = new values_1.TempValue(scope);
13
+ return [temp, [new instructions_1.InstructionBase("read", temp, mem.cell, prop)]];
14
+ }),
15
+ "$=": new Function_1.MacroFunction(scope, value => {
16
+ return [null, [new instructions_1.InstructionBase("write", prop, mem.cell, value)]];
17
+ }),
18
+ });
19
+ }
20
+ }
21
+ for (const operator of operators_1.operators) {
22
+ if (operator === "=")
23
+ continue;
24
+ MemoryEntry.prototype[operator] = function (...args) {
25
+ return values_1.BaseValue.prototype[operator].apply(this, args);
26
+ };
27
+ }
28
+ class MemoryMacro extends values_1.ObjectValue {
29
+ constructor(scope, cell, size) {
30
+ super(scope, {
31
+ $get: new Function_1.MacroFunction(scope, (prop) => {
32
+ if (prop instanceof values_1.LiteralValue && typeof prop.data !== "number")
33
+ return [new values_1.VoidValue(scope), []];
34
+ const obj = new MemoryEntry(scope, this, prop);
35
+ return [obj, []];
36
+ }),
37
+ length: size,
38
+ size,
39
+ });
40
+ this.cell = cell;
41
+ this.name = cell.toString();
42
+ }
43
+ toString() {
44
+ return this.name;
45
+ }
46
+ }
47
+ class MemoryBuilder extends values_1.ObjectValue {
48
+ constructor(scope) {
49
+ super(scope, {
50
+ $call: new Function_1.MacroFunction(scope, (cell, size = new values_1.LiteralValue(scope, 64)) => {
51
+ if (!(cell instanceof values_1.ObjectValue))
52
+ throw new Error("Memory cell must be a building object.");
53
+ if (!(size instanceof values_1.LiteralValue && typeof size.data === "number"))
54
+ throw new Error("The memory size must be a number literal.");
55
+ return [new MemoryMacro(scope, cell, size), []];
56
+ }),
57
+ });
58
+ }
59
+ }
60
+ exports.MemoryBuilder = MemoryBuilder;
61
+ //# sourceMappingURL=Memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Memory.js","sourceRoot":"","sources":["../../src/macros/Memory.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,kDAAwE;AAExE,sCAOmB;AACnB,yCAA2C;AAE3C,MAAM,WAAY,SAAQ,oBAAW;IACnC,YAAY,KAAa,EAAE,GAAgB,EAAE,IAAY;QACvD,KAAK,CAAC,KAAK,EAAE;YACX,KAAK,EAAE,IAAI,wBAAa,CAAC,KAAK,EAAE,GAAG,EAAE;gBACnC,MAAM,IAAI,GAAG,IAAI,kBAAS,CAAC,KAAK,CAAC,CAAC;gBAClC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,8BAAe,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC;YACF,IAAI,EAAE,IAAI,wBAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;gBACrC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,8BAAe,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF;AAED,KAAK,MAAM,QAAQ,IAAI,qBAAS,EAAE;IAChC,IAAI,QAAQ,KAAK,GAAG;QAAE,SAAS;IAC/B,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,UAA6B,GAAG,IAAI;QACpE,OAAO,kBAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC,CAAC;CACH;AAED,MAAM,WAAY,SAAQ,oBAAW;IAKnC,YAAY,KAAa,EAAS,IAAiB,EAAE,IAAkB;QACrE,KAAK,CAAC,KAAK,EAAE;YACX,IAAI,EAAE,IAAI,wBAAa,CAAC,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC9C,IAAI,IAAI,YAAY,qBAAY,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;oBAC/D,OAAO,CAAC,IAAI,kBAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnB,CAAC,CAAC;YACF,MAAM,EAAE,IAAI;YACZ,IAAI;SACL,CAAC,CAAC;QAV6B,SAAI,GAAJ,IAAI,CAAa;QAYjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAhBD,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CAeF;AAED,MAAa,aAAc,SAAQ,oBAAW;IAC5C,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE;YACX,KAAK,EAAE,IAAI,wBAAa,CACtB,KAAK,EACL,CAAC,IAAY,EAAE,OAAe,IAAI,qBAAY,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;gBAC3D,IAAI,CAAC,CAAC,IAAI,YAAY,oBAAW,CAAC;oBAChC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAE5D,IAAI,CAAC,CAAC,IAAI,YAAY,qBAAY,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;oBAClE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAE/D,OAAO,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,CAAC,CACF;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAjBD,sCAiBC"}
@@ -0,0 +1,21 @@
1
+ import { IScope } from "../types";
2
+ import { ObjectValue } from "../values";
3
+ interface NamespaceMacroOptions {
4
+ changeCasing?: boolean;
5
+ }
6
+ export declare class NamespaceMacro extends ObjectValue {
7
+ changeCasing: boolean;
8
+ constructor(scope: IScope, { changeCasing }?: NamespaceMacroOptions);
9
+ }
10
+ export declare class VarsNamespace extends NamespaceMacro {
11
+ constructor(scope: IScope);
12
+ }
13
+ export declare class UCommandsNamespace extends NamespaceMacro {
14
+ constructor(scope: IScope);
15
+ }
16
+ export declare class Unit extends ObjectValue {
17
+ name: string;
18
+ constructor(scope: IScope, name: string);
19
+ toString(): string;
20
+ }
21
+ export {};
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Unit = exports.UCommandsNamespace = exports.VarsNamespace = exports.NamespaceMacro = void 0;
4
+ const utils_1 = require("../utils");
5
+ const _1 = require(".");
6
+ const values_1 = require("../values");
7
+ const Building_1 = require("./Building");
8
+ const instructions_1 = require("../instructions");
9
+ const operators_1 = require("../operators");
10
+ class NamespaceMacro extends values_1.ObjectValue {
11
+ constructor(scope, { changeCasing = false } = {}) {
12
+ super(scope, {
13
+ $get: new _1.MacroFunction(scope, prop => {
14
+ if (!(prop instanceof values_1.LiteralValue) || typeof prop.data !== "string")
15
+ throw new Error("Cannot use dynamic properties on object macros");
16
+ const symbolName = this.changeCasing
17
+ ? (0, utils_1.camelToDashCase)(prop.data)
18
+ : prop.data;
19
+ return [new values_1.StoreValue(scope, `@${symbolName}`), []];
20
+ }),
21
+ });
22
+ this.changeCasing = changeCasing;
23
+ }
24
+ }
25
+ exports.NamespaceMacro = NamespaceMacro;
26
+ class VarsNamespace extends NamespaceMacro {
27
+ constructor(scope) {
28
+ super(scope);
29
+ const $get = this.data.$get;
30
+ this.data.$get = new _1.MacroFunction(scope, prop => {
31
+ if (prop instanceof values_1.LiteralValue) {
32
+ if (prop.data === "unit")
33
+ return [new Unit(scope, "@unit"), []];
34
+ if (prop.data === "this")
35
+ return [new Building_1.Building(scope, "@this"), []];
36
+ }
37
+ return $get.call(scope, [prop]);
38
+ });
39
+ }
40
+ }
41
+ exports.VarsNamespace = VarsNamespace;
42
+ class UCommandsNamespace extends NamespaceMacro {
43
+ constructor(scope) {
44
+ super(scope);
45
+ const $get = this.data.$get;
46
+ this.data.$get = new _1.MacroFunction(scope, prop => {
47
+ if (!(prop instanceof values_1.LiteralValue) || typeof prop.data !== "string")
48
+ throw new Error("Cannot use dynamic properties on object macros");
49
+ const symbolName = prop.data[0].toUpperCase() + prop.data.slice(1);
50
+ return [new values_1.StoreValue(scope, `@command${symbolName}`), []];
51
+ });
52
+ }
53
+ }
54
+ exports.UCommandsNamespace = UCommandsNamespace;
55
+ // TODO: repeated logic between UnitMacro and Building
56
+ class Unit extends values_1.ObjectValue {
57
+ constructor(scope, name) {
58
+ super(scope, {
59
+ $get: new _1.MacroFunction(scope, prop => {
60
+ if (prop instanceof values_1.LiteralValue && typeof prop.data === "string") {
61
+ const name = Building_1.itemNames.includes(prop.data)
62
+ ? (0, utils_1.camelToDashCase)(prop.data)
63
+ : prop.data;
64
+ const temp = new values_1.TempValue(scope);
65
+ // special case, should return another unit or building
66
+ const result = prop.data === "controller" ? new Unit(scope, temp.name) : temp;
67
+ return [
68
+ result,
69
+ [new instructions_1.InstructionBase("sensor", result, this, `@${name}`)],
70
+ ];
71
+ }
72
+ if (prop instanceof values_1.StoreValue) {
73
+ const temp = new values_1.TempValue(scope);
74
+ return [temp, [new instructions_1.InstructionBase("sensor", temp, this, prop)]];
75
+ }
76
+ throw new Error("Building property acessors must be string literals or stores");
77
+ }),
78
+ });
79
+ this.name = name;
80
+ }
81
+ toString() {
82
+ return this.name;
83
+ }
84
+ }
85
+ exports.Unit = Unit;
86
+ for (const key in operators_1.operatorMap) {
87
+ const kind = operators_1.operatorMap[key];
88
+ Unit.prototype[key] = function (scope, value) {
89
+ const left = new values_1.StoreValue(scope, this.name);
90
+ const [right, rightInst] = value.eval(scope);
91
+ const temp = new values_1.TempValue(scope);
92
+ return [
93
+ temp,
94
+ [...rightInst, new instructions_1.OperationInstruction(kind, temp, left, right)],
95
+ ];
96
+ };
97
+ }
98
+ //# sourceMappingURL=Namespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Namespace.js","sourceRoot":"","sources":["../../src/macros/Namespace.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,5 @@
1
1
  import { IScope } from "../types";
2
2
  import { MacroFunction } from "./Function";
3
- export declare class Print extends MacroFunction {
4
- constructor(scope: IScope);
5
- }
6
3
  export declare class Concat extends MacroFunction {
7
4
  constructor(scope: IScope);
8
5
  }
@@ -1,17 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Concat = exports.Print = void 0;
3
+ exports.Concat = void 0;
4
4
  const values_1 = require("../values");
5
- const instructions_1 = require("../instructions");
6
5
  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
6
  class Concat extends Function_1.MacroFunction {
16
7
  constructor(scope) {
17
8
  super(scope, (...values) => {
@@ -19,7 +10,7 @@ class Concat extends Function_1.MacroFunction {
19
10
  if (!(value instanceof values_1.LiteralValue))
20
11
  throw new Error("Concat arguments must all be literal values.");
21
12
  return [
22
- new values_1.LiteralValue(scope, values.map((v) => v.data).join("")),
13
+ new values_1.LiteralValue(scope, values.map(v => v.data).join("")),
23
14
  [],
24
15
  ];
25
16
  });
@@ -1 +1 @@
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
+ {"version":3,"file":"Other.js","sourceRoot":"","sources":["../../src/macros/Other.ts"],"names":[],"mappings":";;;AAAA,sCAAyC;AAEzC,yCAA2C;AAE3C,MAAa,MAAO,SAAQ,wBAAa;IACvC,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,MAAgB,EAAE,EAAE;YACnC,KAAK,MAAM,KAAK,IAAI,MAAM;gBACxB,IAAI,CAAC,CAAC,KAAK,YAAY,qBAAY,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YACpE,OAAO;gBACL,IAAI,qBAAY,CACd,KAAK,EACL,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CACnD;gBACD,EAAE;aACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAfD,wBAeC"}
@@ -0,0 +1,5 @@
1
+ import { IScope } from "../types";
2
+ import { MacroFunction } from "./Function";
3
+ export declare class RawValueMacro extends MacroFunction {
4
+ constructor(scope: IScope);
5
+ }