Releases: mrLSD/semantic-analyzer-rs
v0.4.5
v0.4.4
v0.4.3
v0.4.2
v0.4.1
➡️ Generic Expression value: custom Expression value with custom instruction as result for Semantic Stack Context. Extended generalized solution for Semantic Stack Context instructions including codec
feature for serialization extended expressions.
➡️ Extended tests for Generic Expression value: custom Expression instructions.
v0.4.0
Introduced a new awesome possibility - extensibility 🔋.
➡️ Generic Expression value: custom Expression value with custom instruction as result for Semantic Stack Context. It's bring possibility to extend AST for the custom needs of compilers and extends additional generic custom instructions for the next step of code generation.
➡️ Refactored tests structure
v0.3.3
➡️ Added Serde
serializer, which can be enabled via the codec
feature flag.
➡️ Extended README.
➡️ Extended tests.
💠 It's most useful for:
-
AST
- AST can be presented with (se/dese)rialization. -
State
- whole state as serialization result -
SematicStack
- serialized instructions set
Contribution
v0.3.2
🍰 Added function parameters as variables to BlockState
with 🌷 additional instruction FunctionArg
to SemanticStack
for allocation 🎇 and bind explicitly in Codegen
backend.
💡 Tests
Extended tests, that covers new instructions and func-params
additions.
🍏 Clippy
Increased clippy level to most maximum and fixed all clippy-related issues 🍾.
v0.3.1
Introduced extended 🌴 BlockState context:
🔦 To simplify the fetching process for Codegen backends, there is added the changes:
- for the parent BlockState "flatten" all children's contexts. It means parent context will also include children's contexts. And it has linear representations. At the same time, it has children
BlockState
with their own context - root
BlockState
contains flattened linear context related to all children'sBlockState
context.
🔦 Tests
- Added additional tests for all related flattened
BoclState
contexts. - Added tests for
BlockState
parent invokation.
🏦 BlockState
changes
🔦 Added traits:
SemanticContext
GlobalSemanticContext
For BlockState
trait SemanticContext
implementation added invokcation for all parent BlockState
nodes in context. It's guaranteed, that all parent context nodes have the same leaves as children. And root
contains full representation of children's instructions.
v0.3.0
The release contains several improvements and breaking changes. Extended documentations and tests. Added reference to example usage with mrLSD/toy-codegen project.
🥇 Registers
Implemented register numbers for expressions and assignment operations.
The main point is to track correct expressions, values, and function parameters.
🥈 Toy Codegen
As an example of usage for semantic-alalyzer-rs
is implemented as a separate project toy-codegen. It shows how to use SemanticStack
for Codegen generation. Added to README.md.
📝 Documentation
- Extended README docs
- Extended code documentation for
SemanticStack
functions generator.