£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
B
    YI~d_                 @   s   d Z ddgZddlZddlZddlZddlZddlZddlZddlm	Z	m
Z
mZmZmZ G dd deZdd	 ZdddZdd Zdd Zdd Zedkreee   dS )z#Guido van Rossum <guido@python.org>Driverload_grammar    N   )grammarparsetokentokenizepgenc               @   sH   e Zd ZdddZdddZdddZdd	d
ZdddZdddZdS )r   Nc             C   s&   || _ |d krt }|| _|| _d S )N)r   logging	getLoggerloggerconvert)selfr   r   r    r   9/opt/alt/python37/lib64/python3.7/lib2to3/pgen2/driver.py__init__    s
    zDriver.__init__Fc             C   sv  t | j| j}|  d}d}d  } } } }	}
d}x4|D ]}|\}}}}	}
|||fkr|\}}||k r|d||  7 }|}d}||k r||
|| 7 }|}|tjtjfkr||7 }|	\}}|dr@|d7 }d}q@|t	j
krtj| }|r| jdt	j| || |||||fr6|r4| jd P d}|	\}}|dr@|d7 }d}q@W t d||||f|jS )Nr   r    
z%s %r (prefix=%r)zStop.zincomplete input)r   ZParserr   r   Zsetupr   COMMENTNLendswithr   OPZopmapr   debugtok_nameZaddtokenZ
ParseErrorZrootnode)r   tokensr   plinenocolumntypevaluestartendZ	line_textprefixZ	quintupleZs_linenoZs_columnr   r   r   parse_tokens'   sR    



zDriver.parse_tokensc             C   s   t |j}| ||S )N)r   generate_tokensreadliner#   )r   streamr   r   r   r   r   parse_stream_rawW   s    zDriver.parse_stream_rawc             C   s   |  ||S )N)r'   )r   r&   r   r   r   r   parse_stream\   s    zDriver.parse_streamc          	   C   s(   t j|d|d}| ||S Q R X d S )Nr)encoding)ioopenr(   )r   filenamer*   r   r&   r   r   r   
parse_file`   s    zDriver.parse_filec             C   s   t t|j}| ||S )N)r   r$   r+   StringIOr%   r#   )r   textr   r   r   r   r   parse_stringe   s    zDriver.parse_string)NN)F)F)F)NF)F)	__name__
__module____qualname__r   r#   r'   r(   r.   r1   r   r   r   r   r      s   

0


c             C   s:   t j| \}}|dkrd}|| dtttj d S )Nz.txtr   .z.pickle)ospathsplitextjoinmapstrsysversion_info)gtheadtailr   r   r   _generate_pickle_namek   s    rA   Grammar.txtTFc          
   C   s   |d krt  }|d kr t| n|}|s2t|| s|d|  t| }|r|d| y|| W q tk
r } z|d| W d d }~X Y qX nt	
 }|| |S )Nz!Generating grammar tables from %szWriting grammar tables to %szWriting failed: %s)r
   r   rA   _newerinfor	   Zgenerate_grammardumpOSErrorr   Grammarload)r>   Zgpsaveforcer   ger   r   r   r   r   s    
 
c             C   s8   t j| sdS t j|s dS t j| t j|kS )NFT)r6   r7   existsgetmtime)abr   r   r   rC      s
    rC   c             C   sF   t j|rt|S tt j|}t| |}t	 }|
| |S )N)r6   r7   isfiler   rA   basenamepkgutilget_datar   rG   loads)packageZgrammar_sourceZpickled_namedatarK   r   r   r   load_packaged_grammar   s    
rX   c              G   sF   | st jdd  } tjtjt jdd x| D ]}t|ddd q,W dS )Nr   z%(message)s)levelr&   formatT)rI   rJ   )r<   argvr
   ZbasicConfigINFOstdoutr   )argsr>   r   r   r   main   s    
r_   __main__)rB   NTFN)
__author____all__codecsr+   r6   r
   rS   r<   r   r   r   r   r   r	   objectr   rA   r   rC   rX   r_   r2   exitintr   r   r   r   <module>   s"   M 
	