This commit is contained in:
bobbert committed 2026-04-28 13:36:46 +01:00
1 parent b3fd98703a
commit d20c595e0f
10 files changed
+204

No files matched your search

+27
View File
@@ -0,0 +1,27 @@
from antlr4.Utils import escapeWhitespace
from antlr4.tree.Tree import Tree
from antlr4.tree.Trees import Trees
# need forward declaration
Parser = None
class TreesUser(Trees):
# Print out a whole tree in prettier form
# Based on Trees.toStringTree()
# indent is the number of indents to use in the display
@classmethod
def PrettyPrint(cls, t:Tree, ruleNames:list=None, recog:Parser=None, indent:int=0):
# indentation is the indent to actually display
indentation = ''
for n in range(indent):
indentation += ' '
if recog is not None:
ruleNames = recog.ruleNames
s = escapeWhitespace(cls.getNodeText(t, ruleNames), False)
retval = indentation + s + "\n"
if t.getChildCount()>0:
# we have children to deal with
for i in range(0, t.getChildCount()):
retval += cls.PrettyPrint(t.getChild(i), ruleNames, indent=indent+1)
return retval