mlogjs 0.3.0 → 0.4.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 (278) hide show
  1. package/dist/Compiler.d.ts +39 -0
  2. package/dist/CompilerError.d.ts +33 -0
  3. package/dist/Scope.d.ts +24 -0
  4. package/dist/assertions.d.ts +28 -0
  5. package/dist/bin.cjs +7 -14
  6. package/dist/bin.cjs.map +1 -1
  7. package/dist/bin.d.ts +1 -0
  8. package/dist/handlers/BlockStatement.d.ts +2 -0
  9. package/dist/handlers/CallExpression.d.ts +4 -0
  10. package/dist/handlers/File.d.ts +2 -0
  11. package/dist/handlers/ForStatement.d.ts +2 -0
  12. package/dist/handlers/Function.d.ts +5 -0
  13. package/dist/handlers/Identifier.d.ts +2 -0
  14. package/dist/handlers/IfStatement.d.ts +2 -0
  15. package/dist/handlers/Literal.d.ts +5 -0
  16. package/dist/handlers/Object.d.ts +6 -0
  17. package/dist/handlers/OperationExpressions.d.ts +8 -0
  18. package/dist/handlers/Program.d.ts +2 -0
  19. package/dist/handlers/Statements.d.ts +5 -0
  20. package/dist/handlers/SwitchStatement.d.ts +2 -0
  21. package/dist/handlers/TemplateExpression.d.ts +2 -0
  22. package/dist/handlers/Typescript.d.ts +7 -0
  23. package/dist/handlers/VariableDeclaration.d.ts +3 -0
  24. package/dist/handlers/WhileStatement.d.ts +3 -0
  25. package/dist/handlers/index.d.ts +17 -0
  26. package/dist/index.cjs +1037 -315
  27. package/dist/index.cjs.map +1 -1
  28. package/dist/index.d.ts +3 -0
  29. package/dist/index.mjs +1037 -315
  30. package/dist/index.mjs.map +1 -1
  31. package/dist/initScope.d.ts +5 -0
  32. package/dist/instructions/AddressResolver.d.ts +12 -0
  33. package/dist/instructions/ControlInstructions.d.ts +10 -0
  34. package/dist/instructions/EndInstruction.d.ts +4 -0
  35. package/dist/instructions/InstructionBase.d.ts +14 -0
  36. package/dist/instructions/JumpInstruction.d.ts +16 -0
  37. package/dist/instructions/OperationInstruction.d.ts +5 -0
  38. package/dist/instructions/SetCounterInstruction.d.ts +5 -0
  39. package/dist/instructions/SetInstruction.d.ts +6 -0
  40. package/dist/instructions/ZeroSpaceInstruction.d.ts +4 -0
  41. package/dist/instructions/index.d.ts +9 -0
  42. package/dist/{types/macros/RawValue.d.ts → macros/Asm.d.ts} +1 -1
  43. package/dist/macros/Function.d.ts +13 -0
  44. package/dist/macros/GetGlobal.d.ts +5 -0
  45. package/dist/macros/Math.d.ts +5 -0
  46. package/dist/macros/Memory.d.ts +5 -0
  47. package/dist/macros/Namespace.d.ts +13 -0
  48. package/dist/macros/Other.d.ts +5 -0
  49. package/dist/macros/commands/ApplyStatus.d.ts +5 -0
  50. package/dist/macros/commands/Control.d.ts +5 -0
  51. package/dist/macros/commands/Cutscene.d.ts +5 -0
  52. package/dist/macros/commands/Draw.d.ts +5 -0
  53. package/dist/macros/commands/DrawFlush.d.ts +5 -0
  54. package/dist/macros/commands/End.d.ts +5 -0
  55. package/dist/macros/commands/Explosion.d.ts +5 -0
  56. package/dist/macros/commands/Fetch.d.ts +5 -0
  57. package/dist/macros/commands/FlushMessage.d.ts +5 -0
  58. package/dist/macros/commands/GetBlock.d.ts +5 -0
  59. package/dist/macros/commands/GetFlag.d.ts +5 -0
  60. package/dist/macros/commands/GetLink.d.ts +5 -0
  61. package/dist/macros/commands/Lookup.d.ts +5 -0
  62. package/dist/macros/commands/PackColor.d.ts +5 -0
  63. package/dist/macros/commands/Print.d.ts +5 -0
  64. package/dist/macros/commands/PrintFlush.d.ts +5 -0
  65. package/dist/macros/commands/Radar.d.ts +7 -0
  66. package/dist/macros/commands/Sensor.d.ts +5 -0
  67. package/dist/macros/commands/SetBlock.d.ts +5 -0
  68. package/dist/macros/commands/SetFlag.d.ts +5 -0
  69. package/dist/macros/commands/SetRate.d.ts +5 -0
  70. package/dist/macros/commands/SetRule.d.ts +5 -0
  71. package/dist/macros/commands/SpawnUnit.d.ts +5 -0
  72. package/dist/macros/commands/SpawnWave.d.ts +5 -0
  73. package/dist/macros/commands/Stop.d.ts +5 -0
  74. package/dist/macros/commands/UnitBind.d.ts +5 -0
  75. package/dist/macros/commands/UnitControl.d.ts +5 -0
  76. package/dist/macros/commands/UnitLocate.d.ts +5 -0
  77. package/dist/macros/commands/UnitRadar.d.ts +5 -0
  78. package/dist/macros/commands/Wait.d.ts +5 -0
  79. package/dist/macros/commands/index.d.ts +30 -0
  80. package/dist/macros/index.d.ts +6 -0
  81. package/dist/macros/util.d.ts +18 -0
  82. package/dist/operators.d.ts +25 -0
  83. package/dist/types/Compiler.d.ts +17 -4
  84. package/dist/types/CompilerError.d.ts +28 -4
  85. package/dist/types/assertions.d.ts +28 -0
  86. package/dist/types/handlers/CallExpression.d.ts +1 -0
  87. package/dist/types/handlers/SwitchStatement.d.ts +2 -0
  88. package/dist/types/handlers/index.d.ts +1 -0
  89. package/dist/types/index.d.ts +1 -0
  90. package/dist/types/instructions/ControlInstructions.d.ts +3 -1
  91. package/dist/types/instructions/InstructionBase.d.ts +5 -1
  92. package/dist/types/instructions/JumpInstruction.d.ts +1 -0
  93. package/dist/types/macros/Asm.d.ts +5 -0
  94. package/dist/types/macros/Namespace.d.ts +0 -3
  95. package/dist/types/macros/commands/ApplyStatus.d.ts +5 -0
  96. package/dist/types/macros/commands/Control.d.ts +2 -2
  97. package/dist/types/macros/commands/Cutscene.d.ts +5 -0
  98. package/dist/types/macros/commands/Draw.d.ts +2 -2
  99. package/dist/types/macros/commands/Explosion.d.ts +5 -0
  100. package/dist/types/macros/commands/Fetch.d.ts +5 -0
  101. package/dist/types/macros/commands/FlushMessage.d.ts +5 -0
  102. package/dist/types/macros/commands/GetBlock.d.ts +5 -0
  103. package/dist/types/macros/commands/GetFlag.d.ts +5 -0
  104. package/dist/types/macros/commands/Lookup.d.ts +2 -2
  105. package/dist/types/macros/commands/PackColor.d.ts +5 -0
  106. package/dist/types/macros/commands/Radar.d.ts +2 -2
  107. package/dist/types/macros/commands/SetBlock.d.ts +5 -0
  108. package/dist/types/macros/commands/SetFlag.d.ts +5 -0
  109. package/dist/types/macros/commands/SetRate.d.ts +5 -0
  110. package/dist/types/macros/commands/SetRule.d.ts +5 -0
  111. package/dist/types/macros/commands/SpawnUnit.d.ts +5 -0
  112. package/dist/types/macros/commands/SpawnWave.d.ts +5 -0
  113. package/dist/types/macros/commands/Stop.d.ts +5 -0
  114. package/dist/types/macros/commands/UnitControl.d.ts +3 -3
  115. package/dist/types/macros/commands/UnitLocate.d.ts +2 -2
  116. package/dist/types/macros/commands/index.d.ts +15 -0
  117. package/dist/types/macros/util.d.ts +18 -0
  118. package/dist/types/types.d.ts +14 -0
  119. package/dist/types/utils.d.ts +19 -2
  120. package/dist/types/values/BaseValue.d.ts +2 -0
  121. package/dist/types/values/FunctionValue.d.ts +1 -1
  122. package/dist/types/values/ObjectValue.d.ts +1 -1
  123. package/dist/types.d.ts +238 -0
  124. package/dist/utils.d.ts +47 -0
  125. package/dist/values/BaseValue.d.ts +9 -0
  126. package/dist/values/DestructuringValue.d.ts +17 -0
  127. package/dist/values/FunctionValue.d.ts +47 -0
  128. package/dist/values/LiteralValue.d.ts +13 -0
  129. package/dist/values/ObjectValue.d.ts +23 -0
  130. package/dist/values/SenseableValue.d.ts +23 -0
  131. package/dist/{types/values/StackValue.d.ts → values/StoreValue.d.ts} +5 -6
  132. package/dist/values/ValueOwner.d.ts +27 -0
  133. package/dist/values/VoidValue.d.ts +16 -0
  134. package/dist/values/index.d.ts +7 -0
  135. package/lib/commands.d.ts +849 -418
  136. package/lib/eslib/lib.es2015.core.d.ts +3 -0
  137. package/lib/globals.d.ts +331 -19
  138. package/lib/helpers.d.ts +14 -0
  139. package/lib/kinds.d.ts +3 -2
  140. package/lib/memory.d.ts +1 -1
  141. package/lib/traits.d.ts +6 -0
  142. package/lib/util.d.ts +16 -0
  143. package/package.json +15 -16
  144. package/build/Compiler.js +0 -105
  145. package/build/Compiler.js.map +0 -1
  146. package/build/CompilerError.js +0 -11
  147. package/build/CompilerError.js.map +0 -1
  148. package/build/Scope.js +0 -71
  149. package/build/Scope.js.map +0 -1
  150. package/build/bin.js +0 -75
  151. package/build/bin.js.map +0 -1
  152. package/build/handlers/BlockStatement.js +0 -14
  153. package/build/handlers/BlockStatement.js.map +0 -1
  154. package/build/handlers/CallExpression.js +0 -20
  155. package/build/handlers/CallExpression.js.map +0 -1
  156. package/build/handlers/File.js +0 -9
  157. package/build/handlers/File.js.map +0 -1
  158. package/build/handlers/ForStatement.js +0 -32
  159. package/build/handlers/ForStatement.js.map +0 -1
  160. package/build/handlers/Function.js +0 -47
  161. package/build/handlers/Function.js.map +0 -1
  162. package/build/handlers/Identifier.js +0 -8
  163. package/build/handlers/Identifier.js.map +0 -1
  164. package/build/handlers/IfStatement.js +0 -25
  165. package/build/handlers/IfStatement.js.map +0 -1
  166. package/build/handlers/Literal.js +0 -15
  167. package/build/handlers/Literal.js.map +0 -1
  168. package/build/handlers/Object.js +0 -55
  169. package/build/handlers/Object.js.map +0 -1
  170. package/build/handlers/OperationExpressions.js +0 -38
  171. package/build/handlers/OperationExpressions.js.map +0 -1
  172. package/build/handlers/Program.js +0 -9
  173. package/build/handlers/Program.js.map +0 -1
  174. package/build/handlers/Statements.js +0 -30
  175. package/build/handlers/Statements.js.map +0 -1
  176. package/build/handlers/TemplateExpression.js +0 -18
  177. package/build/handlers/TemplateExpression.js.map +0 -1
  178. package/build/handlers/VariableDeclaration.js +0 -72
  179. package/build/handlers/VariableDeclaration.js.map +0 -1
  180. package/build/handlers/WhileStatement.js +0 -23
  181. package/build/handlers/WhileStatement.js.map +0 -1
  182. package/build/handlers/index.js +0 -32
  183. package/build/handlers/index.js.map +0 -1
  184. package/build/index.js +0 -8
  185. package/build/index.js.map +0 -1
  186. package/build/initScope.js +0 -40
  187. package/build/initScope.js.map +0 -1
  188. package/build/instructions/AddressResolver.js +0 -31
  189. package/build/instructions/AddressResolver.js.map +0 -1
  190. package/build/instructions/ControlInstructions.js +0 -23
  191. package/build/instructions/ControlInstructions.js.map +0 -1
  192. package/build/instructions/EndInstruction.js +0 -11
  193. package/build/instructions/EndInstruction.js.map +0 -1
  194. package/build/instructions/InstructionBase.js +0 -21
  195. package/build/instructions/InstructionBase.js.map +0 -1
  196. package/build/instructions/JumpInstruction.js +0 -22
  197. package/build/instructions/JumpInstruction.js.map +0 -1
  198. package/build/instructions/OperationInstruction.js +0 -11
  199. package/build/instructions/OperationInstruction.js.map +0 -1
  200. package/build/instructions/SetCounterInstruction.js +0 -11
  201. package/build/instructions/SetCounterInstruction.js.map +0 -1
  202. package/build/instructions/SetInstruction.js +0 -11
  203. package/build/instructions/SetInstruction.js.map +0 -1
  204. package/build/instructions/ZeroSpaceInstruction.js +0 -11
  205. package/build/instructions/ZeroSpaceInstruction.js.map +0 -1
  206. package/build/instructions/index.js +0 -26
  207. package/build/instructions/index.js.map +0 -1
  208. package/build/macros/Building.js +0 -89
  209. package/build/macros/Building.js.map +0 -1
  210. package/build/macros/Function.js +0 -20
  211. package/build/macros/Function.js.map +0 -1
  212. package/build/macros/Math.js +0 -62
  213. package/build/macros/Math.js.map +0 -1
  214. package/build/macros/Memory.js +0 -63
  215. package/build/macros/Memory.js.map +0 -1
  216. package/build/macros/Namespace.js +0 -111
  217. package/build/macros/Namespace.js.map +0 -1
  218. package/build/macros/Other.js +0 -21
  219. package/build/macros/Other.js.map +0 -1
  220. package/build/macros/RawValue.js +0 -17
  221. package/build/macros/RawValue.js.map +0 -1
  222. package/build/macros/commands/Control.js +0 -26
  223. package/build/macros/commands/Control.js.map +0 -1
  224. package/build/macros/commands/Draw.js +0 -40
  225. package/build/macros/commands/Draw.js.map +0 -1
  226. package/build/macros/commands/DrawFlush.js +0 -18
  227. package/build/macros/commands/DrawFlush.js.map +0 -1
  228. package/build/macros/commands/GetLink.js +0 -25
  229. package/build/macros/commands/GetLink.js.map +0 -1
  230. package/build/macros/commands/Lookup.js +0 -25
  231. package/build/macros/commands/Lookup.js.map +0 -1
  232. package/build/macros/commands/Print.js +0 -18
  233. package/build/macros/commands/Print.js.map +0 -1
  234. package/build/macros/commands/PrintFlush.js +0 -18
  235. package/build/macros/commands/PrintFlush.js.map +0 -1
  236. package/build/macros/commands/Radar.js +0 -65
  237. package/build/macros/commands/Radar.js.map +0 -1
  238. package/build/macros/commands/Sensor.js +0 -21
  239. package/build/macros/commands/Sensor.js.map +0 -1
  240. package/build/macros/commands/UnitBind.js +0 -18
  241. package/build/macros/commands/UnitBind.js.map +0 -1
  242. package/build/macros/commands/UnitControl.js +0 -73
  243. package/build/macros/commands/UnitControl.js.map +0 -1
  244. package/build/macros/commands/UnitLocate.js +0 -76
  245. package/build/macros/commands/UnitLocate.js.map +0 -1
  246. package/build/macros/commands/UnitRadar.js +0 -48
  247. package/build/macros/commands/UnitRadar.js.map +0 -1
  248. package/build/macros/commands/Wait.js +0 -19
  249. package/build/macros/commands/Wait.js.map +0 -1
  250. package/build/macros/commands/index.js +0 -33
  251. package/build/macros/commands/index.js.map +0 -1
  252. package/build/macros/index.js +0 -40
  253. package/build/macros/index.js.map +0 -1
  254. package/build/operators.js +0 -102
  255. package/build/operators.js.map +0 -1
  256. package/build/types.js +0 -28
  257. package/build/types.js.map +0 -1
  258. package/build/utils.js +0 -18
  259. package/build/utils.js.map +0 -1
  260. package/build/values/BaseValue.js +0 -112
  261. package/build/values/BaseValue.js.map +0 -1
  262. package/build/values/FunctionValue.js +0 -116
  263. package/build/values/FunctionValue.js.map +0 -1
  264. package/build/values/LiteralValue.js +0 -89
  265. package/build/values/LiteralValue.js.map +0 -1
  266. package/build/values/ObjectValue.js +0 -55
  267. package/build/values/ObjectValue.js.map +0 -1
  268. package/build/values/StoreValue.js +0 -32
  269. package/build/values/StoreValue.js.map +0 -1
  270. package/build/values/TempValue.js +0 -78
  271. package/build/values/TempValue.js.map +0 -1
  272. package/build/values/VoidValue.js +0 -32
  273. package/build/values/VoidValue.js.map +0 -1
  274. package/build/values/index.js +0 -23
  275. package/build/values/index.js.map +0 -1
  276. package/dist/types/macros/Building.d.ts +0 -10
  277. package/dist/types/macros/Entities.d.ts +0 -11
  278. package/dist/types/values/TempValue.d.ts +0 -19
