Repository navigation
Refactor AST nodes and add support for user defined modifier handler functions - #244
Merged
Merged
Conversation
* Moved Core::Data::Ast to Core::Ast. * Moved Core::Data::Grammar to Core::Grammar. * Removed the Core::Data namespace. * Inherited all AST node classes from Core::Ast::Node. * Inherited all grammar node classes from Core::Grammar::Node.
Fixed a bug that results in memory corruption due to double deallocation of memory when TI basic types are destructed on the Alusus side.
Moved the functionality of MetaHaving into the Core::Ast::Node class and removed the interface.
Moved the functionality of Printable into the Core::Ast::Node class and removed the interface.
* Replaced the modifier translations in the grammar with modifier actions, which provides more standard operations than just translations. * Moved the modifiers array from Definition and GenericCommand into Node. * Added metadata to Node to hold various metadata for the Node, while the modifiers array is kept for unprocessed modifiers. * Made the statement's parsing handler capture any unprocessed modifier and store it on the Node.
* Enabled the user to define custom functions for handling custom modifiers during preprocessing. * Treat custom modifiers with no matching functions as errors. * Added Spp.astMgr.addPossiblyMergeableElement. * Added metadata functions to `Nod` in Alusus side. * Added Containing.findElementIndex. * Enabled searching by meatadata in SeekerExtension. * Made few fixes to Arabic element names. * Updated documentations.
* Changed the Arabic names of a couple of functions in the Time module. * Updated the documentation and the changelogs. * Fixed failing tests.
* Fixed issue with compilation failing silently when pre- processing fails. * Fixed missing custom modifier handlers in Srl. * Fixed dependency on `use Srl` in `AstMgr`. * Added `SppMgr.getStringsFromStringParams`
* Add a command line option for turning optimization layer on or off. * Enabled requesting optimized code when generating offline builds.
Fixed passing and returning structs of up to 16 bytes by value to make it compatible with C ABI, which allows users to use any C library directly without the need to reinterpret small structures.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Nodin Alusus side.SppMgr.getStringsFromStringParams