Skip to content

Releases: PhilipJonasFranz/SnipsCompilerGen2

Snips Compiler Gen.2 Version v4.6.2

08 May 18:10
Compare
Choose a tag to compare
Pre-release

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

02 May 19:16
Compare
Choose a tag to compare
Pre-release

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

30 Mar 20:52
d7f8765
Compare
Choose a tag to compare
Pre-release

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

05 Mar 18:22
Compare
Choose a tag to compare
Pre-release

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

24 Oct 18:53
Compare
Choose a tag to compare
Pre-release

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

08 Oct 21:55
Compare
Choose a tag to compare
Pre-release

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

03 Oct 19:09
Compare
Choose a tag to compare
Pre-release

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

15 Sep 10:53
Compare
Choose a tag to compare
Pre-release

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

24 Aug 20:55
Compare
Choose a tag to compare
Pre-release

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

21 Aug 09:31
Compare
Choose a tag to compare
Pre-release

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