Increase recursion limit and add error handling for deep recursion of… #747
+8
−2
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.
… ASTs
This commit raises the recursion limit to 10000 to accommodate deeper recursive operations in the AST parsing process. Additionally, it introduces try-except blocks to catch and handle recursion errors gracefully, ensuring the program can recover and continue processing when the recursion depth exceeds the newly set limit. This approach enhances the robustness of our AST traversal by preventing abrupt terminations due to recursion depth issues.
Why are these changes needed?
I found code snippets in the WCA EPT data whose ASTs lead to a deeper recursion and violate the default recursion Python limit of 3000. These are mostly long string concatenation operations. As they are not the syntactic concept of interest, I am ignoring them.
Related issue number (if any).