From ac30c72a79db937f0c4dcf703e768eb990b35716 Mon Sep 17 00:00:00 2001 From: ptmcg Date: Tue, 29 Mar 2022 11:18:50 -0500 Subject: [PATCH] Fix issue #361 --- pyparsing/__init__.py | 2 +- pyparsing/diagram/__init__.py | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pyparsing/__init__.py b/pyparsing/__init__.py index 3e12201d..82eefa0a 100644 --- a/pyparsing/__init__.py +++ b/pyparsing/__init__.py @@ -129,7 +129,7 @@ def __repr__(self): __version_info__ = version_info(3, 0, 8, "final", 0) -__version_time__ = "25 Mar 2022 21:00 UTC" +__version_time__ = "29 Mar 2022 16:15 UTC" __version__ = __version_info__.__version__ __versionTime__ = __version_time__ __author__ = "Paul McGuire " diff --git a/pyparsing/diagram/__init__.py b/pyparsing/diagram/__init__.py index 4f7c41e4..849fa10f 100644 --- a/pyparsing/diagram/__init__.py +++ b/pyparsing/diagram/__init__.py @@ -54,7 +54,7 @@ class AnnotatedItem(railroad.Group): """ def __init__(self, label: str, item): - super().__init__(item=item, label="[{}]".format(label)) + super().__init__(item=item, label="[{}]".format(label) if label else label) class EditablePartial(Generic[T]): @@ -437,7 +437,7 @@ def _to_diagram_element( if isinstance( element, ( - pyparsing.TokenConverter, + # pyparsing.TokenConverter, # pyparsing.Forward, pyparsing.Located, ), @@ -510,6 +510,10 @@ def _to_diagram_element( ret = EditablePartial.from_call(AnnotatedItem, label="LOOKAHEAD", item="") elif isinstance(element, pyparsing.PrecededBy): ret = EditablePartial.from_call(AnnotatedItem, label="LOOKBEHIND", item="") + elif isinstance(element, pyparsing.Group): + ret = EditablePartial.from_call(AnnotatedItem, label="", item="") + elif isinstance(element, pyparsing.TokenConverter): + ret = EditablePartial.from_call(AnnotatedItem, label=type(element).__name__.lower(), item="") elif isinstance(element, pyparsing.Opt): ret = EditablePartial.from_call(railroad.Optional, item="") elif isinstance(element, pyparsing.OneOrMore):