]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Update grammar_grapher with the new forced (&&) directive (#31704)
authorLuca Chiodini <luca@chiodini.org>
Sun, 6 Mar 2022 14:26:28 +0000 (15:26 +0100)
committerGitHub <noreply@github.com>
Sun, 6 Mar 2022 14:26:28 +0000 (15:26 +0100)
Tools/peg_generator/scripts/grammar_grapher.py

index 4d771239c2954d421ae3aa64d40dfde73ddd1d76..4a41dfaa3da0ff8de526c5eff70921f492c3e7a2 100755 (executable)
@@ -29,6 +29,7 @@ from pegen.build import build_parser
 from pegen.grammar import (
     Alt,
     Cut,
+    Forced,
     Grammar,
     Group,
     Leaf,
@@ -60,6 +61,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):