Feat: flatten tree BlockState for SemanticStackContext #19
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.
Description
The current
BlockState
is represented as a tree with one parent and many children. It represents blocks as a tree with branches and leaves. Each block state has acontext
that containsSemanticStack
. It means that all contexts also represented as a tree. Related to issue #16.🔦 To simplify the fetching process for Codegen backends, there is an added the changes:
BlockState
with their own contextBlockState
contains flattened linear context related to all children'sBlockState
context.Tests
BoclState
contexts.BlockState
parent invokation.🏦
BlockState
changesAdded traits:
SemanticContext
GlobalSemanticContext
For
BlockState
traitSemanticContext
implementation added invokcation for all parentBlockState
nodes in context. It's guaranteed, that all parent context nodes have the same leaves as children. Androot
contains full representation of children's instructions.