[Python-checkins] Update grammar_grapher with the new forced (&&) directive (#31704)

pablogsal webhook-mailer at python.org
Sun Mar 6 09:26:54 EST 2022


https://github.com/python/cpython/commit/7f07b5ee9c2d17f837c44440bf066c73f92dac14
commit: 7f07b5ee9c2d17f837c44440bf066c73f92dac14
branch: main
author: Luca Chiodini <luca at chiodini.org>
committer: pablogsal <Pablogsal at gmail.com>
date: 2022-03-06T15:26:28+01:00
summary:

Update grammar_grapher with the new forced (&&) directive (#31704)

files:
M Tools/peg_generator/scripts/grammar_grapher.py

diff --git a/Tools/peg_generator/scripts/grammar_grapher.py b/Tools/peg_generator/scripts/grammar_grapher.py
index 4d771239c2954..4a41dfaa3da0f 100755
--- a/Tools/peg_generator/scripts/grammar_grapher.py
+++ b/Tools/peg_generator/scripts/grammar_grapher.py
@@ -29,6 +29,7 @@
 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):



More information about the Python-checkins mailing list