Releases: PhilipJonasFranz/SnipsCompilerGen2
Releases · PhilipJonasFranz/SnipsCompilerGen2
Snips Compiler Gen.2 Version v4.6.2
New Features in release 4.6.2:
- Implemented Operator Overloading
Improvements:
- Improved String Constant casting
- Allow writeback operations on pointers
- Library updates
Fixes:
- Fixed crashes
- Fixed bug when generating labels
Snips Compiler Gen.2 Version v4.6.1
New Features in release 4.6.1:
- Implemented an AST Optimizer pipeline stage, rule-based AST-Transformations
- Implemented AST Directives, ability to pass metadata to AST Optimizer
- Implemented define, if-def directive
- Implemented Include with Flags for include directives
- Implemented AUTO-type, automatic type determination based on value
- Implemented super-call outside of constructors:
super()
- Implemented call-to-super
super->get()
Improvements:
- Added source code printout to AST nodes
- Added log printout to file via '-logs'
- Improvements to Test Driver, ability to handle Compiler-Timeouts
- Rework BinaryExpressions to NFoldExpressions
- Improvements to ASM Optimizer
- System library refactoring and improvements
- Added code stack trace to context exceptions
- When a function is inherited but not overridden, the function now relays to the parent's function's asm
- Allow other expressions in signal statement than structure init
- Added heuristic metrics to guess the complexity of a given AST, used in AST Optimizer
Fixes:
- Bug fixes in ASM optimizer
- Fix proviso automappings not working for interface calls with provisos
- Refactoring throughout the codebase
Snips Compiler Gen.2 Version v4.6.0
New Features in release 4.6.0:
- Implemented modules, header files and quick re-compile feature
- Added Directives to output that allow assembly imports to a file using new Linker tool
- Implemented module versioning
Improvements:
- Updated how labels are generated, cleaner asm output
- Refactored Instanceof and SIDs
- Refactored Lambdas and Predicates
- Refactored Interfaces and how Interface-Tables are emitted
- Upgrade to new XML-Parser
Fixes:
- Bug fixes in ASM optimizer
- A ton of bugfixes related to new module system
Snips Compiler Gen.2 Version v4.5.1
New Features in release 4.5.1:
- Implemented Inline Function Predicates
- Implemented Function Overloading
- Implement For-Each Loop with Writeback
Improvements:
- Automatically add missing provisos for interface functions
- Improve Temp-Atoms for multi-word bases
- README.md updates
- Performance improvements
- Improved logging and added improved messages upon crashes
- Added hint when a relative filepath is used as input
- Improve ASM for always true conditions
- Codebase refactors
Fixes:
- Fixed a bug in the optimizer that removed FP/SP exchange prematurely
- Fixed false shadow warnings
- Fixed crash because of missing IDRef-reference
- Fixed bad ASM for for-Each loop
Snips Compiler Gen.2 Version v4.5.0
New Features in release 4.4.0:
- Implemented interfaces
- Implemented nested function overriding
- Library updates, added Stream library
Improvements:
- Extended the scope of provisos of struct type definitions to methods
- Library reworks to use static constructors
- Updated Readme and added Quick-Start Documentation
- Added injection cast for StructSelectWriteback expression
- Added checks to report missing provisos for nested functions
- Added a warning message when calling nested resource and derefing a non-pointer
- Code base refactors
Fixes:
- Fixed not being able to use full namespace paths when calling static member function
- Fixed issues when translating provisos between struct typedefs
- Fixed a bug that prevented locating static member functions capsuled in namespaces
- Fix issues when parsing a static member call within a namespace and with provisos
- Fixed a bug that allowed to access static member functions with namespace name
- Fixed a bug that overwrote functions when extending from a struct
- Fixed a bug when comparing types that are polymorph
Snips Compiler Gen.2 Version v4.4.0
New Features in release 4.4.0:
- Implemented static modifier, allows direct access to struct nested functions
- Implemented parameter covering for structure initialization
- Implemented
super()
functionality to call to parent constructor
Improvements:
- The for-each loop can now iterate a nested array, for example
for (int i : x->arr, 5) ...
Fixes:
- Added multiple for more precise errors messages related to structs initialization
Snips Compiler Gen.2 Version v4.3.4
New Features in release 4.3.4:
- Allow getting address of writeback operation, f.E:
&cnt++
- Library Updates
Fixes:
- Fix a bug when checking for type equality with polymorph types
- Fix not being able to access struct nested functions of extension
- Fix not being able to address reference for-Iterator
- Fix not being able to address reference forEach-Iterator
- Fix a bug in the ASM optimizer
- Fix a bug where the wrong parameter number is displayed when calling with implicit self reference
- Fix a bug when loading address from struct select via pointer
Snips Compiler Gen.2 Version v4.3.3
New Features in release 4.3.3:
- Allow getting address of structure init
Fixes:
- Fix crash when attempting to get auto-provisos
- Add check to prevent usage of reserved function names
- Fix bug when address referencing function parameters
- Fix bug when setting provisos to predicate function parameter with provisos
- Fix bug during logging
Snips Compiler Gen.2 Version v4.3.2
New Features in release 4.3.2:
- Implement default proviso, give proviso headers default types
- Rework internal libraries to use struct nesting
Fixes:
- Fix bug in parser when parsing struct nested call
- Fix bug in ctx, only allow calls to function inside target type
Snips Compiler Gen.2 Version v4.3.1
New Features in release 4.3.1:
- Rework nested struct functions, add implicit self reference to parameters
- Rework nested struct call chains, add auto self reference
Improvements:
- Simplify struct call chains behind the scenes, realize through AST transformations
Fixes:
- Fix a bug when checking for type equality