y}8dy R d Z G d de Z G d d Zd Zd Zd ZdS ) a
Handling of tree structures given in a special 'dotted' syntax.
This represents trees of nodes with strings as tags,
in a readable and writable and easy to parse syntax.
There are two main functions, unparse_sexpr and parse_string.
When parsing, the result is by default given in 'sexpr' format:
each node is a tuple of the form
(tag, ) or (tag, node) or (tag, node, node) ...
The following invariant is intended to hold for every node x,
parse_string(unparse_sexpr(x)) == x
Currently the following invariant has been tested for some strings:
unparse_sexpr(parse_string(s)).strip() == s.strip()
[It only holds on stripped results but may be fixed sometime.]
c $ e Zd ZdZd Zd Zd ZdS )Nodetagchildrenindexc 0 || _ || _ || _ d S Nr )selfr r r s h/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/guppy/gsl/DottedTree.py__init__z
Node.__init__ s
c P | j ft d | j D z S )Nc 6 g | ]}| S )as_sexpr).0cs r