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.
1.Anticipated AST:
A. For the condition "(a > 1)," the test anticipates a "IfNode" with a "BinaryOpNode," followed by a body that includes the "doSomething()" function call (represented as a "FunctionCallNode"). B. The else if block is handled recursively as an additional "IfNode," including a function call ( "doSomethingElse()") and its own condition "(a < 0)". C. The function call for "fallback()" is contained in the else block.
A. To compare nodes in the test, the "IfNode," "BinaryOpNode," "VariableNode," and "FunctionCallNode" classes are defined with "eq" methods. B. The structure that your parser outputs must match these nodes.
This node symbolises a call to a function, such as "fallback()" or "doSomething()." If your parser generates a different structure for function calls, you should modify this node definition.
Make that the 'IfNode,' 'BinaryOpNode,' and 'VariableNode' are generated appropriately and that your 'GLSLParser' can construct 'FunctionCallNode' objects for function calls.
After you're satisfied the parser is operating correctly run the test using: python -m unittest test_glsl_parser.py
PR Description
Related Issue
shader Sample
Checklist