mlogjs 0.2.0 → 0.3.0-beta.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 (264) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +68 -18
  3. package/build/Compiler.js +32 -47
  4. package/build/Compiler.js.map +1 -1
  5. package/build/CompilerError.js +11 -0
  6. package/build/CompilerError.js.map +1 -0
  7. package/build/Scope.js +17 -7
  8. package/build/Scope.js.map +1 -1
  9. package/build/bin.js +45 -12
  10. package/build/bin.js.map +1 -1
  11. package/build/handlers/BlockStatement.js.map +1 -1
  12. package/build/handlers/CallExpression.js.map +1 -1
  13. package/build/handlers/File.js +9 -0
  14. package/build/handlers/File.js.map +1 -0
  15. package/build/handlers/ForStatement.js.map +1 -1
  16. package/build/handlers/Function.js +20 -9
  17. package/build/handlers/Function.js.map +1 -1
  18. package/build/handlers/IfStatement.js.map +1 -1
  19. package/build/handlers/Literal.js +11 -14
  20. package/build/handlers/Literal.js.map +1 -1
  21. package/build/handlers/Object.js +16 -5
  22. package/build/handlers/Object.js.map +1 -1
  23. package/build/handlers/OperationExpressions.js +6 -1
  24. package/build/handlers/OperationExpressions.js.map +1 -1
  25. package/build/handlers/Program.js +1 -1
  26. package/build/handlers/Program.js.map +1 -1
  27. package/build/handlers/Statements.js.map +1 -1
  28. package/build/handlers/TemplateExpression.js.map +1 -1
  29. package/build/handlers/VariableDeclaration.js +25 -9
  30. package/build/handlers/VariableDeclaration.js.map +1 -1
  31. package/build/handlers/WhileStatement.js.map +1 -1
  32. package/build/handlers/index.js +1 -0
  33. package/build/handlers/index.js.map +1 -1
  34. package/build/index.js +5 -5
  35. package/build/index.js.map +1 -1
  36. package/build/initScope.js +40 -0
  37. package/build/initScope.js.map +1 -0
  38. package/build/instructions/InstructionBase.js +1 -1
  39. package/build/instructions/InstructionBase.js.map +1 -1
  40. package/build/instructions/JumpInstruction.js +1 -1
  41. package/build/instructions/JumpInstruction.js.map +1 -1
  42. package/build/instructions/OperationInstruction.js.map +1 -1
  43. package/build/macros/Building.js +16 -8
  44. package/build/macros/Building.js.map +1 -1
  45. package/build/macros/Function.js +1 -1
  46. package/build/macros/Function.js.map +1 -1
  47. package/build/macros/Math.js +13 -8
  48. package/build/macros/Math.js.map +1 -1
  49. package/build/macros/Memory.js +7 -5
  50. package/build/macros/Memory.js.map +1 -1
  51. package/build/macros/Namespace.js +24 -11
  52. package/build/macros/Namespace.js.map +1 -1
  53. package/build/macros/Other.js +2 -1
  54. package/build/macros/Other.js.map +1 -1
  55. package/build/macros/RawValue.js +2 -1
  56. package/build/macros/RawValue.js.map +1 -1
  57. package/build/macros/commands/{control.js → Control.js} +4 -3
  58. package/build/macros/commands/Control.js.map +1 -0
  59. package/build/macros/commands/Draw.js +4 -3
  60. package/build/macros/commands/Draw.js.map +1 -1
  61. package/build/macros/commands/DrawFlush.js +2 -1
  62. package/build/macros/commands/DrawFlush.js.map +1 -1
  63. package/build/macros/commands/GetLink.js +8 -4
  64. package/build/macros/commands/GetLink.js.map +1 -1
  65. package/build/macros/commands/Lookup.js +5 -4
  66. package/build/macros/commands/Lookup.js.map +1 -1
  67. package/build/macros/commands/Print.js +5 -1
  68. package/build/macros/commands/Print.js.map +1 -1
  69. package/build/macros/commands/PrintFlush.js +2 -1
  70. package/build/macros/commands/PrintFlush.js.map +1 -1
  71. package/build/macros/commands/Radar.js +16 -12
  72. package/build/macros/commands/Radar.js.map +1 -1
  73. package/build/macros/commands/Sensor.js +4 -3
  74. package/build/macros/commands/Sensor.js.map +1 -1
  75. package/build/macros/commands/UnitBind.js +2 -1
  76. package/build/macros/commands/UnitBind.js.map +1 -1
  77. package/build/macros/commands/UnitControl.js +13 -8
  78. package/build/macros/commands/UnitControl.js.map +1 -1
  79. package/build/macros/commands/UnitLocate.js +29 -8
  80. package/build/macros/commands/UnitLocate.js.map +1 -1
  81. package/build/macros/commands/UnitRadar.js +17 -10
  82. package/build/macros/commands/UnitRadar.js.map +1 -1
  83. package/build/macros/commands/Wait.js +2 -1
  84. package/build/macros/commands/Wait.js.map +1 -1
  85. package/build/operators.js.map +1 -1
  86. package/build/types.js +1 -1
  87. package/build/types.js.map +1 -1
  88. package/build/utils.js +7 -2
  89. package/build/utils.js.map +1 -1
  90. package/build/values/BaseValue.js +5 -5
  91. package/build/values/BaseValue.js.map +1 -1
  92. package/build/values/FunctionValue.js +25 -13
  93. package/build/values/FunctionValue.js.map +1 -1
  94. package/build/values/LiteralValue.js +5 -4
  95. package/build/values/LiteralValue.js.map +1 -1
  96. package/build/values/ObjectValue.js +11 -6
  97. package/build/values/ObjectValue.js.map +1 -1
  98. package/build/values/StoreValue.js +3 -2
  99. package/build/values/StoreValue.js.map +1 -1
  100. package/build/values/TempValue.js +18 -7
  101. package/build/values/TempValue.js.map +1 -1
  102. package/build/values/VoidValue.js +8 -7
  103. package/build/values/VoidValue.js.map +1 -1
  104. package/dist/bin.cjs +82 -0
  105. package/dist/bin.cjs.map +1 -0
  106. package/dist/index.cjs +2187 -0
  107. package/dist/index.cjs.map +1 -0
  108. package/dist/index.mjs +2162 -0
  109. package/dist/index.mjs.map +1 -0
  110. package/dist/types/Compiler.d.ts +26 -0
  111. package/dist/types/CompilerError.d.ts +9 -0
  112. package/dist/types/Scope.d.ts +24 -0
  113. package/dist/types/bin.d.ts +1 -0
  114. package/dist/types/handlers/BlockStatement.d.ts +2 -0
  115. package/dist/types/handlers/CallExpression.d.ts +3 -0
  116. package/dist/types/handlers/File.d.ts +2 -0
  117. package/dist/types/handlers/ForStatement.d.ts +2 -0
  118. package/{build → dist/types}/handlers/Function.d.ts +1 -0
  119. package/{build → dist/types}/handlers/Identifier.d.ts +0 -0
  120. package/dist/types/handlers/IfStatement.d.ts +2 -0
  121. package/dist/types/handlers/Literal.d.ts +5 -0
  122. package/{build → dist/types}/handlers/Object.d.ts +2 -0
  123. package/{build → dist/types}/handlers/OperationExpressions.d.ts +1 -0
  124. package/dist/types/handlers/Program.d.ts +2 -0
  125. package/dist/types/handlers/Statements.d.ts +5 -0
  126. package/dist/types/handlers/TemplateExpression.d.ts +2 -0
  127. package/dist/types/handlers/Typescript.d.ts +7 -0
  128. package/dist/types/handlers/VariableDeclaration.d.ts +3 -0
  129. package/dist/types/handlers/WhileStatement.d.ts +3 -0
  130. package/{build → dist/types}/handlers/index.d.ts +2 -0
  131. package/dist/types/index.d.ts +2 -0
  132. package/dist/types/initScope.d.ts +5 -0
  133. package/{build → dist/types}/instructions/AddressResolver.d.ts +1 -1
  134. package/{build → dist/types}/instructions/ControlInstructions.d.ts +0 -3
  135. package/{build → dist/types}/instructions/EndInstruction.d.ts +0 -0
  136. package/{build → dist/types}/instructions/InstructionBase.d.ts +4 -4
  137. package/{build → dist/types}/instructions/JumpInstruction.d.ts +1 -1
  138. package/{build → dist/types}/instructions/OperationInstruction.d.ts +1 -1
  139. package/{build → dist/types}/instructions/SetCounterInstruction.d.ts +0 -0
  140. package/{build → dist/types}/instructions/SetInstruction.d.ts +1 -0
  141. package/{build → dist/types}/instructions/ZeroSpaceInstruction.d.ts +0 -0
  142. package/{build → dist/types}/instructions/index.d.ts +0 -0
  143. package/{build → dist/types}/macros/Building.d.ts +1 -2
  144. package/dist/types/macros/Entities.d.ts +11 -0
  145. package/dist/types/macros/Function.d.ts +13 -0
  146. package/{build/macros/Draw.d.ts → dist/types/macros/GetGlobal.d.ts} +1 -1
  147. package/{build → dist/types}/macros/Math.d.ts +0 -0
  148. package/{build → dist/types}/macros/Memory.d.ts +0 -0
  149. package/{build → dist/types}/macros/Namespace.d.ts +0 -5
  150. package/{build → dist/types}/macros/Other.d.ts +0 -0
  151. package/{build → dist/types}/macros/RawValue.d.ts +0 -0
  152. package/{build/macros/commands/Asm.d.ts → dist/types/macros/commands/Control.d.ts} +1 -1
  153. package/{build/macros/helpers/GetVar.d.ts → dist/types/macros/commands/Draw.d.ts} +1 -1
  154. package/{build → dist/types}/macros/commands/DrawFlush.d.ts +1 -1
  155. package/{build/macros/commands/Draw.d.ts → dist/types/macros/commands/End.d.ts} +1 -1
  156. package/{build → dist/types}/macros/commands/GetLink.d.ts +0 -0
  157. package/{build → dist/types}/macros/commands/Lookup.d.ts +0 -0
  158. package/{build → dist/types}/macros/commands/Print.d.ts +1 -1
  159. package/{build → dist/types}/macros/commands/PrintFlush.d.ts +1 -1
  160. package/{build → dist/types}/macros/commands/Radar.d.ts +0 -0
  161. package/{build → dist/types}/macros/commands/Sensor.d.ts +0 -0
  162. package/{build → dist/types}/macros/commands/UnitBind.d.ts +1 -1
  163. package/dist/types/macros/commands/UnitControl.d.ts +5 -0
  164. package/{build → dist/types}/macros/commands/UnitLocate.d.ts +0 -0
  165. package/{build → dist/types}/macros/commands/UnitRadar.d.ts +0 -0
  166. package/{build → dist/types}/macros/commands/Wait.d.ts +1 -1
  167. package/{build → dist/types}/macros/commands/index.d.ts +1 -0
  168. package/{build → dist/types}/macros/index.d.ts +0 -1
  169. package/{build → dist/types}/operators.d.ts +1 -1
  170. package/dist/types/types.d.ts +209 -0
  171. package/dist/types/utils.d.ts +24 -0
  172. package/dist/types/values/BaseValue.d.ts +7 -0
  173. package/dist/types/values/DestructuringValue.d.ts +17 -0
  174. package/{build → dist/types}/values/FunctionValue.d.ts +21 -8
  175. package/{build → dist/types}/values/LiteralValue.d.ts +2 -1
  176. package/dist/types/values/ObjectValue.d.ts +23 -0
  177. package/dist/types/values/SenseableValue.d.ts +23 -0
  178. package/dist/types/values/StackValue.d.ts +16 -0
  179. package/{build → dist/types}/values/StoreValue.d.ts +7 -3
  180. package/{build → dist/types}/values/TempValue.d.ts +9 -2
  181. package/dist/types/values/ValueOwner.d.ts +27 -0
  182. package/dist/types/values/VoidValue.d.ts +16 -0
  183. package/{build → dist/types}/values/index.d.ts +2 -1
  184. package/lib/commands.d.ts +532 -326
  185. package/lib/eslib/index.d.ts +3 -3
  186. package/lib/eslib/lib.d.ts +9 -9
  187. package/lib/eslib/lib.es2015.collection.d.ts +89 -89
  188. package/lib/eslib/lib.es2015.core.d.ts +16 -16
  189. package/lib/eslib/lib.es2015.d.ts +30 -30
  190. package/lib/eslib/lib.es2015.generator.d.ts +79 -79
  191. package/lib/eslib/lib.es2015.iterable.d.ts +70 -70
  192. package/lib/eslib/lib.es5.d.ts +295 -295
  193. package/lib/eslib/lib.es6.d.ts +18 -18
  194. package/lib/globals.d.ts +341 -328
  195. package/lib/helpers.d.ts +23 -23
  196. package/lib/index.d.ts +7 -7
  197. package/lib/kinds.d.ts +36 -36
  198. package/lib/memory.d.ts +17 -17
  199. package/lib/traits.d.ts +141 -121
  200. package/lib/util.d.ts +32 -32
  201. package/package.json +68 -48
  202. package/build/Compiler.d.ts +0 -18
  203. package/build/Scope.d.ts +0 -26
  204. package/build/bin.d.ts +0 -2
  205. package/build/handlers/BlockStatement.d.ts +0 -2
  206. package/build/handlers/CallExpression.d.ts +0 -3
  207. package/build/handlers/ForStatement.d.ts +0 -2
  208. package/build/handlers/IfStatement.d.ts +0 -2
  209. package/build/handlers/Literal.d.ts +0 -2
  210. package/build/handlers/Program.d.ts +0 -2
  211. package/build/handlers/Statements.d.ts +0 -5
  212. package/build/handlers/TemplateExpression.d.ts +0 -2
  213. package/build/handlers/VariableDeclaration.d.ts +0 -3
  214. package/build/handlers/WhileStatement.d.ts +0 -2
  215. package/build/index.d.ts +0 -1
  216. package/build/macros/Blocks.d.ts +0 -5
  217. package/build/macros/Blocks.js +0 -143
  218. package/build/macros/Blocks.js.map +0 -1
  219. package/build/macros/Draw.js +0 -39
  220. package/build/macros/Draw.js.map +0 -1
  221. package/build/macros/Function.d.ts +0 -12
  222. package/build/macros/Items.d.ts +0 -5
  223. package/build/macros/Items.js +0 -20
  224. package/build/macros/Items.js.map +0 -1
  225. package/build/macros/Liquids.d.ts +0 -5
  226. package/build/macros/Liquids.js +0 -18
  227. package/build/macros/Liquids.js.map +0 -1
  228. package/build/macros/Symbol.d.ts +0 -0
  229. package/build/macros/Symbol.js +0 -1
  230. package/build/macros/Symbol.js.map +0 -1
  231. package/build/macros/SymbolNamespace.d.ts +0 -0
  232. package/build/macros/SymbolNamespace.js +0 -1
  233. package/build/macros/SymbolNamespace.js.map +0 -1
  234. package/build/macros/TypeFactory.d.ts +0 -8
  235. package/build/macros/TypeFactory.js +0 -22
  236. package/build/macros/TypeFactory.js.map +0 -1
  237. package/build/macros/Units.d.ts +0 -5
  238. package/build/macros/Units.js +0 -18
  239. package/build/macros/Units.js.map +0 -1
  240. package/build/macros/Vars.d.ts +0 -5
  241. package/build/macros/Vars.js +0 -18
  242. package/build/macros/Vars.js.map +0 -1
  243. package/build/macros/commands/Asm.js +0 -21
  244. package/build/macros/commands/Asm.js.map +0 -1
  245. package/build/macros/commands/UnitControl.d.ts +0 -5
  246. package/build/macros/commands/control.d.ts +0 -5
  247. package/build/macros/commands/control.js.map +0 -1
  248. package/build/macros/commands/io.d.ts +0 -8
  249. package/build/macros/commands/io.js +0 -47
  250. package/build/macros/commands/io.js.map +0 -1
  251. package/build/macros/helpers/GetBuilding.d.ts +0 -5
  252. package/build/macros/helpers/GetBuilding.js +0 -16
  253. package/build/macros/helpers/GetBuilding.js.map +0 -1
  254. package/build/macros/helpers/GetVar.js +0 -16
  255. package/build/macros/helpers/GetVar.js.map +0 -1
  256. package/build/macros/helpers/index.d.ts +0 -2
  257. package/build/macros/helpers/index.js +0 -15
  258. package/build/macros/helpers/index.js.map +0 -1
  259. package/build/types.d.ts +0 -49
  260. package/build/utils.d.ts +0 -3
  261. package/build/values/BaseValue.d.ts +0 -5
  262. package/build/values/ObjectValue.d.ts +0 -17
  263. package/build/values/VoidValue.d.ts +0 -11
  264. package/dist/bundle.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TempValue.js","sourceRoot":"","sources":["../../src/values/TempValue.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AACjD,4CAAyC;AAEzC,yBAAgC;AAChC,iDAA8C;AAE9C,MAAa,SAAU,SAAQ,aAAU;IAKvC,YAAY,KAAa,EAAE,IAAa;QACtC,KAAK,CACH,KAAK,EACL,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CACjE,CAAC;QAPJ,aAAQ,GAAG,IAAI,CAAC;QAQd,IAAI,CAAC,IAAI;YAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,KAAa;QAC9B,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,6BAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;SAClD;QACD,IAAI,KAAK,YAAY,2BAAY,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1B;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QACD,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI;YAChB,GAAG,qBAAS;YACZ,MAAM;YACN,KAAK;YACL,MAAM;YACN,UAAU;YACV,OAAO;SACC,EAAE;YACV,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,KAAK;gBAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAS,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAC/D;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,6BAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI;YAChB,GAAG,qBAAS;YACZ,MAAM;YACN,KAAK;YACL,MAAM;YACN,UAAU;YACV,OAAO;SACC,EAAE;YACV,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SACtC;IACH,CAAC;CACF;AAjED,8BAiEC"}
