@irrelon/battlescript 3.1.4

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 (333) hide show
  1. package/bin/functionality.ts +148 -0
  2. package/bin/index.js +39060 -0
  3. package/bin/index.js.map +1 -0
  4. package/bin/index.ts +129 -0
  5. package/dist/bin/functionality.d.ts +10 -0
  6. package/dist/bin/functionality.d.ts.map +1 -0
  7. package/dist/bin/index.d.ts +3 -0
  8. package/dist/bin/index.d.ts.map +1 -0
  9. package/dist/exports/index.d.ts +10 -0
  10. package/dist/exports/index.d.ts.map +1 -0
  11. package/dist/exports/typescript/enums/EnumByteCodeFormat.d.ts +9 -0
  12. package/dist/exports/typescript/enums/EnumByteCodeFormat.d.ts.map +1 -0
  13. package/dist/exports/typescript/enums/EnumFunctionType.d.ts +8 -0
  14. package/dist/exports/typescript/enums/EnumFunctionType.d.ts.map +1 -0
  15. package/dist/exports/typescript/enums/EnumLiteralType.d.ts +18 -0
  16. package/dist/exports/typescript/enums/EnumLiteralType.d.ts.map +1 -0
  17. package/dist/exports/typescript/enums/EnumNodeBinaryType.d.ts +17 -0
  18. package/dist/exports/typescript/enums/EnumNodeBinaryType.d.ts.map +1 -0
  19. package/dist/exports/typescript/enums/EnumNodeKind.d.ts +63 -0
  20. package/dist/exports/typescript/enums/EnumNodeKind.d.ts.map +1 -0
  21. package/dist/exports/typescript/enums/EnumNodeLayoutEntry.d.ts +19 -0
  22. package/dist/exports/typescript/enums/EnumNodeLayoutEntry.d.ts.map +1 -0
  23. package/dist/exports/typescript/enums/EnumNodeProp.d.ts +51 -0
  24. package/dist/exports/typescript/enums/EnumNodeProp.d.ts.map +1 -0
  25. package/dist/exports/typescript/enums/EnumOpCode.d.ts +28 -0
  26. package/dist/exports/typescript/enums/EnumOpCode.d.ts.map +1 -0
  27. package/dist/exports/typescript/enums/EnumOperator.d.ts +25 -0
  28. package/dist/exports/typescript/enums/EnumOperator.d.ts.map +1 -0
  29. package/dist/index.d.ts +4 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +39424 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/nativeLibraries/console/index.d.ts +3 -0
  34. package/dist/nativeLibraries/console/index.d.ts.map +1 -0
  35. package/dist/nativeLibraries/debug/index.d.ts +3 -0
  36. package/dist/nativeLibraries/debug/index.d.ts.map +1 -0
  37. package/dist/nativeLibraries/defaultMeta.d.ts +3 -0
  38. package/dist/nativeLibraries/defaultMeta.d.ts.map +1 -0
  39. package/dist/nativeLibraries/gpio/index.d.ts +3 -0
  40. package/dist/nativeLibraries/gpio/index.d.ts.map +1 -0
  41. package/dist/nativeLibraries/index.d.ts +4 -0
  42. package/dist/nativeLibraries/index.d.ts.map +1 -0
  43. package/dist/nativeLibraries/math/index.d.ts +3 -0
  44. package/dist/nativeLibraries/math/index.d.ts.map +1 -0
  45. package/dist/projectRoot.d.ts +2 -0
  46. package/dist/projectRoot.d.ts.map +1 -0
  47. package/dist/scripts/compileNativeLibraries.d.ts +2 -0
  48. package/dist/scripts/compileNativeLibraries.d.ts.map +1 -0
  49. package/dist/scripts/exportGen/enums/byteCodeFormats.d.ts +2 -0
  50. package/dist/scripts/exportGen/enums/byteCodeFormats.d.ts.map +1 -0
  51. package/dist/scripts/exportGen/enums/deviceEnv.d.ts +2 -0
  52. package/dist/scripts/exportGen/enums/deviceEnv.d.ts.map +1 -0
  53. package/dist/scripts/exportGen/enums/deviceRole.d.ts +2 -0
  54. package/dist/scripts/exportGen/enums/deviceRole.d.ts.map +1 -0
  55. package/dist/scripts/exportGen/enums/functionType.d.ts +2 -0
  56. package/dist/scripts/exportGen/enums/functionType.d.ts.map +1 -0
  57. package/dist/scripts/exportGen/enums/generateEnums.d.ts +5 -0
  58. package/dist/scripts/exportGen/enums/generateEnums.d.ts.map +1 -0
  59. package/dist/scripts/exportGen/enums/literalType.d.ts +2 -0
  60. package/dist/scripts/exportGen/enums/literalType.d.ts.map +1 -0
  61. package/dist/scripts/exportGen/enums/nodeBinaryType.d.ts +2 -0
  62. package/dist/scripts/exportGen/enums/nodeBinaryType.d.ts.map +1 -0
  63. package/dist/scripts/exportGen/enums/nodeKinds.d.ts +4 -0
  64. package/dist/scripts/exportGen/enums/nodeKinds.d.ts.map +1 -0
  65. package/dist/scripts/exportGen/enums/nodeLayoutEntries.d.ts +2 -0
  66. package/dist/scripts/exportGen/enums/nodeLayoutEntries.d.ts.map +1 -0
  67. package/dist/scripts/exportGen/enums/opCodes.d.ts +2 -0
  68. package/dist/scripts/exportGen/enums/opCodes.d.ts.map +1 -0
  69. package/dist/scripts/exportGen/enums/operators.d.ts +3 -0
  70. package/dist/scripts/exportGen/enums/operators.d.ts.map +1 -0
  71. package/dist/scripts/exportGen/helpers/generateHelpers.d.ts +2 -0
  72. package/dist/scripts/exportGen/helpers/generateHelpers.d.ts.map +1 -0
  73. package/dist/scripts/exportGen/index.d.ts +2 -0
  74. package/dist/scripts/exportGen/index.d.ts.map +1 -0
  75. package/dist/services/byteCode/byteCodeInterpreter.d.ts +17 -0
  76. package/dist/services/byteCode/byteCodeInterpreter.d.ts.map +1 -0
  77. package/dist/services/byteCode/disassembler.d.ts +3 -0
  78. package/dist/services/byteCode/disassembler.d.ts.map +1 -0
  79. package/dist/services/byteCode/index.d.ts +3 -0
  80. package/dist/services/byteCode/index.d.ts.map +1 -0
  81. package/dist/services/fullAst/BattleScriptFromAST.d.ts +73 -0
  82. package/dist/services/fullAst/BattleScriptFromAST.d.ts.map +1 -0
  83. package/dist/services/fullAst/BattleScriptToAST.d.ts +86 -0
  84. package/dist/services/fullAst/BattleScriptToAST.d.ts.map +1 -0
  85. package/dist/services/fullAst/index.d.ts +3 -0
  86. package/dist/services/fullAst/index.d.ts.map +1 -0
  87. package/dist/services/grammar/ts/language/BattleScriptLexer.d.ts +113 -0
  88. package/dist/services/grammar/ts/language/BattleScriptLexer.d.ts.map +1 -0
  89. package/dist/services/grammar/ts/language/BattleScriptListener.d.ts +980 -0
  90. package/dist/services/grammar/ts/language/BattleScriptListener.d.ts.map +1 -0
  91. package/dist/services/grammar/ts/language/BattleScriptParser.d.ts +1220 -0
  92. package/dist/services/grammar/ts/language/BattleScriptParser.d.ts.map +1 -0
  93. package/dist/services/grammar/ts/language/BattleScriptVisitor.d.ts +626 -0
  94. package/dist/services/grammar/ts/language/BattleScriptVisitor.d.ts.map +1 -0
  95. package/dist/services/index.d.ts +5 -0
  96. package/dist/services/index.d.ts.map +1 -0
  97. package/dist/services/interpreter.d.ts +94 -0
  98. package/dist/services/interpreter.d.ts.map +1 -0
  99. package/dist/services/miniAst/BattleScriptToMiniAST.d.ts +72 -0
  100. package/dist/services/miniAst/BattleScriptToMiniAST.d.ts.map +1 -0
  101. package/dist/services/miniAst/binaryReader.d.ts +4 -0
  102. package/dist/services/miniAst/binaryReader.d.ts.map +1 -0
  103. package/dist/services/miniAst/binaryTypeToByteSize.d.ts +3 -0
  104. package/dist/services/miniAst/binaryTypeToByteSize.d.ts.map +1 -0
  105. package/dist/services/miniAst/binaryWriter.d.ts +4 -0
  106. package/dist/services/miniAst/binaryWriter.d.ts.map +1 -0
  107. package/dist/services/miniAst/fieldTypeToBinaryType.d.ts +4 -0
  108. package/dist/services/miniAst/fieldTypeToBinaryType.d.ts.map +1 -0
  109. package/dist/services/miniAst/index.d.ts +6 -0
  110. package/dist/services/miniAst/index.d.ts.map +1 -0
  111. package/dist/services/miniAst/miniAstInterpreter.d.ts +17 -0
  112. package/dist/services/miniAst/miniAstInterpreter.d.ts.map +1 -0
  113. package/dist/services/miniAst/miniAstLayout.d.ts +3 -0
  114. package/dist/services/miniAst/miniAstLayout.d.ts.map +1 -0
  115. package/dist/services/parser.d.ts +14 -0
  116. package/dist/services/parser.d.ts.map +1 -0
  117. package/dist/services/tsMorph.d.ts +3 -0
  118. package/dist/services/tsMorph.d.ts.map +1 -0
  119. package/dist/services/utils.d.ts +13 -0
  120. package/dist/services/utils.d.ts.map +1 -0
  121. package/dist/tests/ast/index.test.d.ts +2 -0
  122. package/dist/tests/ast/index.test.d.ts.map +1 -0
  123. package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/basic1-out.d.ts +20 -0
  124. package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/basic1-out.d.ts.map +1 -0
  125. package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/binary-expression1-out.d.ts +20 -0
  126. package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/binary-expression1-out.d.ts.map +1 -0
  127. package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/member-expression1-out.d.ts +20 -0
  128. package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/member-expression1-out.d.ts.map +1 -0
  129. package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/member-expression2-out.d.ts +20 -0
  130. package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/member-expression2-out.d.ts.map +1 -0
  131. package/dist/tests/bytecode/fixtures/IDENTIFIER/basic1-out.d.ts +21 -0
  132. package/dist/tests/bytecode/fixtures/IDENTIFIER/basic1-out.d.ts.map +1 -0
  133. package/dist/tests/bytecode/fixtures/LITERAL/basic1-int-out.d.ts +21 -0
  134. package/dist/tests/bytecode/fixtures/LITERAL/basic1-int-out.d.ts.map +1 -0
  135. package/dist/tests/bytecode/fixtures/MEMBER_EXPRESSION/basic1-out.d.ts +20 -0
  136. package/dist/tests/bytecode/fixtures/MEMBER_EXPRESSION/basic1-out.d.ts.map +1 -0
  137. package/dist/tests/bytecode/interpreter.test.d.ts +2 -0
  138. package/dist/tests/bytecode/interpreter.test.d.ts.map +1 -0
  139. package/dist/tests/bytecode/utils.d.ts +21 -0
  140. package/dist/tests/bytecode/utils.d.ts.map +1 -0
  141. package/dist/tests/miniAst/index.test.d.ts +2 -0
  142. package/dist/tests/miniAst/index.test.d.ts.map +1 -0
  143. package/dist/tsconfig.types.tsbuildinfo +1 -0
  144. package/dist/types/BattleScriptTransformerOptions.d.ts +6 -0
  145. package/dist/types/BattleScriptTransformerOptions.d.ts.map +1 -0
  146. package/dist/types/MiniAstBinary.d.ts +3 -0
  147. package/dist/types/MiniAstBinary.d.ts.map +1 -0
  148. package/dist/types/MiniAstJson.d.ts +8 -0
  149. package/dist/types/MiniAstJson.d.ts.map +1 -0
  150. package/dist/types/TokenLocation.d.ts +6 -0
  151. package/dist/types/TokenLocation.d.ts.map +1 -0
  152. package/dist/types/TokenMetaData.d.ts +8 -0
  153. package/dist/types/TokenMetaData.d.ts.map +1 -0
  154. package/dist/types/UnionAnyKeys.d.ts +2 -0
  155. package/dist/types/UnionAnyKeys.d.ts.map +1 -0
  156. package/dist/types/VisitOptions.d.ts +5 -0
  157. package/dist/types/VisitOptions.d.ts.map +1 -0
  158. package/dist/types/ast/index.d.ts +4 -0
  159. package/dist/types/ast/index.d.ts.map +1 -0
  160. package/dist/types/ast/nodes/AfterDeclarationNode.d.ts +11 -0
  161. package/dist/types/ast/nodes/AfterDeclarationNode.d.ts.map +1 -0
  162. package/dist/types/ast/nodes/AfterExpressionNode.d.ts +11 -0
  163. package/dist/types/ast/nodes/AfterExpressionNode.d.ts.map +1 -0
  164. package/dist/types/ast/nodes/ArrayExpressionNode.d.ts +10 -0
  165. package/dist/types/ast/nodes/ArrayExpressionNode.d.ts.map +1 -0
  166. package/dist/types/ast/nodes/AssignmentExpressionNode.d.ts +12 -0
  167. package/dist/types/ast/nodes/AssignmentExpressionNode.d.ts.map +1 -0
  168. package/dist/types/ast/nodes/AssignmentPatternNode.d.ts +12 -0
  169. package/dist/types/ast/nodes/AssignmentPatternNode.d.ts.map +1 -0
  170. package/dist/types/ast/nodes/AstNode.d.ts +3 -0
  171. package/dist/types/ast/nodes/AstNode.d.ts.map +1 -0
  172. package/dist/types/ast/nodes/AstNodeBase.d.ts +9 -0
  173. package/dist/types/ast/nodes/AstNodeBase.d.ts.map +1 -0
  174. package/dist/types/ast/nodes/AstNodeLayout.d.ts +24 -0
  175. package/dist/types/ast/nodes/AstNodeLayout.d.ts.map +1 -0
  176. package/dist/types/ast/nodes/BinaryExpressionNode.d.ts +12 -0
  177. package/dist/types/ast/nodes/BinaryExpressionNode.d.ts.map +1 -0
  178. package/dist/types/ast/nodes/BlockStatementNode.d.ts +10 -0
  179. package/dist/types/ast/nodes/BlockStatementNode.d.ts.map +1 -0
  180. package/dist/types/ast/nodes/BreakStatementNode.d.ts +9 -0
  181. package/dist/types/ast/nodes/BreakStatementNode.d.ts.map +1 -0
  182. package/dist/types/ast/nodes/CallExpressionNode.d.ts +11 -0
  183. package/dist/types/ast/nodes/CallExpressionNode.d.ts.map +1 -0
  184. package/dist/types/ast/nodes/CancelStatementNode.d.ts +10 -0
  185. package/dist/types/ast/nodes/CancelStatementNode.d.ts.map +1 -0
  186. package/dist/types/ast/nodes/CatchStatementNode.d.ts +13 -0
  187. package/dist/types/ast/nodes/CatchStatementNode.d.ts.map +1 -0
  188. package/dist/types/ast/nodes/CommentNode.d.ts +10 -0
  189. package/dist/types/ast/nodes/CommentNode.d.ts.map +1 -0
  190. package/dist/types/ast/nodes/ConstantDeclarationNode.d.ts +7 -0
  191. package/dist/types/ast/nodes/ConstantDeclarationNode.d.ts.map +1 -0
  192. package/dist/types/ast/nodes/ConstantDeclaratorNode.d.ts +12 -0
  193. package/dist/types/ast/nodes/ConstantDeclaratorNode.d.ts.map +1 -0
  194. package/dist/types/ast/nodes/ContinueStatementNode.d.ts +9 -0
  195. package/dist/types/ast/nodes/ContinueStatementNode.d.ts.map +1 -0
  196. package/dist/types/ast/nodes/CustomTypeNode.d.ts +10 -0
  197. package/dist/types/ast/nodes/CustomTypeNode.d.ts.map +1 -0
  198. package/dist/types/ast/nodes/DataTypeNode.d.ts +10 -0
  199. package/dist/types/ast/nodes/DataTypeNode.d.ts.map +1 -0
  200. package/dist/types/ast/nodes/EvaluateCaseNode.d.ts +11 -0
  201. package/dist/types/ast/nodes/EvaluateCaseNode.d.ts.map +1 -0
  202. package/dist/types/ast/nodes/EvaluateFallbackNode.d.ts +10 -0
  203. package/dist/types/ast/nodes/EvaluateFallbackNode.d.ts.map +1 -0
  204. package/dist/types/ast/nodes/EvaluateStatementNode.d.ts +11 -0
  205. package/dist/types/ast/nodes/EvaluateStatementNode.d.ts.map +1 -0
  206. package/dist/types/ast/nodes/EventDeclarationNode.d.ts +12 -0
  207. package/dist/types/ast/nodes/EventDeclarationNode.d.ts.map +1 -0
  208. package/dist/types/ast/nodes/EveryDeclarationNode.d.ts +12 -0
  209. package/dist/types/ast/nodes/EveryDeclarationNode.d.ts.map +1 -0
  210. package/dist/types/ast/nodes/EveryExpressionNode.d.ts +12 -0
  211. package/dist/types/ast/nodes/EveryExpressionNode.d.ts.map +1 -0
  212. package/dist/types/ast/nodes/ExpressionStatementNode.d.ts +10 -0
  213. package/dist/types/ast/nodes/ExpressionStatementNode.d.ts.map +1 -0
  214. package/dist/types/ast/nodes/ForStatementNode.d.ts +13 -0
  215. package/dist/types/ast/nodes/ForStatementNode.d.ts.map +1 -0
  216. package/dist/types/ast/nodes/FunctionDeclarationNode.d.ts +14 -0
  217. package/dist/types/ast/nodes/FunctionDeclarationNode.d.ts.map +1 -0
  218. package/dist/types/ast/nodes/FunctionDefinitionNode.d.ts +14 -0
  219. package/dist/types/ast/nodes/FunctionDefinitionNode.d.ts.map +1 -0
  220. package/dist/types/ast/nodes/IdentifierNode.d.ts +12 -0
  221. package/dist/types/ast/nodes/IdentifierNode.d.ts.map +1 -0
  222. package/dist/types/ast/nodes/IfStatementNode.d.ts +12 -0
  223. package/dist/types/ast/nodes/IfStatementNode.d.ts.map +1 -0
  224. package/dist/types/ast/nodes/ImportDeclarationNode.d.ts +14 -0
  225. package/dist/types/ast/nodes/ImportDeclarationNode.d.ts.map +1 -0
  226. package/dist/types/ast/nodes/InterfaceNode.d.ts +12 -0
  227. package/dist/types/ast/nodes/InterfaceNode.d.ts.map +1 -0
  228. package/dist/types/ast/nodes/InterfacePropertyDeclarationNode.d.ts +11 -0
  229. package/dist/types/ast/nodes/InterfacePropertyDeclarationNode.d.ts.map +1 -0
  230. package/dist/types/ast/nodes/LiteralBooleanNode.d.ts +11 -0
  231. package/dist/types/ast/nodes/LiteralBooleanNode.d.ts.map +1 -0
  232. package/dist/types/ast/nodes/LiteralDoubleNode.d.ts +8 -0
  233. package/dist/types/ast/nodes/LiteralDoubleNode.d.ts.map +1 -0
  234. package/dist/types/ast/nodes/LiteralFloatNode.d.ts +8 -0
  235. package/dist/types/ast/nodes/LiteralFloatNode.d.ts.map +1 -0
  236. package/dist/types/ast/nodes/LiteralIntNode.d.ts +11 -0
  237. package/dist/types/ast/nodes/LiteralIntNode.d.ts.map +1 -0
  238. package/dist/types/ast/nodes/LiteralNullNode.d.ts +10 -0
  239. package/dist/types/ast/nodes/LiteralNullNode.d.ts.map +1 -0
  240. package/dist/types/ast/nodes/LiteralStringNode.d.ts +11 -0
  241. package/dist/types/ast/nodes/LiteralStringNode.d.ts.map +1 -0
  242. package/dist/types/ast/nodes/LiteralUndefinedNode.d.ts +10 -0
  243. package/dist/types/ast/nodes/LiteralUndefinedNode.d.ts.map +1 -0
  244. package/dist/types/ast/nodes/MemberExpressionNode.d.ts +16 -0
  245. package/dist/types/ast/nodes/MemberExpressionNode.d.ts.map +1 -0
  246. package/dist/types/ast/nodes/ObjectExpressionNode.d.ts +10 -0
  247. package/dist/types/ast/nodes/ObjectExpressionNode.d.ts.map +1 -0
  248. package/dist/types/ast/nodes/ObjectPropertyNode.d.ts +11 -0
  249. package/dist/types/ast/nodes/ObjectPropertyNode.d.ts.map +1 -0
  250. package/dist/types/ast/nodes/OptimisedAssignmentExpressionNode.d.ts +12 -0
  251. package/dist/types/ast/nodes/OptimisedAssignmentExpressionNode.d.ts.map +1 -0
  252. package/dist/types/ast/nodes/OptimisedBinaryExpressionNode.d.ts +12 -0
  253. package/dist/types/ast/nodes/OptimisedBinaryExpressionNode.d.ts.map +1 -0
  254. package/dist/types/ast/nodes/OptimisedMemberExpressionNode.d.ts +9 -0
  255. package/dist/types/ast/nodes/OptimisedMemberExpressionNode.d.ts.map +1 -0
  256. package/dist/types/ast/nodes/OptimisedUpdateExpressionNode.d.ts +12 -0
  257. package/dist/types/ast/nodes/OptimisedUpdateExpressionNode.d.ts.map +1 -0
  258. package/dist/types/ast/nodes/ProgramDeclarationNode.d.ts +10 -0
  259. package/dist/types/ast/nodes/ProgramDeclarationNode.d.ts.map +1 -0
  260. package/dist/types/ast/nodes/ProgramPropertyDeclarationNode.d.ts +11 -0
  261. package/dist/types/ast/nodes/ProgramPropertyDeclarationNode.d.ts.map +1 -0
  262. package/dist/types/ast/nodes/RestElementNode.d.ts +11 -0
  263. package/dist/types/ast/nodes/RestElementNode.d.ts.map +1 -0
  264. package/dist/types/ast/nodes/ReturnStatementNode.d.ts +10 -0
  265. package/dist/types/ast/nodes/ReturnStatementNode.d.ts.map +1 -0
  266. package/dist/types/ast/nodes/RootNode.d.ts +11 -0
  267. package/dist/types/ast/nodes/RootNode.d.ts.map +1 -0
  268. package/dist/types/ast/nodes/StateDeclarationNode.d.ts +11 -0
  269. package/dist/types/ast/nodes/StateDeclarationNode.d.ts.map +1 -0
  270. package/dist/types/ast/nodes/UnaryExpressionNode.d.ts +11 -0
  271. package/dist/types/ast/nodes/UnaryExpressionNode.d.ts.map +1 -0
  272. package/dist/types/ast/nodes/UpdateExpressionNode.d.ts +12 -0
  273. package/dist/types/ast/nodes/UpdateExpressionNode.d.ts.map +1 -0
  274. package/dist/types/ast/nodes/VariableDeclarationNode.d.ts +10 -0
  275. package/dist/types/ast/nodes/VariableDeclarationNode.d.ts.map +1 -0
  276. package/dist/types/ast/nodes/VariableDeclaratorNode.d.ts +12 -0
  277. package/dist/types/ast/nodes/VariableDeclaratorNode.d.ts.map +1 -0
  278. package/dist/types/ast/nodes/WildcardNode.d.ts +9 -0
  279. package/dist/types/ast/nodes/WildcardNode.d.ts.map +1 -0
  280. package/dist/types/ast/nodes/index.d.ts +62 -0
  281. package/dist/types/ast/nodes/index.d.ts.map +1 -0
  282. package/dist/types/ast/operators/ArithmaticOperator.d.ts +2 -0
  283. package/dist/types/ast/operators/ArithmaticOperator.d.ts.map +1 -0
  284. package/dist/types/ast/operators/BinaryOperator.d.ts +2 -0
  285. package/dist/types/ast/operators/BinaryOperator.d.ts.map +1 -0
  286. package/dist/types/ast/operators/LogicalOperator.d.ts +2 -0
  287. package/dist/types/ast/operators/LogicalOperator.d.ts.map +1 -0
  288. package/dist/types/ast/operators/OtherOperator.d.ts +2 -0
  289. package/dist/types/ast/operators/OtherOperator.d.ts.map +1 -0
  290. package/dist/types/ast/operators/UnaryOperator.d.ts +2 -0
  291. package/dist/types/ast/operators/UnaryOperator.d.ts.map +1 -0
  292. package/dist/types/ast/operators/UpdateOperator.d.ts +2 -0
  293. package/dist/types/ast/operators/UpdateOperator.d.ts.map +1 -0
  294. package/dist/types/ast/operators/index.d.ts +9 -0
  295. package/dist/types/ast/operators/index.d.ts.map +1 -0
  296. package/dist/types/ast/unions/ArgumentUnion.d.ts +3 -0
  297. package/dist/types/ast/unions/ArgumentUnion.d.ts.map +1 -0
  298. package/dist/types/ast/unions/BlockStatementUnion.d.ts +3 -0
  299. package/dist/types/ast/unions/BlockStatementUnion.d.ts.map +1 -0
  300. package/dist/types/ast/unions/BooleanExpressionUnion.d.ts +4 -0
  301. package/dist/types/ast/unions/BooleanExpressionUnion.d.ts.map +1 -0
  302. package/dist/types/ast/unions/EvaluateBranchUnion.d.ts +4 -0
  303. package/dist/types/ast/unions/EvaluateBranchUnion.d.ts.map +1 -0
  304. package/dist/types/ast/unions/ExpressionUnion.d.ts +3 -0
  305. package/dist/types/ast/unions/ExpressionUnion.d.ts.map +1 -0
  306. package/dist/types/ast/unions/FunctionParameterUnion.d.ts +4 -0
  307. package/dist/types/ast/unions/FunctionParameterUnion.d.ts.map +1 -0
  308. package/dist/types/ast/unions/LiteralUnion.d.ts +3 -0
  309. package/dist/types/ast/unions/LiteralUnion.d.ts.map +1 -0
  310. package/dist/types/ast/unions/OperatorUnion.d.ts +7 -0
  311. package/dist/types/ast/unions/OperatorUnion.d.ts.map +1 -0
  312. package/dist/types/ast/unions/OptimisedExpressionUnion.d.ts +3 -0
  313. package/dist/types/ast/unions/OptimisedExpressionUnion.d.ts.map +1 -0
  314. package/dist/types/ast/unions/ReturnValueUnion.d.ts +8 -0
  315. package/dist/types/ast/unions/ReturnValueUnion.d.ts.map +1 -0
  316. package/dist/types/ast/unions/TokenUnion.d.ts +4 -0
  317. package/dist/types/ast/unions/TokenUnion.d.ts.map +1 -0
  318. package/dist/types/ast/unions/TypeUnion.d.ts +3 -0
  319. package/dist/types/ast/unions/TypeUnion.d.ts.map +1 -0
  320. package/dist/types/ast/unions/ValueUnion.d.ts +4 -0
  321. package/dist/types/ast/unions/ValueUnion.d.ts.map +1 -0
  322. package/dist/types/ast/unions/index.d.ts +14 -0
  323. package/dist/types/ast/unions/index.d.ts.map +1 -0
  324. package/dist/types/byteCode/ByteCodeInstruction.d.ts +8 -0
  325. package/dist/types/byteCode/ByteCodeInstruction.d.ts.map +1 -0
  326. package/dist/types/byteCode/ByteCodeJson.d.ts +6 -0
  327. package/dist/types/byteCode/ByteCodeJson.d.ts.map +1 -0
  328. package/dist/types/index.d.ts +8 -0
  329. package/dist/types/index.d.ts.map +1 -0
  330. package/dist/utils.d.ts +3 -0
  331. package/dist/utils.d.ts.map +1 -0
  332. package/package.json +66 -0
  333. package/readme.md +139 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const loadFile: (...paths: string[]) => Promise<string>;