@@ -1,30 +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
24
- ? c.handle(scope, node.argument)
25
- : [null, []];
26
- const [ret, retInst] = scope.function.return(scope, arg);
27
- return [ret, [...argInst, ...retInst]];
28
- };
29
- exports.ReturnStatement = ReturnStatement;
30
- //# sourceMappingURL=Statements.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Statements.js","sourceRoot":"","sources":["../../src/handlers/Statements.ts"],"names":[],"mappings":";;;AAAA,kDAAwE;AAExE,sCAAyC;AAElC,MAAM,mBAAmB,GAA4B,CAC1D,CAAC,EACD,KAAK,EACL,IAA4B,EAC5B,EAAE;IACF,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B;AAEK,MAAM,cAAc,GAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;IACzD,MAAM,IAAI,GAAG,IAAI,qBAAY,CAAC,KAAK,EAAE,IAAa,CAAC,CAAC;IACpD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,+BAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEK,MAAM,iBAAiB,GAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;IAC5D,MAAM,IAAI,GAAG,IAAI,qBAAY,CAAC,KAAK,EAAE,IAAa,CAAC,CAAC;IACpD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,kCAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AAJW,QAAA,iBAAiB,qBAI5B;AAEK,MAAM,eAAe,GAA4B,CACtD,CAAC,EACD,KAAK,EACL,IAAwB,EACxB,EAAE;IACF,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ;QAClC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;QAChC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACf,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;AACzC,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B"}
@@ -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;AAGhD,MAAM,eAAe,GAAmB,CAC7C,CAAC,EACD,KAAK,EACL,IAAwB,EACxB,EAAE;IACF,MAAM,IAAI,GAAwB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,mCAAoB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC;AAfW,QAAA,eAAe,mBAe1B"}
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VariableDeclarator = exports.VariableDeclaration = void 0;
4
- const values_1 = require("../values");
5
- const utils_1 = require("../utils");
6
- const CompilerError_1 = require("../CompilerError");
7
- const VariableDeclaration = (c, scope, node) => {
8
- return c.handleMany(scope, node.declarations, (scope, child) => (0, exports.VariableDeclarator)(c, scope, child, node.kind));
9
- };
10
- exports.VariableDeclaration = VariableDeclaration;
11
- const VariableDeclarator = (c, scope, node, kind = "let") => {
12
- const valinst = node.init
13
- ? c.handleEval(scope, node.init)
14
- : [null, []];
15
- switch (node.id.type) {
16
- case "Identifier": {
17
- const { name } = node.id;
18
- const identifier = c.compactNames
19
- ? (0, utils_1.nodeName)(node)
20
- : scope.formatName(name);
21
- const [init] = valinst;
22
- if (kind === "const" && !init)
23
- throw new CompilerError_1.CompilerError("Cannot create constant with void value.");
24
- if (kind === "const" && init?.constant) {
25
- init.rename?.(identifier);
26
- scope.set(name, init);
27
- return valinst;
28
- }
29
- else {
30
- const value = scope.make(name, identifier);
31
- if (init) {
32
- if (init.macro)
33
- throw new CompilerError_1.CompilerError("Macro value must be constant.");
34
- valinst[1].push(...value["="](scope, init)[1]);
35
- }
36
- if (kind === "const")
37
- value.constant = true;
38
- return valinst;
39
- }
40
- }
41
- case "ArrayPattern": {
42
- const { elements } = node.id;
43
- const [init] = valinst;
44
- if (!init)
45
- throw new CompilerError_1.CompilerError("Cannot use array destructuring with constant with void value.");
46
- if (!init.macro)
47
- throw new CompilerError_1.CompilerError("Cannot use array destructuring on non macro values");
48
- if (kind !== "const")
49
- throw new CompilerError_1.CompilerError("Macro value must be constant.");
50
- if (!(init instanceof values_1.ObjectValue)) {
51
- throw new CompilerError_1.CompilerError("Array destructuring target must be an object value");
52
- }
53
- for (let i = 0; i < elements.length; i++) {
54
- const element = elements[i];
55
- if (!element)
56
- continue;
57
- if (element.type !== "Identifier") {
58
- throw new CompilerError_1.CompilerError("Array destructuring expression can only have empty items or identifiers");
59
- }
60
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
61
- const val = init.data[i];
62
- val.rename?.(c.compactNames ? (0, utils_1.nodeName)(element) : scope.formatName(element.name));
63
- scope.set(element.name, val);
64
- }
65
- return valinst;
66
- }
67
- default:
68
- throw new CompilerError_1.CompilerError("");
69
- }
70
- };
71
- exports.VariableDeclarator = VariableDeclarator;
72
- //# sourceMappingURL=VariableDeclaration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VariableDeclaration.js","sourceRoot":"","sources":["../../src/handlers/VariableDeclaration.ts"],"names":[],"mappings":"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"}
@@ -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":";;;AAAA,kDAA8E;AAE9E,sCAAyC;AAElC,MAAM,cAAc,GAAmB,CAC5C,CAAC,EACD,KAAK,EACL,IAAuB,EACvB,EAAE;IACF,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,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,IAAa,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,IAAI,qBAAY,CAAC,KAAK,EAAE,IAAa,CAAC,CAAC;IAC3D,MAAM,aAAa,GAAG,IAAI,8BAAe,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,IAAI,8BAAe,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAEtE,IAAI,IAAI,YAAY,qBAAY,EAAE;QAChC,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,KAAK,CAAC,IAAI,CACR,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,CACZ,CAAC;SACH;QACD,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACtB;IAED,KAAK,CAAC,IAAI,CACR,aAAa,EACb,GAAG,SAAS,EACZ,IAAI,8BAAe,CACjB,WAAW,EACX,wBAAS,CAAC,KAAK,EACf,IAAI,EACJ,IAAI,qBAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAC3B,EACD,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,CACZ,CAAC;IACF,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACvB,CAAC,CAAC;AAvCW,QAAA,cAAc,kBAuCzB"}
@@ -1,32 +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
- 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("./Program"), exports);
18
- __exportStar(require("./VariableDeclaration"), exports);
19
- __exportStar(require("./Literal"), exports);
20
- __exportStar(require("./OperationExpressions"), exports);
21
- __exportStar(require("./Identifier"), exports);
22
- __exportStar(require("./Statements"), exports);
23
- __exportStar(require("./IfStatement"), exports);
24
- __exportStar(require("./WhileStatement"), exports);
25
- __exportStar(require("./ForStatement"), exports);
26
- __exportStar(require("./Function"), exports);
27
- __exportStar(require("./CallExpression"), exports);
28
- __exportStar(require("./Object"), exports);
29
- __exportStar(require("./TemplateExpression"), exports);
30
- __exportStar(require("./BlockStatement"), exports);
31
- __exportStar(require("./File"), exports);
32
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,wDAAsC;AACtC,4CAA0B;AAC1B,yDAAuC;AACvC,+CAA6B;AAC7B,+CAA6B;AAC7B,gDAA8B;AAC9B,mDAAiC;AACjC,iDAA+B;AAC/B,6CAA2B;AAC3B,mDAAiC;AACjC,2CAAyB;AACzB,uDAAqC;AACrC,mDAAiC;AACjC,yCAAuB"}
package/build/index.js DELETED
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CompilerError = exports.Compiler = void 0;
4
- var Compiler_1 = require("./Compiler");
5
- Object.defineProperty(exports, "Compiler", { enumerable: true, get: function () { return Compiler_1.Compiler; } });
6
- var CompilerError_1 = require("./CompilerError");
7
- Object.defineProperty(exports, "CompilerError", { enumerable: true, get: function () { return CompilerError_1.CompilerError; } });
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAAuD;AAA9C,oGAAA,QAAQ,OAAA;AACjB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initScope = void 0;
4
- const macros_1 = require("./macros");
5
- const Namespace_1 = require("./macros/Namespace");
6
- const RawValue_1 = require("./macros/RawValue");
7
- function initScope(scope) {
8
- // namespaces
9
- scope.hardSet("ControlKind", new macros_1.NamespaceMacro(scope));
10
- scope.hardSet("Vars", new macros_1.VarsNamespace(scope));
11
- scope.hardSet("Items", new macros_1.NamespaceMacro(scope, { changeCasing: true }));
12
- scope.hardSet("Liquids", new macros_1.NamespaceMacro(scope));
13
- scope.hardSet("Units", new macros_1.NamespaceMacro(scope));
14
- scope.hardSet("LAccess", new macros_1.NamespaceMacro(scope));
15
- scope.hardSet("UnitCommands", new Namespace_1.UCommandsNamespace(scope));
16
- scope.hardSet("Blocks", new macros_1.NamespaceMacro(scope, { changeCasing: true }));
17
- // helper methods
18
- scope.hardSet("getBuilding", new macros_1.BuildingBuilder(scope));
19
- scope.hardSet("getVar", new RawValue_1.RawValueMacro(scope));
20
- scope.hardSet("concat", new macros_1.Concat(scope));
21
- scope.hardSet("Math", new macros_1.MlogMath(scope));
22
- scope.hardSet("Memory", new macros_1.MemoryBuilder(scope));
23
- // commands
24
- scope.hardSet("draw", new macros_1.commands.Draw(scope));
25
- scope.hardSet("print", new macros_1.commands.Print(scope));
26
- scope.hardSet("printFlush", new macros_1.commands.PrintFlush(scope));
27
- scope.hardSet("drawFlush", new macros_1.commands.DrawFlush(scope));
28
- scope.hardSet("getLink", new macros_1.commands.GetLink(scope));
29
- scope.hardSet("control", new macros_1.commands.Control(scope));
30
- scope.hardSet("radar", new macros_1.commands.Radar(scope));
31
- scope.hardSet("sensor", new macros_1.commands.Sensor(scope));
32
- scope.hardSet("wait", new macros_1.commands.Wait(scope));
33
- scope.hardSet("lookup", new macros_1.commands.Lookup(scope));
34
- scope.hardSet("unitBind", new macros_1.commands.UnitBind(scope));
35
- scope.hardSet("unitControl", new macros_1.commands.UnitControl(scope));
36
- scope.hardSet("unitRadar", new macros_1.commands.UnitRadar(scope));
37
- scope.hardSet("unitLocate", new macros_1.commands.UnitLocate(scope));
38
- }
39
- exports.initScope = initScope;
40
- //# sourceMappingURL=initScope.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initScope.js","sourceRoot":"","sources":["../src/initScope.ts"],"names":[],"mappings":"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"}
@@ -1,31 +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
- resolve(i) {
15
- for (const literal of this.bonds)
16
- literal.data = i;
17
- }
18
- bind(bond) {
19
- this.bonds.push(bond);
20
- }
21
- bindBreak(scope) {
22
- scope.break = this;
23
- return this;
24
- }
25
- bindContinue(scope) {
26
- scope.continue = this;
27
- return this;
28
- }
29
- }
30
- exports.AddressResolver = AddressResolver;
31
- //# 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;IAMlD,YAAY,GAAG,KAAuB;QACpC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IARD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAW,MAAM,CAAC,KAAK,IAAG,CAAC;IAM3B,OAAO,CAAC,CAAS;QACf,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,IAAoB;QACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,SAAS,CAAC,KAAa;QACrB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,YAAY,CAAC,KAAa;QACxB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAxBD,0CAwBC"}
@@ -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;IACnD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,EAAE,2BAAS,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;CACF;AAJD,4CAIC;AAED,MAAa,mBAAoB,SAAQ,iCAAe;IACtD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,EAAE,2BAAS,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,iBAAkB,SAAQ,iCAAe;IACpD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,EAAE,2BAAS,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;CACF;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;IACjD;QACE,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;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;IAS1B,YAAY,GAAG,IAAgC;QARvC,YAAO,GAAG,KAAK,CAAC;QAStB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IATD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAW,MAAM,CAAC,KAAK;QACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAKD,OAAO,CAAC,EAAU,IAAG,CAAC;IACtB,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;CACF;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 = null, right = null) {
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":";;;AACA,uDAAoD;AAEpD,IAAY,SASX;AATD,WAAY,SAAS;IACnB,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;AACnB,CAAC,EATW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QASpB;AAED,MAAa,eAAgB,SAAQ,iCAAe;IAClD,YACE,OAAuB,EACvB,IAAe,EACf,OAAsB,IAAI,EAC1B,QAAuB,IAAI;QAE3B,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;CACF;AATD,0CASC"}
@@ -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;IACvD,YAAY,IAAY,EAAE,IAAY,EAAE,IAAY,EAAE,KAAoB;QACxE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;CACF;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;IACxD,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;CACF;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;IACjD,YAAY,KAAa,EAAE,KAAa;QACtC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;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;IACvD,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;CACF;AAJD,oDAIC"}
@@ -1,26 +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
- 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
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
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"}
@@ -1,89 +0,0 @@
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
- const CompilerError_1 = require("../CompilerError");
10
- exports.itemNames = [
11
- "copper",
12
- "lead",
13
- "metaglass",
14
- "graphite",
15
- "sand",
16
- "coal",
17
- "titanium",
18
- "thorium",
19
- "scrap",
20
- "silicon",
21
- "plastanium",
22
- "phaseFabric",
23
- "surgeAlloy",
24
- "sporePod",
25
- "blastCompound",
26
- "pyratite",
27
- ];
28
- class Building extends values_1.ObjectValue {
29
- constructor({ scope, name, renameable, }) {
30
- super(scope, {
31
- $get: new Function_1.MacroFunction(scope, (prop) => {
32
- if (prop instanceof values_1.LiteralValue && typeof prop.data === "string") {
33
- const name = exports.itemNames.includes(prop.data)
34
- ? (0, utils_1.camelToDashCase)(prop.data)
35
- : prop.data;
36
- const temp = new values_1.TempValue({ scope });
37
- return [
38
- temp,
39
- [new instructions_1.InstructionBase("sensor", temp, this, `@${name}`)],
40
- ];
41
- }
42
- if (prop instanceof values_1.StoreValue) {
43
- const temp = new values_1.TempValue({ scope });
44
- return [temp, [new instructions_1.InstructionBase("sensor", temp, this, prop)]];
45
- }
46
- throw new CompilerError_1.CompilerError("Building property acessors must be string literals or stores");
47
- }),
48
- });
49
- this.name = name;
50
- this.renameable = !!renameable;
51
- }
52
- toString() {
53
- return this.name;
54
- }
55
- rename(name) {
56
- if (!this.renameable)
57
- return;
58
- this.name = name;
59
- this.renameable = false;
60
- }
61
- }
62
- exports.Building = Building;
63
- class BuildingBuilder extends values_1.ObjectValue {
64
- constructor(scope) {
65
- super(scope, {
66
- $call: new Function_1.MacroFunction(scope, (nameLit) => {
67
- if (!(nameLit instanceof values_1.LiteralValue))
68
- throw new CompilerError_1.CompilerError("Block name must be a literal.");
69
- if (typeof nameLit.data !== "string")
70
- throw new CompilerError_1.CompilerError("Block name must be a string.");
71
- return [new Building({ scope, name: nameLit.data }), []];
72
- }),
73
- });
74
- }
75
- }
76
- exports.BuildingBuilder = BuildingBuilder;
77
- for (const key in operators_1.operatorMap) {
78
- const kind = operators_1.operatorMap[key];
79
- Building.prototype[key] = function (scope, value) {
80
- const left = new values_1.StoreValue(scope, this.name);
81
- const [right, rightInst] = value.eval(scope);
82
- const temp = new values_1.TempValue({ scope });
83
- return [
84
- temp,
85
- [...rightInst, new instructions_1.OperationInstruction(kind, temp, left, right)],
86
- ];
87
- };
88
- }
89
- //# sourceMappingURL=Building.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Building.js","sourceRoot":"","sources":["../../src/macros/Building.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MacroFunction = void 0;
4
- const values_1 = require("../values");
5
- class MacroFunction extends values_1.VoidValue {
6
- constructor(scope, fn) {
7
- super(scope);
8
- this.macro = true;
9
- this.constant = true;
10
- this.fn = fn;
11
- }
12
- call(scope, args) {
13
- return this.fn.apply(this, args);
14
- }
15
- eval(_scope) {
16
- return [this, []];
17
- }
18
- }
19
- exports.MacroFunction = MacroFunction;
20
- //# sourceMappingURL=Function.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Function.js","sourceRoot":"","sources":["../../src/macros/Function.ts"],"names":[],"mappings":";;;AACA,sCAAsC;AAMtC,MAAa,aAEX,SAAQ,kBAAS;IAIjB,YAAY,KAAa,EAAE,EAAiB;QAC1C,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,MAAc;QACjB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpB,CAAC;CACF;AAhBD,sCAgBC"}