1
+ {"version":3,"file":"TempValue.js","sourceRoot":"","sources":["../../src/values/TempValue.ts"],"names":[],"mappings":";;;AAAA,oDAAiD;AACjD,kDAAiD;AACjD,4CAAyC;AAEzC,yBAAgC;AAChC,iDAA8C;AAQ9C,MAAa,SAAU,SAAQ,aAAU;IAMvC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,EAAoB;QAC9D,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QAL7C,aAAQ,GAAG,IAAI,CAAC;QAMd,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,KAAa,EAAE,KAAa;QAC9B,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,6BAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;SAClD;QACD,IAAI,KAAK,YAAY,2BAAY,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC1B;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,IAAI,6BAAa,CAAC,kCAAkC,CAAC,CAAC;SAC7D;QACD,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,6BAAa,CAAC,8BAA8B,CAAC,CAAC;QAC1E,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI;YAChB,GAAG,qBAAS;YACZ,MAAM;YACN,KAAK;YACL,MAAM;YACN,UAAU;YACV,OAAO;YACP,QAAQ;SACA,EAAE;YACV,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,KAAK;gBAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAa,EAAE,EAAE;oBAC/B,6FAA6F;oBAC7F,OAAQ,KAAK,CAAC,GAAmB,CAAc,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACrE,CAAC,CAAC;SACL;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,6BAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI;YAChB,GAAG,qBAAS;YACZ,MAAM;YACN,KAAK;YACL,MAAM;YACN,UAAU;YACV,OAAO;YACP,QAAQ;SACA,EAAE;YACV,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAU,CAAC;SAC/C;IACH,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;CACF;AA1ED,8BA0EC"}
@@ -2,20 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VoidValue = void 0;
4
4
  const operators_1 = require("../operators");
