]` d Z dZddgZddlZddlZddlZddlZddlZddlm Z m
Z
mZmZm
Z
G d de Zd Z dd
Zd Zd Zd Zedk r$ ej e e dS dS )zZParser driver.
This provides a high-level interface to parse a file into a syntax tree.
z#Guido van Rossum Driverload_grammar N )grammarparsetokentokenizepgenc > e Zd Zd dZd
dZd
dZd
dZddZd
dZdS )r Nc Z || _ |t j }|| _ || _ d S )N)r logging getLoggerloggerconvert)selfr r r s ;/opt/alt/python311/lib64/python3.11/lib2to3/pgen2/driver.py__init__zDriver.__init__ s. >&((F Fc , t j | j | j }| d}d}dx}x}x}x} }
d}|D ].}|\ }}}} }
|||fk r/|\ }
}||
k r|d|
|z
z z
}|
}d}||k r||
|| z
}|}|t
j t
j fv r'||z
}| \ }}| d r|dz
}d}|t j
k rt j | }|r-| j
dt j | || | ||||f r|r| j
d n>d}| \ }}| d r|dz
}d}0t j d||||f |j S ) z4Parse a series of tokens and return the syntax tree.r r N
z%s %r (prefix=%r)zStop.zincomplete input)r Parserr r setupr COMMENTNLendswithr OPopmapr debugtok_nameaddtoken
ParseErrorrootnode)r tokensr plinenocolumntypevaluestartend line_textprefix quintuples_linenos_columns r parse_tokenszDriver.parse_tokens&