2
+ export declare const loadBuffer: (...paths: string[]) => Promise<Buffer<ArrayBufferLike>>;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,GAAU,GAAG,OAAO,MAAM,EAAE,oBAEhD,CAAA;AAED,eAAO,MAAM,UAAU,GAAU,GAAG,OAAO,MAAM,EAAE,qCAElD,CAAA"}
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@irrelon/battlescript",
3
+ "version": "3.1.4",
4
+ "binaryVersion": 7,
5
+ "description": "BattleScript Lexer, Parser and Compiler",
6
+ "bin": {
7
+ "index": "bin/index.js"
8
+ },
9
+ "type": "module",
10
+ "main": "dist/index.js",
11
+ "types": "dist/index.d.ts",
12
+ "scripts": {
13
+ "compile-grammar-ts": "antlr4ts -visitor ./language/BattleScript.g4 -o ./services/grammar/ts",
14
+ "build:exports": "npx tsx $(pwd)/scripts/exportGen/index.ts",
15
+ "build:js": "rollup -c",
16
+ "build:types": "tsc -p tsconfig.types.json",
17
+ "build:native-libraries": "tsx ./scripts/compileNativeLibraries.ts",
18
+ "build": "npm run compile-grammar-ts && npm run build:native-libraries && npm run build:exports && npm run build:js && npm run build:types && yalc push",
19
+ "test": "NODE_ENV=test jest --coverage",
20
+ "test-watch": "NODE_ENV=test jest --watch",
21
+ "compile-ast-test-ts": "tsx ./bin/index.ts toAst ./examples/test.bst ./examples/test.json",
22
+ "decompile-ast-test-ts": "tsx ./bin/index.js fromAst ./examples/test.json ./examples/test.decompiled.bst",
23
+ "compile-binary-test-ts": "tsx ./bin/index.js toBinary ./examples/test.bst ./examples/test.bin",
24
+ "decompile-binary-test-ts": "tsx ./bin/index.ts fromBinary ./examples/test.bin ./examples/test.miniDecompiled.json",
25
+ "compile-mini-ast-test-ts": "tsx ./bin/index.ts toMiniAst ./examples/test.bst ./examples/test.miniAst.json",
26
+ "compile-bytecode-test-ts": "tsx ./bin/index.ts toByteCode ./examples/test.bst ./examples/test.bcode.json",
27
+ "disassemble-bytecode-test-ts": "tsx ./bin/index.ts fromByteCode ./examples/test.bcode.json ./examples/test.bcode.disassembled.txt",
28
+ "decompile-ast-simple-ts": "tsx ./bin/index.ts fromAst ./examples/simple.json ./examples/simple.decompiled.bst",
29
+ "compile-ast-complex-literals-ts": "tsx ./bin/index.ts toAst ./examples/complexLiterals.bst ./examples/complexLiterals.json",
30
+ "decompile-ast-complex-literals-ts": "tsx ./bin/index.ts fromAst ./examples/complexLiterals.json ./examples/complexLiterals.decompiled.bst",
31
+ "compile-ast-postfix-operator-ts": "tsx ./bin/index.ts toAst ./examples/postfixOperator.bst ./examples/postfixOperator.json",
32
+ "decompile-ast-postfix-operator-ts": "tsx ./bin/index.ts fromAst ./examples/postfixOperator.json ./examples/postfixOperator.decompiled.bst",
33
+ "format": "prettier --write \"**/*.bst\"",
34
+ "format:check": "prettier --check \"**/*.bst\"",
35
+ "build:plugin": "cd prettier-plugin-battlescript && npm run build"
36
+ },
37
+ "files": [
38
+ "dist",
39
+ "bin"
40
+ ],
41
+ "author": "Irrelon Software Limited",
42
+ "license": "ISC",
43
+ "devDependencies": {
44
+ "@irrelon/path": "^7.0.2",
45
+ "@rollup/plugin-commonjs": "^28.0.3",
46
+ "@rollup/plugin-json": "^6.1.0",
47
+ "@rollup/plugin-node-resolve": "^16.0.1",
48
+ "@types/express": "^4.17.21",
49
+ "@types/jest": "^29.5.14",
50
+ "@types/node": "^22.13.11",
51
+ "@typescript-eslint/eslint-plugin": "^8.19.0",
52
+ "@typescript-eslint/parser": "^8.19.0",
53
+ "antlr4ts": "^0.5.0-alpha.4",
54
+ "antlr4ts-cli": "^0.5.0-alpha.4",
55
+ "eslint": "^9.17.0",
56
+ "jest": "^29.7.0",
57
+ "rollup": "^4.30.0",
58
+ "rollup-plugin-dts": "^6.1.1",
59
+ "rollup-plugin-typescript2": "^0.36.0",
60
+ "rollup-plugin-visualizer": "^5.14.0",
61
+ "ts-jest": "^29.3.0",
62
+ "ts-morph": "^25.0.1",
63
+ "tsx": "^4.19.3",
64
+ "typescript": "^5.8.2"
65
+ }
66
+ }
package/readme.md ADDED
@@ -0,0 +1,139 @@
1
+ # BattleScript
2
+
3
+ BattleScript is a programming language designed to allow
4
+ event-driven logic to be executed at runtime inside
5
+ resource-constrained microcontrollers.
6
+
7
+ It was created to enable custom logic to be implemented
8
+ in the BattleCore Laser Tag system so that new game types,
9
+ IR protocols, comms protocols, and functionality could be
10
+ written and uploaded to the device without needing to
11
+ flash new firmware.
12
+
13
+ BattleScript logic executes at runtime when events occur
14
+ based on the finite state machine's current state.
15
+
16
+ You can read, learn, and try out BattleScript at the
17
+ language's home domain: https://battlescript.io
18
+
19
+ ## Compile BattleScript
20
+
21
+ If you have a BattleScript file and want to compile it, you
22
+ can run the compiler using the npx command line.
23
+
24
+ ### Compile to a JSON AST Tree
25
+
26
+ This outputs a JSON file containing the Abstract Syntax Tree
27
+ representation of the source code, useful for linting,
28
+ debugging, code cleanup, or modifying source code using
29
+ a structured tree.
30
+
31
+ > If no output path is specified, the same input file path
32
+ > will be used with a .json extension.
33
+
34
+ ```bash
35
+ npx @irrelon/battlescript toAst <input file path> <output file path>
36
+ ```
37
+
38
+ ### Compile to a JSON Mini-AST Tree
39
+
40
+ This outputs a minified AST JSON file. Minified ASTs are
41
+ useful for inspecting the intermediate stage before binary
42
+ output is generated but where the data is still
43
+ human-readable. This is really only relevant from an
44
+ academic point of view or when debugging the final binary
45
+ output.
46
+
47
+ > If no output path is specified, the same input file path
48
+ > will be used with a .miniAst.json extension.
49
+
50
+ ```bash
51
+ npx @irrelon/battlescript toMiniAst <input file path> <output file path>
52
+ ```
53
+
54
+ ### Compile to a Binary File
55
+
56
+ This generates a binary representation of the source code
57
+ for use in a BattleCore device or online interpreter. The
58
+ binary representation encodes the source code to an integer
59
+ stream describing operations to execute at a very low level.
60
+ It is not human-readable. If you want a human-readable
61
+ version of the binary, see the decompiler command below.
62
+
63
+ > If no output path is specified, the same input file path
64
+ > will be used with a .bin extension.
65
+
66
+ ```bash
67
+ npx @irrelon/battlescript toBinary <input file path> <output file path>
68
+ ```
69
+
70
+ ## Decompile BattleScript
71
+
72
+ If you have a binary file and want to convert it back to a mini-ast JSON
73
+ representation, you can do so using the "fromBinary" command.
74
+
75
+ The decompiled binary is human-readable but is still very
76
+ low-level as most values are encoded or mapped by integer
77
+ index to real data. This is primarily used for ensuring
78
+ that the binary format is operating correctly via automated
79
+ tests.
80
+
81
+ > If no output path is specified, the same input file path
82
+ > will be used with a .decompiled.json extension.
83
+
84
+ ```bash
85
+ npx @irrelon/battlescript fromBinary <input file path> <output file path>
86
+ ```
87
+
88
+ ## Install in Another Project
89
+
90
+ ```bash
91
+ npm i @irrelon/battlescript
92
+ ```
93
+
94
+ Once installed, you can parse and compile BattleScript
95
+ programmatically.
96
+
97
+ ### Compile to a JSON AST Tree
98
+
99
+ ```typescript
100
+ import {fromSourceCodeToFullAst} from "@irrelon/battlescript";
101
+
102
+ const myCode = `program {
103
+ \tname "Test Program";
104
+ }`;
105
+
106
+ const ast = fromSourceCodeToFullAst(myCode);
107
+ ```
108
+
109
+ ### Compile to a JSON Mini-AST Tree
110
+
111
+ ```typescript
112
+ import type {MiniAstJson} from "@irrelon/battlescript";
113
+ import {fromSourceCodeToMiniAst} from "@irrelon/battlescript";
114
+
115
+ const myCode = `program {
116
+ \tname "Test Program";
117
+ }`;
118
+
119
+ const miniAst: MiniAstJson = fromSourceCodeToMiniAst(myCode);
120
+ ```
121
+
122
+ ### Compile to a Binary File
123
+
124
+ ```typescript
125
+ import type {MiniAstBinary} from "@irrelon/battlescript";
126
+ import {fromSourceCodeToBinary} from "@irrelon/battlescript";
127
+
128
+ const myCode = `program {
129
+ \tname "Test Program";
130
+ }`;
131
+
132
+ const bin: MiniAstBinary = fromSourceCodeToBinary(myCode);
133
+ ```
134
+
135
+ # Irrelon Software Limited
136
+
137
+ This software was made with ❤️ love by Irrelon
138
+ Software Limited, a company incorporated in the United
139
+ Kingdom.