apollovm 0.0.35
apollovm: ^0.0.35 copied to clipboard
ApolloVM is a portable VM (native, JS/Web, Flutter) that can parse, translate and run multiple languages, like Dart, Java, Kotlin and JavaScript.
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