5
+ const CompilerError_1 = require("../CompilerError");
5
6
  class VoidValue {
6
7
  constructor(scope) {
7
8
  this.constant = false;
8
9
  this.macro = false;
9
10
  this.scope = scope;
10
11
  }
11
- eval(scope) {
12
- throw new Error(`${this} cannot eval.`);
12
+ eval(_scope) {
13
+ throw new CompilerError_1.CompilerError(`${this} cannot eval.`);
13
14
  }
14
- call(scope, args) {
15
- throw new Error(`${this} cannot call.`);
15
+ call(_scope, _args) {
16
+ throw new CompilerError_1.CompilerError(`${this} cannot call.`);
16
17
  }
17
- get(scope, name) {
18
- throw new Error(`${this} cannot get.`);
18
+ get(_scope, _name) {
19
+ throw new CompilerError_1.CompilerError(`${this} cannot get.`);
19
20
  }
20
21
  toString() {
21
22
  return "void";
@@ -25,7 +26,7 @@ exports.VoidValue = VoidValue;
25
26
  for (const key of operators_1.operators) {
26
27
  VoidValue.prototype[key] = function () {
27
28
  console.log(this);
28
- throw new Error(`${this} cannot '${key}' operation.`);
29
+ throw new CompilerError_1.CompilerError(`${this} cannot '${key}' operation.`);
29
30
  };
30
31
  }
31
32
  //# sourceMappingURL=VoidValue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoidValue.js","sourceRoot":"","sources":["../../src/values/VoidValue.ts"],"names":[],"mappings":";;;AACA,4CAAyC;AAEzC,MAAa,SAAS;IAIpB,YAAY,KAAa;QAFzB,aAAQ,GAAG,KAAK,CAAC;QACjB,UAAK,GAAG,KAAK,CAAC;QAEZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,KAAa;QAChB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,KAAa,EAAE,IAAc;QAChC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;IAC1C,CAAC;IACD,GAAG,CAAC,KAAa,EAAE,IAAY;QAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,cAAc,CAAC,CAAC;IACzC,CAAC;IACD,QAAQ;QACN,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAnBD,8BAmBC;AAED,KAAK,MAAM,GAAG,IAAI,qBAAS,EAAE;IAC3B,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG;QACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,YAAY,GAAG,cAAc,CAAC,CAAC;IACxD,CAAC,CAAC;CACH"}
1
+ {"version":3,"file":"VoidValue.js","sourceRoot":"","sources":["../../src/values/VoidValue.ts"],"names":[],"mappings":";;;AACA,4CAAyC;AACzC,oDAAiD;AAEjD,MAAa,SAAS;IAIpB,YAAY,KAAa;QAFzB,aAAQ,GAAG,KAAK,CAAC;QACjB,UAAK,GAAG,KAAK,CAAC;QAEZ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,MAAc;QACjB,MAAM,IAAI,6BAAa,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,CAAC,MAAc,EAAE,KAAe;QAClC,MAAM,IAAI,6BAAa,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;IAClD,CAAC;IACD,GAAG,CAAC,MAAc,EAAE,KAAa;QAC/B,MAAM,IAAI,6BAAa,CAAC,GAAG,IAAI,cAAc,CAAC,CAAC;IACjD,CAAC;IACD,QAAQ;QACN,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAnBD,8BAmBC;AAKD,KAAK,MAAM,GAAG,IAAI,qBAAS,EAAE;IAC3B,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG;QACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,IAAI,6BAAa,CAAC,GAAG,IAAI,YAAY,GAAG,cAAc,CAAC,CAAC;IAChE,CAAC,CAAC;CACH"}
package/dist/bin.cjs ADDED
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ var fs = require('fs');
5
+ var helpers = require('yargs/helpers');
6
+ var index_cjs = require('./index.cjs');
7
+ var cliHighlight = require('cli-highlight');
8
+ var yargs = require('yargs');
9
+ var chalk = require('chalk');
10
+ var path = require('path');
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var yargs__default = /*#__PURE__*/_interopDefaultLegacy(yargs);
15
+ var chalk__default = /*#__PURE__*/_interopDefaultLegacy(chalk);
16
+
17
+ yargs__default["default"](helpers.hideBin(process.argv))
18
+ .command("$0 [path] [out]", "compiles your Javascript file to MLog", yargs => {
19
+ return yargs
20
+ .positional("path", {
21
+ describe: "path of the file to compile",
22
+ type: "string",
23
+ })
24
+ .positional("out", {
25
+ describe: "path of the output file",
26
+ type: "string",
27
+ })
28
+ .option("compact-names", {
29
+ type: "boolean",
30
+ default: false,
31
+ describe: "Wether the compiler should preserve or compact variable and function names",
32
+ });
33
+ }, argv => {
34
+ const path$1 = argv.path;
35
+ if (!path$1)
36
+ return console.log("missing required path argument");
37
+ if (!fs.existsSync(path$1))
38
+ return console.log(`file at ${path$1} does not exist`);
39
+ const out = argv.out ?? defaultOutPath(path$1);
40
+ if (path$1 == out)
41
+ return console.log("The out path cannot be the same as the input path");
42
+ const compiler = new index_cjs.Compiler({
43
+ compactNames: argv["compact-names"],
44
+ });
45
+ const code = fs.readFileSync(path$1, "utf8");
46
+ const [output, error, [node]] = compiler.compile(code);
47
+ if (error) {
48
+ if (!(error instanceof index_cjs.CompilerError)) {
49
+ console.error(error);
50
+ return;
51
+ }
52
+ let start = error.loc;
53
+ let end = start;
54
+ if (node) {
55
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
56
+ start = node.loc.start;
57
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
58
+ end = node.loc.end;
59
+ }
60
+ const lines = code.split("\n");
61
+ console.log(chalk__default["default"].cyanBright([path.resolve(path$1), start.line, start.column].join(":")));
62
+ for (let i = Math.max(start.line - 3, 0); i < Math.min(end.line + 2, lines.length); i++) {
63
+ const n = i + 1;
64
+ const head = chalk__default["default"].gray(`${n} | `.padStart(6, " "));
65
+ console.log(head + cliHighlight.highlight(lines[i], { language: "js" }));
66
+ if (n === start.line) {
67
+ console.log(chalk__default["default"].red(" ".repeat(6 + start.column) + "^ " + error.message));
68
+ }
69
+ }
70
+ return;
71
+ }
72
+ fs.writeFileSync(out, output);
73
+ console.log(`Success: Compiled ${path$1}. Your compiled code is at ${out}.`);
74
+ })
75
+ .help()
76
+ .scriptName("mlogjs")
77
+ .demandCommand()
78
+ .parse();
79
+ function defaultOutPath(path$1) {
80
+ const parsed = path.parse(path$1);
81
+ return path.join(parsed.dir, `${parsed.name}.mlog`);
82
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.cjs","sources":["../src/bin.ts"],"sourcesContent":[null],"names":["yargs","hideBin","path","existsSync","Compiler","readFileSync","CompilerError","chalk","resolve","highlight","writeFileSync","parse","join"],"mappings":"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"}