@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.
- package/bin/functionality.ts +148 -0
- package/bin/index.js +39060 -0
- package/bin/index.js.map +1 -0
- package/bin/index.ts +129 -0
- package/dist/bin/functionality.d.ts +10 -0
- package/dist/bin/functionality.d.ts.map +1 -0
- package/dist/bin/index.d.ts +3 -0
- package/dist/bin/index.d.ts.map +1 -0
- package/dist/exports/index.d.ts +10 -0
- package/dist/exports/index.d.ts.map +1 -0
- package/dist/exports/typescript/enums/EnumByteCodeFormat.d.ts +9 -0
- package/dist/exports/typescript/enums/EnumByteCodeFormat.d.ts.map +1 -0
- package/dist/exports/typescript/enums/EnumFunctionType.d.ts +8 -0
- package/dist/exports/typescript/enums/EnumFunctionType.d.ts.map +1 -0
- package/dist/exports/typescript/enums/EnumLiteralType.d.ts +18 -0
- package/dist/exports/typescript/enums/EnumLiteralType.d.ts.map +1 -0
- package/dist/exports/typescript/enums/EnumNodeBinaryType.d.ts +17 -0
- package/dist/exports/typescript/enums/EnumNodeBinaryType.d.ts.map +1 -0
- package/dist/exports/typescript/enums/EnumNodeKind.d.ts +63 -0
- package/dist/exports/typescript/enums/EnumNodeKind.d.ts.map +1 -0
- package/dist/exports/typescript/enums/EnumNodeLayoutEntry.d.ts +19 -0
- package/dist/exports/typescript/enums/EnumNodeLayoutEntry.d.ts.map +1 -0
- package/dist/exports/typescript/enums/EnumNodeProp.d.ts +51 -0
- package/dist/exports/typescript/enums/EnumNodeProp.d.ts.map +1 -0
- package/dist/exports/typescript/enums/EnumOpCode.d.ts +28 -0
- package/dist/exports/typescript/enums/EnumOpCode.d.ts.map +1 -0
- package/dist/exports/typescript/enums/EnumOperator.d.ts +25 -0
- package/dist/exports/typescript/enums/EnumOperator.d.ts.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39424 -0
- package/dist/index.js.map +1 -0
- package/dist/nativeLibraries/console/index.d.ts +3 -0
- package/dist/nativeLibraries/console/index.d.ts.map +1 -0
- package/dist/nativeLibraries/debug/index.d.ts +3 -0
- package/dist/nativeLibraries/debug/index.d.ts.map +1 -0
- package/dist/nativeLibraries/defaultMeta.d.ts +3 -0
- package/dist/nativeLibraries/defaultMeta.d.ts.map +1 -0
- package/dist/nativeLibraries/gpio/index.d.ts +3 -0
- package/dist/nativeLibraries/gpio/index.d.ts.map +1 -0
- package/dist/nativeLibraries/index.d.ts +4 -0
- package/dist/nativeLibraries/index.d.ts.map +1 -0
- package/dist/nativeLibraries/math/index.d.ts +3 -0
- package/dist/nativeLibraries/math/index.d.ts.map +1 -0
- package/dist/projectRoot.d.ts +2 -0
- package/dist/projectRoot.d.ts.map +1 -0
- package/dist/scripts/compileNativeLibraries.d.ts +2 -0
- package/dist/scripts/compileNativeLibraries.d.ts.map +1 -0
- package/dist/scripts/exportGen/enums/byteCodeFormats.d.ts +2 -0
- package/dist/scripts/exportGen/enums/byteCodeFormats.d.ts.map +1 -0
- package/dist/scripts/exportGen/enums/deviceEnv.d.ts +2 -0
- package/dist/scripts/exportGen/enums/deviceEnv.d.ts.map +1 -0
- package/dist/scripts/exportGen/enums/deviceRole.d.ts +2 -0
- package/dist/scripts/exportGen/enums/deviceRole.d.ts.map +1 -0
- package/dist/scripts/exportGen/enums/functionType.d.ts +2 -0
- package/dist/scripts/exportGen/enums/functionType.d.ts.map +1 -0
- package/dist/scripts/exportGen/enums/generateEnums.d.ts +5 -0
- package/dist/scripts/exportGen/enums/generateEnums.d.ts.map +1 -0
- package/dist/scripts/exportGen/enums/literalType.d.ts +2 -0
- package/dist/scripts/exportGen/enums/literalType.d.ts.map +1 -0
- package/dist/scripts/exportGen/enums/nodeBinaryType.d.ts +2 -0
- package/dist/scripts/exportGen/enums/nodeBinaryType.d.ts.map +1 -0
- package/dist/scripts/exportGen/enums/nodeKinds.d.ts +4 -0
- package/dist/scripts/exportGen/enums/nodeKinds.d.ts.map +1 -0
- package/dist/scripts/exportGen/enums/nodeLayoutEntries.d.ts +2 -0
- package/dist/scripts/exportGen/enums/nodeLayoutEntries.d.ts.map +1 -0
- package/dist/scripts/exportGen/enums/opCodes.d.ts +2 -0
- package/dist/scripts/exportGen/enums/opCodes.d.ts.map +1 -0
- package/dist/scripts/exportGen/enums/operators.d.ts +3 -0
- package/dist/scripts/exportGen/enums/operators.d.ts.map +1 -0
- package/dist/scripts/exportGen/helpers/generateHelpers.d.ts +2 -0
- package/dist/scripts/exportGen/helpers/generateHelpers.d.ts.map +1 -0
- package/dist/scripts/exportGen/index.d.ts +2 -0
- package/dist/scripts/exportGen/index.d.ts.map +1 -0
- package/dist/services/byteCode/byteCodeInterpreter.d.ts +17 -0
- package/dist/services/byteCode/byteCodeInterpreter.d.ts.map +1 -0
- package/dist/services/byteCode/disassembler.d.ts +3 -0
- package/dist/services/byteCode/disassembler.d.ts.map +1 -0
- package/dist/services/byteCode/index.d.ts +3 -0
- package/dist/services/byteCode/index.d.ts.map +1 -0
- package/dist/services/fullAst/BattleScriptFromAST.d.ts +73 -0
- package/dist/services/fullAst/BattleScriptFromAST.d.ts.map +1 -0
- package/dist/services/fullAst/BattleScriptToAST.d.ts +86 -0
- package/dist/services/fullAst/BattleScriptToAST.d.ts.map +1 -0
- package/dist/services/fullAst/index.d.ts +3 -0
- package/dist/services/fullAst/index.d.ts.map +1 -0
- package/dist/services/grammar/ts/language/BattleScriptLexer.d.ts +113 -0
- package/dist/services/grammar/ts/language/BattleScriptLexer.d.ts.map +1 -0
- package/dist/services/grammar/ts/language/BattleScriptListener.d.ts +980 -0
- package/dist/services/grammar/ts/language/BattleScriptListener.d.ts.map +1 -0
- package/dist/services/grammar/ts/language/BattleScriptParser.d.ts +1220 -0
- package/dist/services/grammar/ts/language/BattleScriptParser.d.ts.map +1 -0
- package/dist/services/grammar/ts/language/BattleScriptVisitor.d.ts +626 -0
- package/dist/services/grammar/ts/language/BattleScriptVisitor.d.ts.map +1 -0
- package/dist/services/index.d.ts +5 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/interpreter.d.ts +94 -0
- package/dist/services/interpreter.d.ts.map +1 -0
- package/dist/services/miniAst/BattleScriptToMiniAST.d.ts +72 -0
- package/dist/services/miniAst/BattleScriptToMiniAST.d.ts.map +1 -0
- package/dist/services/miniAst/binaryReader.d.ts +4 -0
- package/dist/services/miniAst/binaryReader.d.ts.map +1 -0
- package/dist/services/miniAst/binaryTypeToByteSize.d.ts +3 -0
- package/dist/services/miniAst/binaryTypeToByteSize.d.ts.map +1 -0
- package/dist/services/miniAst/binaryWriter.d.ts +4 -0
- package/dist/services/miniAst/binaryWriter.d.ts.map +1 -0
- package/dist/services/miniAst/fieldTypeToBinaryType.d.ts +4 -0
- package/dist/services/miniAst/fieldTypeToBinaryType.d.ts.map +1 -0
- package/dist/services/miniAst/index.d.ts +6 -0
- package/dist/services/miniAst/index.d.ts.map +1 -0
- package/dist/services/miniAst/miniAstInterpreter.d.ts +17 -0
- package/dist/services/miniAst/miniAstInterpreter.d.ts.map +1 -0
- package/dist/services/miniAst/miniAstLayout.d.ts +3 -0
- package/dist/services/miniAst/miniAstLayout.d.ts.map +1 -0
- package/dist/services/parser.d.ts +14 -0
- package/dist/services/parser.d.ts.map +1 -0
- package/dist/services/tsMorph.d.ts +3 -0
- package/dist/services/tsMorph.d.ts.map +1 -0
- package/dist/services/utils.d.ts +13 -0
- package/dist/services/utils.d.ts.map +1 -0
- package/dist/tests/ast/index.test.d.ts +2 -0
- package/dist/tests/ast/index.test.d.ts.map +1 -0
- package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/basic1-out.d.ts +20 -0
- package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/basic1-out.d.ts.map +1 -0
- package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/binary-expression1-out.d.ts +20 -0
- package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/binary-expression1-out.d.ts.map +1 -0
- package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/member-expression1-out.d.ts +20 -0
- package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/member-expression1-out.d.ts.map +1 -0
- package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/member-expression2-out.d.ts +20 -0
- package/dist/tests/bytecode/fixtures/ASSIGNMENT_EXPRESSION/member-expression2-out.d.ts.map +1 -0
- package/dist/tests/bytecode/fixtures/IDENTIFIER/basic1-out.d.ts +21 -0
- package/dist/tests/bytecode/fixtures/IDENTIFIER/basic1-out.d.ts.map +1 -0
- package/dist/tests/bytecode/fixtures/LITERAL/basic1-int-out.d.ts +21 -0
- package/dist/tests/bytecode/fixtures/LITERAL/basic1-int-out.d.ts.map +1 -0
- package/dist/tests/bytecode/fixtures/MEMBER_EXPRESSION/basic1-out.d.ts +20 -0
- package/dist/tests/bytecode/fixtures/MEMBER_EXPRESSION/basic1-out.d.ts.map +1 -0
- package/dist/tests/bytecode/interpreter.test.d.ts +2 -0
- package/dist/tests/bytecode/interpreter.test.d.ts.map +1 -0
- package/dist/tests/bytecode/utils.d.ts +21 -0
- package/dist/tests/bytecode/utils.d.ts.map +1 -0
- package/dist/tests/miniAst/index.test.d.ts +2 -0
- package/dist/tests/miniAst/index.test.d.ts.map +1 -0
- package/dist/tsconfig.types.tsbuildinfo +1 -0
- package/dist/types/BattleScriptTransformerOptions.d.ts +6 -0
- package/dist/types/BattleScriptTransformerOptions.d.ts.map +1 -0
- package/dist/types/MiniAstBinary.d.ts +3 -0
- package/dist/types/MiniAstBinary.d.ts.map +1 -0
- package/dist/types/MiniAstJson.d.ts +8 -0
- package/dist/types/MiniAstJson.d.ts.map +1 -0
- package/dist/types/TokenLocation.d.ts +6 -0
- package/dist/types/TokenLocation.d.ts.map +1 -0
- package/dist/types/TokenMetaData.d.ts +8 -0
- package/dist/types/TokenMetaData.d.ts.map +1 -0
- package/dist/types/UnionAnyKeys.d.ts +2 -0
- package/dist/types/UnionAnyKeys.d.ts.map +1 -0
- package/dist/types/VisitOptions.d.ts +5 -0
- package/dist/types/VisitOptions.d.ts.map +1 -0
- package/dist/types/ast/index.d.ts +4 -0
- package/dist/types/ast/index.d.ts.map +1 -0
- package/dist/types/ast/nodes/AfterDeclarationNode.d.ts +11 -0
- package/dist/types/ast/nodes/AfterDeclarationNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/AfterExpressionNode.d.ts +11 -0
- package/dist/types/ast/nodes/AfterExpressionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ArrayExpressionNode.d.ts +10 -0
- package/dist/types/ast/nodes/ArrayExpressionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/AssignmentExpressionNode.d.ts +12 -0
- package/dist/types/ast/nodes/AssignmentExpressionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/AssignmentPatternNode.d.ts +12 -0
- package/dist/types/ast/nodes/AssignmentPatternNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/AstNode.d.ts +3 -0
- package/dist/types/ast/nodes/AstNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/AstNodeBase.d.ts +9 -0
- package/dist/types/ast/nodes/AstNodeBase.d.ts.map +1 -0
- package/dist/types/ast/nodes/AstNodeLayout.d.ts +24 -0
- package/dist/types/ast/nodes/AstNodeLayout.d.ts.map +1 -0
- package/dist/types/ast/nodes/BinaryExpressionNode.d.ts +12 -0
- package/dist/types/ast/nodes/BinaryExpressionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/BlockStatementNode.d.ts +10 -0
- package/dist/types/ast/nodes/BlockStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/BreakStatementNode.d.ts +9 -0
- package/dist/types/ast/nodes/BreakStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/CallExpressionNode.d.ts +11 -0
- package/dist/types/ast/nodes/CallExpressionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/CancelStatementNode.d.ts +10 -0
- package/dist/types/ast/nodes/CancelStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/CatchStatementNode.d.ts +13 -0
- package/dist/types/ast/nodes/CatchStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/CommentNode.d.ts +10 -0
- package/dist/types/ast/nodes/CommentNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ConstantDeclarationNode.d.ts +7 -0
- package/dist/types/ast/nodes/ConstantDeclarationNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ConstantDeclaratorNode.d.ts +12 -0
- package/dist/types/ast/nodes/ConstantDeclaratorNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ContinueStatementNode.d.ts +9 -0
- package/dist/types/ast/nodes/ContinueStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/CustomTypeNode.d.ts +10 -0
- package/dist/types/ast/nodes/CustomTypeNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/DataTypeNode.d.ts +10 -0
- package/dist/types/ast/nodes/DataTypeNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/EvaluateCaseNode.d.ts +11 -0
- package/dist/types/ast/nodes/EvaluateCaseNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/EvaluateFallbackNode.d.ts +10 -0
- package/dist/types/ast/nodes/EvaluateFallbackNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/EvaluateStatementNode.d.ts +11 -0
- package/dist/types/ast/nodes/EvaluateStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/EventDeclarationNode.d.ts +12 -0
- package/dist/types/ast/nodes/EventDeclarationNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/EveryDeclarationNode.d.ts +12 -0
- package/dist/types/ast/nodes/EveryDeclarationNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/EveryExpressionNode.d.ts +12 -0
- package/dist/types/ast/nodes/EveryExpressionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ExpressionStatementNode.d.ts +10 -0
- package/dist/types/ast/nodes/ExpressionStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ForStatementNode.d.ts +13 -0
- package/dist/types/ast/nodes/ForStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/FunctionDeclarationNode.d.ts +14 -0
- package/dist/types/ast/nodes/FunctionDeclarationNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/FunctionDefinitionNode.d.ts +14 -0
- package/dist/types/ast/nodes/FunctionDefinitionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/IdentifierNode.d.ts +12 -0
- package/dist/types/ast/nodes/IdentifierNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/IfStatementNode.d.ts +12 -0
- package/dist/types/ast/nodes/IfStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ImportDeclarationNode.d.ts +14 -0
- package/dist/types/ast/nodes/ImportDeclarationNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/InterfaceNode.d.ts +12 -0
- package/dist/types/ast/nodes/InterfaceNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/InterfacePropertyDeclarationNode.d.ts +11 -0
- package/dist/types/ast/nodes/InterfacePropertyDeclarationNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/LiteralBooleanNode.d.ts +11 -0
- package/dist/types/ast/nodes/LiteralBooleanNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/LiteralDoubleNode.d.ts +8 -0
- package/dist/types/ast/nodes/LiteralDoubleNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/LiteralFloatNode.d.ts +8 -0
- package/dist/types/ast/nodes/LiteralFloatNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/LiteralIntNode.d.ts +11 -0
- package/dist/types/ast/nodes/LiteralIntNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/LiteralNullNode.d.ts +10 -0
- package/dist/types/ast/nodes/LiteralNullNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/LiteralStringNode.d.ts +11 -0
- package/dist/types/ast/nodes/LiteralStringNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/LiteralUndefinedNode.d.ts +10 -0
- package/dist/types/ast/nodes/LiteralUndefinedNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/MemberExpressionNode.d.ts +16 -0
- package/dist/types/ast/nodes/MemberExpressionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ObjectExpressionNode.d.ts +10 -0
- package/dist/types/ast/nodes/ObjectExpressionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ObjectPropertyNode.d.ts +11 -0
- package/dist/types/ast/nodes/ObjectPropertyNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/OptimisedAssignmentExpressionNode.d.ts +12 -0
- package/dist/types/ast/nodes/OptimisedAssignmentExpressionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/OptimisedBinaryExpressionNode.d.ts +12 -0
- package/dist/types/ast/nodes/OptimisedBinaryExpressionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/OptimisedMemberExpressionNode.d.ts +9 -0
- package/dist/types/ast/nodes/OptimisedMemberExpressionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/OptimisedUpdateExpressionNode.d.ts +12 -0
- package/dist/types/ast/nodes/OptimisedUpdateExpressionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ProgramDeclarationNode.d.ts +10 -0
- package/dist/types/ast/nodes/ProgramDeclarationNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ProgramPropertyDeclarationNode.d.ts +11 -0
- package/dist/types/ast/nodes/ProgramPropertyDeclarationNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/RestElementNode.d.ts +11 -0
- package/dist/types/ast/nodes/RestElementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/ReturnStatementNode.d.ts +10 -0
- package/dist/types/ast/nodes/ReturnStatementNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/RootNode.d.ts +11 -0
- package/dist/types/ast/nodes/RootNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/StateDeclarationNode.d.ts +11 -0
- package/dist/types/ast/nodes/StateDeclarationNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/UnaryExpressionNode.d.ts +11 -0
- package/dist/types/ast/nodes/UnaryExpressionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/UpdateExpressionNode.d.ts +12 -0
- package/dist/types/ast/nodes/UpdateExpressionNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/VariableDeclarationNode.d.ts +10 -0
- package/dist/types/ast/nodes/VariableDeclarationNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/VariableDeclaratorNode.d.ts +12 -0
- package/dist/types/ast/nodes/VariableDeclaratorNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/WildcardNode.d.ts +9 -0
- package/dist/types/ast/nodes/WildcardNode.d.ts.map +1 -0
- package/dist/types/ast/nodes/index.d.ts +62 -0
- package/dist/types/ast/nodes/index.d.ts.map +1 -0
- package/dist/types/ast/operators/ArithmaticOperator.d.ts +2 -0
- package/dist/types/ast/operators/ArithmaticOperator.d.ts.map +1 -0
- package/dist/types/ast/operators/BinaryOperator.d.ts +2 -0
- package/dist/types/ast/operators/BinaryOperator.d.ts.map +1 -0
- package/dist/types/ast/operators/LogicalOperator.d.ts +2 -0
- package/dist/types/ast/operators/LogicalOperator.d.ts.map +1 -0
- package/dist/types/ast/operators/OtherOperator.d.ts +2 -0
- package/dist/types/ast/operators/OtherOperator.d.ts.map +1 -0
- package/dist/types/ast/operators/UnaryOperator.d.ts +2 -0
- package/dist/types/ast/operators/UnaryOperator.d.ts.map +1 -0
- package/dist/types/ast/operators/UpdateOperator.d.ts +2 -0
- package/dist/types/ast/operators/UpdateOperator.d.ts.map +1 -0
- package/dist/types/ast/operators/index.d.ts +9 -0
- package/dist/types/ast/operators/index.d.ts.map +1 -0
- package/dist/types/ast/unions/ArgumentUnion.d.ts +3 -0
- package/dist/types/ast/unions/ArgumentUnion.d.ts.map +1 -0
- package/dist/types/ast/unions/BlockStatementUnion.d.ts +3 -0
- package/dist/types/ast/unions/BlockStatementUnion.d.ts.map +1 -0
- package/dist/types/ast/unions/BooleanExpressionUnion.d.ts +4 -0
- package/dist/types/ast/unions/BooleanExpressionUnion.d.ts.map +1 -0
- package/dist/types/ast/unions/EvaluateBranchUnion.d.ts +4 -0
- package/dist/types/ast/unions/EvaluateBranchUnion.d.ts.map +1 -0
- package/dist/types/ast/unions/ExpressionUnion.d.ts +3 -0
- package/dist/types/ast/unions/ExpressionUnion.d.ts.map +1 -0
- package/dist/types/ast/unions/FunctionParameterUnion.d.ts +4 -0
- package/dist/types/ast/unions/FunctionParameterUnion.d.ts.map +1 -0
- package/dist/types/ast/unions/LiteralUnion.d.ts +3 -0
- package/dist/types/ast/unions/LiteralUnion.d.ts.map +1 -0
- package/dist/types/ast/unions/OperatorUnion.d.ts +7 -0
- package/dist/types/ast/unions/OperatorUnion.d.ts.map +1 -0
- package/dist/types/ast/unions/OptimisedExpressionUnion.d.ts +3 -0
- package/dist/types/ast/unions/OptimisedExpressionUnion.d.ts.map +1 -0
- package/dist/types/ast/unions/ReturnValueUnion.d.ts +8 -0
- package/dist/types/ast/unions/ReturnValueUnion.d.ts.map +1 -0
- package/dist/types/ast/unions/TokenUnion.d.ts +4 -0
- package/dist/types/ast/unions/TokenUnion.d.ts.map +1 -0
- package/dist/types/ast/unions/TypeUnion.d.ts +3 -0
- package/dist/types/ast/unions/TypeUnion.d.ts.map +1 -0
- package/dist/types/ast/unions/ValueUnion.d.ts +4 -0
- package/dist/types/ast/unions/ValueUnion.d.ts.map +1 -0
- package/dist/types/ast/unions/index.d.ts +14 -0
- package/dist/types/ast/unions/index.d.ts.map +1 -0
- package/dist/types/byteCode/ByteCodeInstruction.d.ts +8 -0
- package/dist/types/byteCode/ByteCodeInstruction.d.ts.map +1 -0
- package/dist/types/byteCode/ByteCodeJson.d.ts +6 -0
- package/dist/types/byteCode/ByteCodeJson.d.ts.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils.d.ts +3 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +66 -0
- package/readme.md +139 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import {readFile, writeFile} from "fs/promises";
|
|
2
|
+
import {basename, dirname, extname, join} from "path";
|
|
3
|
+
import {
|
|
4
|
+
disassembleBytecode,
|
|
5
|
+
fromFullAstToSourceCode,
|
|
6
|
+
fromMiniAstToBinary,
|
|
7
|
+
fromSourceCodeToBinary,
|
|
8
|
+
fromSourceCodeToFullAst,
|
|
9
|
+
fromSourceCodeToMiniAst,
|
|
10
|
+
miniAstFromBinaryBuffer
|
|
11
|
+
} from "@/services";
|
|
12
|
+
import type {ByteCodeJson} from "@/types/byteCode/ByteCodeJson";
|
|
13
|
+
import {version} from "../package.json";
|
|
14
|
+
import {readFileSync} from "fs";
|
|
15
|
+
import {writeFileSync} from "node:fs";
|
|
16
|
+
|
|
17
|
+
export async function toAst(inputPath: string, outputPath?: string) {
|
|
18
|
+
try {
|
|
19
|
+
const sourceCode = await readFile(inputPath, "utf-8");
|
|
20
|
+
const ast = fromSourceCodeToFullAst(sourceCode, {filePath: inputPath, includeMetaData: true});
|
|
21
|
+
|
|
22
|
+
if (outputPath) {
|
|
23
|
+
await writeFile(outputPath, JSON.stringify(ast, null, 2));
|
|
24
|
+
console.log(`[BattleScript ${version}] Compiled to ${outputPath}`);
|
|
25
|
+
} else {
|
|
26
|
+
return ast;
|
|
27
|
+
}
|
|
28
|
+
} catch (error) {
|
|
29
|
+
console.error(`[BattleScript ${version}] Error:`, (error as Error).stack);
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function toAstSync(inputPath: string, outputPath?: string) {
|
|
35
|
+
try {
|
|
36
|
+
const sourceCode = readFileSync(inputPath, "utf-8");
|
|
37
|
+
const ast = fromSourceCodeToFullAst(sourceCode, {filePath: inputPath, includeMetaData: true});
|
|
38
|
+
|
|
39
|
+
if (outputPath) {
|
|
40
|
+
writeFileSync(outputPath, JSON.stringify(ast, null, 2));
|
|
41
|
+
console.log(`[BattleScript ${version}] Compiled to ${outputPath}`);
|
|
42
|
+
} else {
|
|
43
|
+
return ast;
|
|
44
|
+
}
|
|
45
|
+
} catch (error) {
|
|
46
|
+
console.error(`[BattleScript ${version}] Error:`, (error as Error).stack);
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export async function fromAst(inputPath: string, outputPath: string) {
|
|
52
|
+
try {
|
|
53
|
+
const astString = await readFile(inputPath, "utf-8");
|
|
54
|
+
const ast = JSON.parse(astString);
|
|
55
|
+
const code = fromFullAstToSourceCode(ast);
|
|
56
|
+
await writeFile(outputPath, code);
|
|
57
|
+
console.log(`[BattleScript ${version}] Decompiled to ${outputPath}`);
|
|
58
|
+
} catch (error) {
|
|
59
|
+
console.error(`[BattleScript ${version}] Error:`, (error as Error).stack);
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export async function toMiniAst(inputPath: string, outputPath: string) {
|
|
65
|
+
try {
|
|
66
|
+
const sourceCode = await readFile(inputPath, "utf-8");
|
|
67
|
+
const ast = fromSourceCodeToMiniAst(sourceCode, {filePath: inputPath, includeMetaData: true});
|
|
68
|
+
|
|
69
|
+
await writeFile(outputPath, JSON.stringify(ast));
|
|
70
|
+
console.log(`[BattleScript ${version}] Compiled to ${outputPath}`);
|
|
71
|
+
} catch (error) {
|
|
72
|
+
console.error(`[BattleScript ${version}] Error:`, (error as Error).stack);
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export async function toBinary(inputPath: string, outputPath: string) {
|
|
78
|
+
try {
|
|
79
|
+
const sourceCode = await readFile(inputPath, "utf-8");
|
|
80
|
+
const binary = fromSourceCodeToBinary(sourceCode, {includeMetaData: true, flatten: true, filePath: inputPath});
|
|
81
|
+
await writeFile(outputPath, Buffer.concat(binary))
|
|
82
|
+
|
|
83
|
+
console.log(`[BattleScript ${version}] Compiled to ${outputPath}`);
|
|
84
|
+
} catch (error) {
|
|
85
|
+
console.error(`[BattleScript ${version}] Error:`, (error as Error).stack);
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export async function miniAstToBinary(inputPath: string, outputPath: string) {
|
|
91
|
+
try {
|
|
92
|
+
const sourceCode = await readFile(inputPath, "utf-8");
|
|
93
|
+
const binary = fromMiniAstToBinary(JSON.parse(sourceCode), {
|
|
94
|
+
includeMetaData: true,
|
|
95
|
+
flatten: true,
|
|
96
|
+
filePath: inputPath
|
|
97
|
+
});
|
|
98
|
+
await writeFile(outputPath, Buffer.concat(binary))
|
|
99
|
+
|
|
100
|
+
console.log(`[BattleScript ${version}] Compiled to ${outputPath}`);
|
|
101
|
+
} catch (error) {
|
|
102
|
+
console.error(`[BattleScript ${version}] Error:`, (error as Error).stack);
|
|
103
|
+
process.exit(1);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export async function fromBinary(inputPath: string, outputPath: string) {
|
|
108
|
+
try {
|
|
109
|
+
const binaryBuffer = await readFile(inputPath);
|
|
110
|
+
const miniAstJson = miniAstFromBinaryBuffer(binaryBuffer);
|
|
111
|
+
await writeFile(outputPath, JSON.stringify(miniAstJson));
|
|
112
|
+
console.log(`[BattleScript ${version}] Disassembled to ${outputPath}`);
|
|
113
|
+
} catch (error) {
|
|
114
|
+
console.error(`[BattleScript ${version}] Error:`, (error as Error).stack);
|
|
115
|
+
process.exit(1);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// async function toByteCode(inputPath: string, outputPath: string) {
|
|
120
|
+
// try {
|
|
121
|
+
// const sourceCode = await readFile(inputPath, "utf-8");
|
|
122
|
+
// const bcodeJson = fromSourceCodeToByteCode(sourceCode, {includeMetaData: true, flatten: true});
|
|
123
|
+
// await writeFile(outputPath, JSON.stringify(bcodeJson).replace(/\[\[/g, "[\n[").replace(/]]/g, "]\n]").replace(/],/g, "],\n"));
|
|
124
|
+
// console.log(`Compiled to ${outputPath}`);
|
|
125
|
+
// } catch (error) {
|
|
126
|
+
// console.error("Error:", (error as Error).stack);
|
|
127
|
+
// process.exit(1);
|
|
128
|
+
// }
|
|
129
|
+
// }
|
|
130
|
+
|
|
131
|
+
export async function fromByteCode(inputPath: string, outputPath: string) {
|
|
132
|
+
try {
|
|
133
|
+
const byteCodeJsonString = await readFile(inputPath, "utf-8");
|
|
134
|
+
const byteCodeJson: ByteCodeJson = JSON.parse(byteCodeJsonString);
|
|
135
|
+
const code = disassembleBytecode(byteCodeJson);
|
|
136
|
+
await writeFile(outputPath, code.join("\n"));
|
|
137
|
+
console.log(`[BattleScript ${version}] Disassembled to ${outputPath}`);
|
|
138
|
+
} catch (error) {
|
|
139
|
+
console.error(`[BattleScript ${version}] Error:`, (error as Error).stack);
|
|
140
|
+
process.exit(1);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export function changeExtension(filePath: string, newExt: string): string {
|
|
145
|
+
const dir = dirname(filePath);
|
|
146
|
+
const base = basename(filePath, extname(filePath));
|
|
147
|
+
return join(dir, `${base}.${newExt}`);
|
|
148
|
+
}
|