<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3

  \                 @   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j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j }|| _|| _d S )N)r   logging	getLoggerloggerconvert)selfr   r   r    r   ,/usr/lib64/python3.6/lib2to3/pgen2/driver.py__init__    s
    zDriver.__init__Fc             C   sv  t j| j| 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 }|	\}}|jdr@|d7 }d}q@|t	j
krtj| }|r| jjdt	j| || |j||||fr6|r4| jjd P d}|	\}}|jdr@|d7 }d}q@W t j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|j}| j||S )N)r   generate_tokensreadliner#   )r   streamr   r   r   r   r   parse_stream_rawW   s    zDriver.parse_stream_rawc             C   s   | j ||S )N)r'   )r   r&   r   r   r   r   parse_stream\   s    zDriver.parse_streamc          
   C   s*   t j|d|}z| j||S |j  X d S )Nr)codecsopenr(   close)r   filenameencodingr   r&   r   r   r   
parse_file`   s    zDriver.parse_filec             C   s   t jtj|j}| j||S )N)r   r$   ioStringIOr%   r#   )r   textr   r   r   r   r   parse_stringh   s    zDriver.parse_string)NN)F)F)F)NF)F)	__name__
__module____qualname__r   r#   r'   r(   r/   r3   r   r   r   r   r      s   

0


c             C   s:   t jj| \}}|dkrd}|| dj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_namen   s    rC   Grammar.txtTFc             C   s   |d krt j }|d kr t| n|}|s4t||  r|jd|  tj| }|r|jd| y|j| W q tk
r } z|jd| W Y d d }~X qX nt	j
 }|j| |S )Nz!Generating grammar tables from %szWriting grammar tables to %szWriting failed: %s)r
   r   rC   _newerinfor	   Zgenerate_grammardumpOSErrorr   Grammarload)r@   Zgpsaveforcer   ger   r   r   r   u   s    
 
c             C   s8   t jj| sdS t jj|s dS t jj| t jj|kS )NFT)r8   r9   existsgetmtime)abr   r   r   rE      s
    rE   c             C   sF   t jj|rt|S tt jj|}tj| |}tj	 }|j
| |S )N)r8   r9   isfiler   rC   basenamepkgutilget_datar   rI   loads)packageZgrammar_sourceZpickled_namedatarM   r   r   r   load_packaged_grammar   s    
rZ   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)rK   rL   )r>   argvr
   ZbasicConfigINFOstdoutr   )argsr@   r   r   r   main   s    
ra   __main__)rD   NTFN)
__author____all__r*   r0   r8   r
   rU   r>   r   r   r   r   r   r	   objectr   rC   r   rE   rZ   ra   r4   exitintr   r   r   r   <module>   s"   P 
	