From: Luca Chiodini Date: Mon, 7 Mar 2022 14:54:08 +0000 (+0100) Subject: [3.10] Update grammar_grapher with the new forced (&&) directive (GH-31704) (GH-31719) X-Git-Tag: v3.10.3~37 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0ff033b859f29b6230f6d2262f08b31c2ba11921;p=thirdparty%2FPython%2Fcpython.git [3.10] Update grammar_grapher with the new forced (&&) directive (GH-31704) (GH-31719) (cherry picked from commit 7f07b5ee9c2d17f837c44440bf066c73f92dac14) Co-authored-by: Luca Chiodini --- diff --git a/Tools/peg_generator/scripts/grammar_grapher.py b/Tools/peg_generator/scripts/grammar_grapher.py index 4afdbce8f966..c527e19b2099 100755 --- a/Tools/peg_generator/scripts/grammar_grapher.py +++ b/Tools/peg_generator/scripts/grammar_grapher.py @@ -29,6 +29,7 @@ from pegen.build import build_parser from pegen.grammar import ( Alt, Cut, + Forced, Grammar, Group, Leaf, @@ -57,6 +58,8 @@ def references_for_item(item: Any) -> List[Any]: return [_ref for _item in item.items for _ref in references_for_item(_item)] elif isinstance(item, Cut): return [] + elif isinstance(item, Forced): + return references_for_item(item.node) elif isinstance(item, Group): return references_for_item(item.rhs) elif isinstance(item, Lookahead):