diff options
author | Lysandros Nikolaou <lisandrosnik@gmail.com> | 2020-10-26 22:42:04 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-26 22:42:04 (GMT) |
commit | bca701403253379409dece03053dbd739c0bd059 (patch) | |
tree | 9222677d56d4669ac00f734ffeb7d72797bb6a89 /Parser/pegen.h | |
parent | c8c4200b65b2159bbb13cee10d67dfb3676fef26 (diff) | |
download | cpython-bca701403253379409dece03053dbd739c0bd059.zip cpython-bca701403253379409dece03053dbd739c0bd059.tar.gz cpython-bca701403253379409dece03053dbd739c0bd059.tar.bz2 |
bpo-42123: Run the parser two times and only enable invalid rules on the second run (GH-22111)
* Implement running the parser a second time for the errors messages
The first parser run is only responsible for detecting whether
there is a `SyntaxError` or not. If there isn't the AST gets returned.
Otherwise, the parser is run a second time with all the `invalid_*`
rules enabled so that all the customized error messages get produced.
Diffstat (limited to 'Parser/pegen.h')
-rw-r--r-- | Parser/pegen.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Parser/pegen.h b/Parser/pegen.h index 9a280ae..841f1e5 100644 --- a/Parser/pegen.h +++ b/Parser/pegen.h @@ -73,6 +73,7 @@ typedef struct { growable_comment_array type_ignore_comments; Token *known_err_token; int level; + int call_invalid_rules; } Parser; typedef struct { |