25 interpret does not recognize pragma arguments#27
Open
adri09070 wants to merge 9 commits intoRMODINRIA:masterfrom
Open
25 interpret does not recognize pragma arguments#27adri09070 wants to merge 9 commits intoRMODINRIA:masterfrom
adri09070 wants to merge 9 commits intoRMODINRIA:masterfrom
Conversation
…ryVariable and ArgumentVariable
updating ASTInterpreter and ASTPostOrderTreeVisitor according to new AST visitor API
…cy to the baseline
removing deprecated spec-debugger dependency + adding espell dependen…
…to initialize primitiva error variables correctly
Contributor
|
There is one DAST test not passing apparently |
Contributor
Author
|
Yes, it's ok, some failing tests are fixed by other PRs |
Contributor
Author
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.
Fixes #25
When an interpreter interpreted a method with a pragma node that has a primitive error variable (generally called
ec) that is used in the body of the method, the interpreter would not recognize it.To fix that, I changed the DASTPostOrderTreeVisitor so that it pushes the pragma node on the node stack when it creates the context. Then, it pushes the context. Then, when a primitive fails, the interpreter interprets the pragma node by defining the binding in the currentContext: primitiveErrorVariableName -> errorCode.
To get the error code, we modified
DASTPrimitiveFailedso that it contains the error code when a primitive fails