apollovm 0.0.53
apollovm: ^0.0.53 copied to clipboard
ApolloVM, a Multilingual portable VM (native, JS/Web, Flutter) for Dart, Java, JavaScript with on-the-fly Wasm compilation.
0.0.53 #
- wasm_run: ^0.1.0+1
0.0.52 #
-
New
ASTExpressionVariableDirectOperation(++and--operators). -
New
StrictTypeinterface forequalsStrictoverASTTypeIntandASTTypeDouble. -
ApolloGeneratorWasm:- Improve auto casting to int32/int64 and float32/float64.
- Implemented
generateASTExpressionVariableDirectOperation.
0.0.51 #
-
sdk: '>=3.3.0 <4.0.0'
-
swiss_knife: ^3.2.0
-
data_serializer: ^1.1.0
-
petitparser: ^6.0.2
-
path: ^1.9.0
-
lints: ^3.0.0
-
dependency_validator: ^3.2.3
-
test: ^1.25.2
-
xml: ^6.5.0
0.0.50 #
WasmRuntime: new VM implementation.wasm_runtime_io.dart:- Dart CI: wasm_run:setup (install dynamic library)
- wasm_run: ^0.0.1+3
0.0.49 #
ASTTypeDouble:acceptsType: now also accepts anASTTypeInt.
wasm_generator.dart:- Fix
isBits64.
- Fix
- Improve Wasm test coverage.
0.0.48 #
-
ASTNode:- Now is a mixin.
getNodeIdentifier: added optional parameterrequester.- Added
childrenanddescendantChildren.
-
ASTFunctionDeclaration:getNodeIdentifier: now can also resolve identifiers inside statements.
-
Wasm:
- Encode function names with UTF-8.
Wasm64: addedi64WrapToi32.
-
WasmContext:- Added
returnsstate.
- Added
-
ApolloGeneratorWasm:- Added
_autoConvertStackTypes. generateASTStatementReturnValueandgenerateASTStatementReturnVariable:- Auto cast returning types.
- Added
-
Dart CI: added job
test_exe.
0.0.47 #
- Improve variable type resolution while compiling to Wasm.
0.0.46 #
- Improve type resolution of
ASTTypeVar. - Optimize some
asyncmethods.
0.0.45 #
-
ASTBranchIfElseBlockandASTBranchIfElseIfsElseBlock:blockElse: optional.
-
ASTParametersDeclaration:- Added
allParameters.
- Added
-
ASTTypeIntandASTTypeDouble:- Added
bits - Added
ASTTypeInt.instance32andASTTypeInt.instance64. - Added
ASTTypeDouble.instance32andASTTypeDouble.instance64.
- Added
-
ASTValueNum:- Added field
negative.
- Added field
-
ApolloGeneratorWasm:- Changed to 64 bits.
Wasm: split inWasm32andWasm64with improved opcodes.- Allow operations with different types (auto casting).
- Handle
unreachableend of function cases. - Implemented:
generateASTValue,generateASTValueDouble,generateASTValueInt.generateASTExpressionVariableAssignment,generateASTStatementExpressiongenerateASTBranchIfBlock,generateASTBranchIfElseBlock,generateASTBranchIfElseIfsElseBlock.generateASTStatementReturnWithExpression,generateASTStatementReturn,generateASTStatementReturnValue.
-
ApolloParserWasm:- Identify if an
ASTTypeIntorASTTypeDoubletype is a32or64bits.
- Identify if an
-
ApolloRunnerWasm:- Use the parsed Wasm functions (AST) to normalize the parameters before calling the Wasm function.
-
WasmModule:- Added
resolveReturnedValue.- Browser implementation: when the function returns a
f64, the JSbigintneeds to be converted to a DartBigInt.
- Browser implementation: when the function returns a
- Added
-
New
WasmModuleExecutionError.
0.0.44 #
pubspec.yaml: update description.
0.0.43 #
ApolloRunner:getFunctionCodeUnit: fix returned codeUnit whenallowClassMethod = true.
0.0.42 #
-
New
SourceCodeUnitandBinaryCodeUnit.CodeUnitnow isabstract:- Renamed field
sourcetocode.
- Renamed field
-
Using
SourceCodeUnitinstead ofCodeUnitwhen necessary. -
ApolloParserrenamed toApolloCodeParser:- Allows binary code parsing (not only strings).
- New
ApolloSourceCodeParser.
-
ApolloRunner:- Added
getFunctionCodeUnit.
- Added
-
Using
Leb128from packagedata_serializer. -
BytesOutputnow extendsBytesEmitter(fromdata_serializer). -
ApolloGeneratorWasm:generateASTExpressionOperation: allow operations with different types (auto casting frominttodouble).
-
New
WasmRuntimeandWasmModule.- Implementation:
WasmRuntimeBrowser.
- Implementation:
-
New
WasmModuleLoadError. -
WasmContext:- Added stack status to help code generation.
-
data_serializer: ^1.0.11
-
wasm_interop: ^2.0.1
-
crypto: ^3.0.3
-
path: ^1.8.3
0.0.42+alpha #
- Renamed
ApolloLanguageRunnertoApolloRunner. - Organize runners implementation files.
0.0.41 #
README.md: added Wasm example.- Minor fixes.
0.0.40 #
-
New
ApolloGeneratorWasm.- Basic support to compile the AST tree to Wasm.
-
New
BytesOutputfor binary code generation. -
data_serializer: ^1.0.10
0.0.39 #
ApolloVMNullPointerExceptionandApolloVMCastExceptionnow extendsApolloVMRuntimeError.- AST implementation:
- Changes some
StateErrorwhile executing toApolloVMRuntimeError.
- Changes some
- New abstract
ApolloCodeUnitStorage:- Implementations:
ApolloSourceCodeStorage,ApolloSourceCodeStorageMemory.ApolloBinaryCodeStorage,ApolloBinaryCodeStorageMemory.ApolloGenericCodeStorageMemory.
- Implementations:
ApolloGeneratornow defines the output type.- New
GeneratedOutput.
0.0.38 #
pubspec.yaml:- Added issue_tracker
- Added topics.
- Added screenshots.
README.md:- Added
Codecovbadge and link.
- Added
0.0.37 #
- Update
pubspec.yamldescription. README.md: added TODO list.
0.0.36 #
ApolloCodeGenerator:generateASTValueStringExpression: try to preserve single quotes in concatenations sequence.
- Java 11:
- Added support for
ArrayListandHashMapliterals.
- Added support for
0.0.35 #
ASTRoot:- Added
getClassWithMethod.
- Added
CodeNamespace:- Added
getCodeUnitWithClassMethod.
- Added
ApolloLanguageRunner:executeFunction: added parameterallowClassMethod.
- Added
ASTExpressionListLiteralandASTExpressionMapLiteral:- Support in
dartandjavagrammar.
- Support in
0.0.34 #
ApolloVM:loadCodeUnitnow throws aSyntaxErrorwith extended details.
ParseResult:- Added fields
codeUnit,errorPositionanderrorLineAndColumn. - Added getters
errorLineanderrorMessageExtended
- Added fields
- Added
ASTExpressionNegation:- Added support for
dartandjava11.
- Added support for
0.0.33 #
ASTNodeimplementations:- Implement
toStringwith a pseudo-code version of the node to facilitate debugging.
- Implement
- Fixed parsing of comments in Dart and Java 11.
0.0.32 #
-
Dart CI: update and optimize jobs.
-
sdk: '>=3.0.0 <4.0.0'
-
swiss_knife: ^3.1.5
-
async_extension: ^1.2.5
-
petitparser: ^6.0.1
-
collection: ^1.18.0
-
args: ^2.4.2
-
lints: ^2.1.1
-
test: ^1.24.6
-
xml: ^6.4.2
-
path: ^1.8.3
0.0.31 #
- Improved GitHub CI:
- Added browser tests.
- Optimize imports.
- Clean code and new lints adjusts.
- sdk: '>=2.15.0 <3.0.0'
- swiss_knife: ^3.1.1
- async_extension: ^1.0.9
- petitparser: ^5.0.0
- collection: ^1.16.0
- args: ^2.3.1
- lints: ^2.0.0
- dependency_validator: ^3.2.2
- test: ^1.21.4
- pubspec: ^2.3.0
- xml: ^6.1.0
- path: ^1.8.2
0.0.30 #
- Using
async_extensionto optimize async calls.- Removed internal extensions with similar functionality.
- Migrated from
pedantictolints. - Fixed missing await in
ASTExpressionVariableAssignment. - lints: ^1.0.1
- swiss_knife: ^3.0.8
- async_extension: ^1.0.6
- petitparser: ^4.2.0
0.0.29 #
- Improve
ApolloVMCore:- Implementing portable
intclass fordartandjava11:parse,parseInt.
- Implementing portable
- Code generation:
- Correctly normalize
intandIntegerfordartandjava11.
- Correctly normalize
- Improve
asyncoptimization.
0.0.28 #
- Implement static class accessor, to allow calls to static functions.
- Initial version of
ApolloVMCore:- Implementing portable
Stringclass fordartandjava11:- Mapping:
contains,toUpperCase,toLowerCase,valueOf.
- Mapping:
- Implementing portable
- Fixed class field code generation for
dartandjava11. asyncoptimization:- Avoid instantiation of
Future, usingFutureOrExtensionandListFutureOrExtension:resolve,resolveMappedandresolveAllMapped.
- Avoid instantiation of
- Improved languages tests, to also executed regenerated code.
0.0.27 #
- Runner:
- Strong types.
vartypes can be resolved.ASTTypedNode: nodes can be typed, and resolution is performed and cached while running.
- Optimize resolution of functions.
- Strong types.
- Grammar:
- Dart & Java:
vartypes to be resolved at runtime.
- Dart & Java:
0.0.26 #
- Generator:
- Dart & Java:
- Improve String concatenation with variables.
- Dart & Java:
0.0.25 #
- Grammar:
- Dart & Java:
- Added
forloop statement:ASTStatementForLoop.
- Added
- Dart & Java:
- Adjust
README.md.
0.0.24 #
ApolloVM:parseLanguageFromFilePathExtension
ApolloLanguageRunner:tryExecuteFunctiontryExecuteClassFunction
- Executable:
apollovm
- args: ^2.0.0
- pubspec: ^2.0.1
- path: ^1.8.0
0.0.23 #
- Improve tests, to tests definitions directory of XML files.
0.0.22 #
caseInsensitiveoption for:- setField, getField, getFunctionWithName, getFunction,getClass
0.0.21 #
- Better handling of function signature and how to pass positional and named parameters.
0.0.20 #
- Added
ASTClass.getFieldsMap. ASTEntryPointBlock.executewith extra parametersclassInstanceObjectandclassInstanceFields.- Change signature of
dartRunner.executeFunctionandjavaRunner.executeClassMethod.- Now they use named parameters for
positionalParametersandnamedParameters.
- Now they use named parameters for
0.0.19 #
- Grammar:
- Java & Dart:
- Parse boolean literal.
- Java & Dart:
- Improve API documentation.
0.0.18 #
- API Documentation.
0.0.17 #
- Fix call of function using
dynamictype in parameter value. - Code Generator:
- Better formatting for classes and methods.
- Grammar:
- Dart:
- Fix parsing of function with multiple parameters.
- Java:
- Class fields.
- Fix parsing of function with multiple parameters.
- Return statements ;
- Dart:
0.0.16 #
- Grammars:
- Dart & Java11:
- Fix parsing of multiple parameters.
- Dart & Java11:
- Runner:
- Fix division with double and int.
- Code Generator:
- Dart & Java11:
- Fix variable assigment duplicated ';'.
- Dart:
- Improve string template regeneration, specially when parsed code comes from Java.
- Dart & Java11:
- Improved example.
0.0.15 #
ASTBlock: addedfunctionsNames.ASTClass: addedfieldsandfieldsNames.ApolloLanguageRunner: addedgetClass.
0.0.14 #
- AST:
ASTClassFunctionDeclaration: To ensure that any class function is parsed from a class block and also ensure that is running from a class block.
- Generator:
- Dart:
- Fix non class function: due static modifier.
- Java:
- Will throw an exception if the generation of a function without a class is attempted.
- Dart:
- Runner:
- Fix class object instance context.
0.0.13 #
- Grammar & Runner:
- Dart & Java:
- Class fields.
- Class object instance fields at runtime.
- Dart & Java:
- Code Generator:
- Dart & Java:
- Fix return statement with value/expression ;
- Java:
- Better/shorter code for String concatenation.
- Dart & Java:
0.0.12 #
- Grammars & Code Generators & Runner:
- Dart & Java11:
- Better definition of static methods.
- Class object instance.
- Dart & Java11:
0.0.11 #
- Renamed:
ASTCodeBlock->ASTBlock.ASTCodeRoot->ASTRoot.ASTCodeClass->ASTClass.
- Added support to
asynccalls inASTNodeexecution.- Any part of an
ASTNodecan have anasyncresolution. This allows the mapping of external functions that returns aFutureor other languages that acceptsasyncat any point.
- Any part of an
- Better mapping of external functions:
- Better Identification of number of parameters of mapped functions.
- Now an
ASTRootor anASTClassare initialized:- Class/Root statements are executed once, and a context for each Class/Root is held during VM execution.
0.0.10 #
- Refactor:
- Split
apollovm_ast.dartinto multipleast/apollovm_ast_*.dartfiles.
- Split
0.0.9 #
- Code Generators:
- Fix
elsebranch indentation.
- Fix
0.0.8 #
- Fix package description.
- Renamed Java8 to Java11:
- Java 11 is closer to Dart 2 than Java 8.
- Grammars & Code Generators:
- Dart & Java11:
- Support
if,else ifandelsebranches.
- Support
- Dart & Java11:
0.0.7 #
- Added type
ASTTypeBooland valueASTValueBool. - Added
ApolloVMNullPointerException. - Grammars & Code Generators:
- Dart & Java8:
- Support to expression comparison operators
==,!=,>,<,>=,<=.
- Support to expression comparison operators
- Dart & Java8:
- Upgrade: petitparser: ^4.1.0
0.0.6 #
- Grammars:
- Dart:
- Added support for string templates:
- including variable access:
$x. - including expressions:
${ x * 2 }. - Not implemented for multiline string yet.
- including variable access:
- Added support for string templates:
- Java8:
- Support for string concatenation.
- Dart:
- Code Generators:
- Java8:
- Translate string templates to Java String concatenations.
- Java8:
0.0.5 #
- Grammars:
- Dart:
- Raw single line and raw multiline line strings.
- Improved parser tests for literal String.
- Dart:
0.0.4 #
- Added type check:
ASTType.isInstance.- Function call now checks type signature and type inheritance.
- Grammars:
- Dart:
- Single line and multiline line strings with escaped chars.
- Java8:
- Single line strings with escaped chars.
- Dart:
0.0.3 #
- Removed
ASTCodeGenerator, that is language specific now:ApolloCodeGenerator. - Better external function mapping.
- Grammars:
- Dart:
- Expression operations:
+,-,*,/,~/.
- Expression operations:
- Java8:
- Expression operations:
+,-,*,/.
- Expression operations:
- Dart:
- Improved tests.
0.0.2 #
- Improved execution:
- Now can call a class method or a function.
- Improved code generation:
- Now supporting Java8 and Dart.
- Grammars:
- Dart:
- Basic class definition.
- Java8:
- Basic class definition.
- Dart:
0.0.1 #
- Basic Dart and Java8 support.
- Initial version, created by Stagehand
