????
Your IP : 18.191.70.86
a
�DOgQ�@s�dZddgZddlZddlZddlZddlZddlZddlmZm Z m
Z
mZmZGdd�de
�Zdd �Zdd
d�Zdd�Zdd�Zdd�Zedkr�e�ee���dS)z#Guido van Rossum <guido@python.org>�Driver�load_grammar�N�)�grammar�parse�token�tokenize�pgenc@sHeZdZddd�Zddd�Zddd�Zdd d
�Zddd�Zdd
d�ZdS)rNcCs&||_|durt��}||_||_dS�N)r�logging� getLogger�logger�convert)�selfrrr
�r�,/usr/lib64/python3.9/lib2to3/pgen2/driver.py�__init__s
zDriver.__init__FcCstt�|j|j�}|��d}d}d}}}} }
d}|D�]}|\}}}} }
|||fkr�|\}
}||
kr�|d|
|7}|
}d}||kr�||
||�7}|}|tjtjfvr�||7}| \}}|�d�r<|d7}d}q<|t j
kr�tj|}|�r
|j�
dt j|||�|�||||f��r6|�r0|j�
d��qnd}| \}}|�d�r<|d7}d}q<t�d||||f��|jS)Nrr��
z%s %r (prefix=%r)zStop.zincomplete input)rZParserrrZsetupr�COMMENT�NL�endswithr�OPZopmapr
�debug�tok_nameZaddtokenZ
ParseError�rootnode)r�tokensr�p�lineno�column�type�value�start�endZ line_text�prefixZ quintupleZs_linenoZs_columnrrr�parse_tokens&sV
�
�zDriver.parse_tokenscCst�|j�}|�||�Sr
)r�generate_tokens�readliner%)r�streamrrrrr�parse_stream_rawVszDriver.parse_stream_rawcCs|�||�Sr
)r))rr(rrrr�parse_stream[szDriver.parse_streamcCs@tj|d|d��}|�||�Wd�S1s20YdS)N�r)�encoding)�io�openr*)r�filenamer,rr(rrr�
parse_file_szDriver.parse_filecCst�t�|�j�}|�||�Sr
)rr&r-�StringIOr'r%)r�textrrrrr�parse_stringdszDriver.parse_string)NN)F)F)F)NF)F) �__name__�
__module__�__qualname__rr%r)r*r0r3rrrrrs
0
cCs:tj�|�\}}|dkrd}||d�tttj��dS)Nz.txtr�.z.pickle)�os�path�splitext�join�map�str�sys�version_info)�gt�head�tailrrr�_generate_pickle_namejsrC�Grammar.txtTFc
Cs�|durt��}|dur t|�n|}|s2t||�s�|�d|�t�|�}|r�|�d|�z|�|�Wq�ty�}z|�d|�WYd}~q�d}~00nt �
�}|�|�|S)Nz!Generating grammar tables from %szWriting grammar tables to %szWriting failed: %s)rrrC�_newer�infor Zgenerate_grammar�dump�OSErrorr�Grammar�load)r@Zgp�save�forcer
�g�errrrqs
$
cCs8tj�|�sdStj�|�s dStj�|�tj�|�kS)NFT)r8r9�exists�getmtime)�a�brrrrE�s
rEcCsFtj�|�rt|�Sttj�|��}t�||�}t� �}|�
|�|Sr
)r8r9�isfilerrC�basename�pkgutil�get_datarrI�loads)�packageZgrammar_sourceZpickled_name�datarMrrr�load_packaged_grammar�s
rZcGsB|stjdd�}tjtjtjdd�|D]}t|ddd�q*dS)Nrz%(message)s)�levelr(�formatT)rKrL)r>�argvr�basicConfig�INFO�stdoutr)�argsr@rrr�main�s�rb�__main__)rDNTFN)�
__author__�__all__r-r8rrUr>rrrrrr �objectrrCrrErZrbr4�exit�intrrrr�<module>s"M