| Server IP : 85.214.239.14 / Your IP : 216.73.216.116 Web Server : Apache/2.4.65 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 8.2.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/2/cwd/proc/2/cwd/proc/2/root/lib/python3.5/lib2to3/pgen2/__pycache__/ |
Upload File : |
F��a)�@s�dZdZddgZddlZddlZddlZddlZddlZddlm Z m
Z
mZmZm
Z
Gdd�de�Zd d
�Zdddd
ddd�Zdd�Zdd�Zedkr�ejee���dS)zZParser driver.
This provides a high-level interface to parse a file into a syntax tree.
z#Guido van Rossum <guido@python.org>�Driver�load_grammar�N�)�grammar�parse�token�tokenize�pgenc@speZdZdddd�Zddd�Zddd�Zdd d
�Zdddd�Zdd
d�ZdS)rNcCs7||_|dkr!tj�}||_||_dS)N)r�logging� getLogger�logger�convert)�selfrr
r�r�*/usr/lib/python3.5/lib2to3/pgen2/driver.py�__init__s
zDriver.__init__FcCs"tj|j|j�}|j�d}d}d}}}} }
d}x�|D]�}|\}}}} }
|||fkr||f|ks�t||f|f��|\}
}||
kr�|d|
|7}|
}d}||kr||
||�7}|}|tjtjfkrT||7}| \}}|j d�rQ|d7}d}qQ|t
jkrptj|}|r�|j
jdt
j|||�|j||||f�r�|r�|j
jd�Pd}| \}}|j d�rQ|d7}d}qQWtjd||||f��|jS) z4Parse a series of tokens and return the syntax tree.rrN��
z%s %r (prefix=%r)zStop.zincomplete input)rZParserrr
Zsetup�AssertionErrorr�COMMENT�NL�endswithr�OPZopmapr�debug�tok_nameZaddtokenZ
ParseErrorZrootnode)r�tokensr�p�lineno�column�type�value�start�endZ line_text�prefixZ quintupleZs_linenoZs_columnrrr�parse_tokens&sT
*
zDriver.parse_tokenscCs"tj|j�}|j||�S)z*Parse a stream and return the syntax tree.)r�generate_tokens�readliner$)r�streamrrrrr�parse_stream_rawVszDriver.parse_stream_rawcCs|j||�S)z*Parse a stream and return the syntax tree.)r()rr'rrrr�parse_stream[szDriver.parse_streamc
Cs;tj|d|�}z|j||�SWd|j�XdS)z(Parse a file and return the syntax tree.�rN)�codecs�openr)�close)r�filename�encodingrr'rrr�
parse_file_szDriver.parse_filecCs+tjtj|�j�}|j||�S)z*Parse a string and return the syntax tree.)rr%�io�StringIOr&r$)r�textrrrrr�parse_stringgszDriver.parse_string) �__name__�
__module__�__qualname__rr$r(r)r0r4rrrrrs0cCsOtjj|�\}}|dkr*d}||djtttj��dS)Nz.txtr�.z.pickle)�os�path�splitext�join�map�str�sys�version_info)�gt�head�tailrrr�_generate_pickle_namemsrDzGrammar.txtTFcCs�|dkrtj�}|dkr0t|�n|}|sLt||�rn|jd|�tj|�}ntj�}|j |�|S)z'Load the grammar (maybe from a pickle).Nz!Generating grammar tables from %s)
r
rrD�_newer�infor Zgenerate_grammarrZGrammar�load)rAZgp�save�forcer�grrrrts
cCsNtjj|�sdStjj|�s,dStjj|�tjj|�kS)z0Inquire whether file a was written since file b.FT)r9r:�exists�getmtime)�a�brrrrE�s
rEcGsf|stjdd�}tjdtjdtjdd�x$|D]}t|ddd d�qBWdS)
z�Main program, when run as a script: produce grammar pickle files.
Calls load_grammar for each argument, a path to a grammar text file.
rN�levelr'�formatz%(message)srHTrI)r?�argvr
ZbasicConfig�INFO�stdoutr)�argsrArrr�main�s
rU�__main__)�__doc__�
__author__�__all__r+r1r9r
r?rrrrrr �objectrrDrrErUr5�exit�intrrrr�<module>s (P