OwlCyberSecurity - MANAGER
Edit File: patcomp.cpython-38.opt-2.pyc
U ����e5d�����������������������@���s����d�Z�ddlZddlmZmZmZmZmZmZ�ddl m Z �ddl mZ�G�dd��de�Z d d ��ZG�dd��de�Zejejejdd �Zdd��Zdd��Zdd��ZdS�)z#Guido van Rossum <guido@python.org>�����N����)�driver�literals�token�tokenize�parse�grammar)�pytree)�pygramc�������������������@���s���e�Zd�ZdS�)�PatternSyntaxErrorN)�__name__� __module__�__qualname__��r���r����'/usr/lib64/python3.8/lib2to3/patcomp.pyr������s���r���c����������� ������c���sL���t�jt�jt�jh}t�t�|��j�}|D�] }|\}}}}}||kr&|V��q&d�S��N) r����NEWLINE�INDENT�DEDENTr����generate_tokens�io�StringIO�readline) �input�skip�tokensZ quintuple�type�value�start�endZ line_textr���r���r����tokenize_wrapper���s����r ���c�������������������@���s:���e�Zd�Zd dd�Zddd�Zdd��Zdd d �Zdd��ZdS�)�PatternCompilerNc�����������������C���sZ���|d�krt�j|�_t�j|�_nt�|�|�_t��|�j�|�_t�j|�_ t�j |�_tj|�jt d�|�_d�S�)N)Zconvert)r ���Zpattern_grammarr���Zpattern_symbols�symsr���Zload_grammarZSymbolsZpython_grammarZ pygrammarZpython_symbols�pysymsZDriver�pattern_convert)�selfZgrammar_filer���r���r����__init__(���s���� zPatternCompiler.__init__Fc�������������� ���C���sp���t�|�}z|�jj||d�}W�n2�tjk rN�}�ztt|��d��W�5�d�}~X�Y�nX�|rb|��|�|fS�|��|�S�d�S�)N)�debug)r ���r���Zparse_tokensr���Z ParseErrorr����str�compile_node)r%���r���r'���Z with_treer����root�er���r���r����compile_pattern7���s���� zPatternCompiler.compile_patternc����������� ���������sV��|j���jjkr|jd�}|j���jjkrz��fdd�|jd�d�d��D��}t|�dkrX|d�S�tjdd��|D��ddd�}|���S�|j���jj krʇ�fdd�|jD��}t|�dkr�|d�S�tj|gddd�}|���S�|j���jj kr����|jdd����}t�|�}|���S�d�}|j}t|�d k�r>|d�j�t jk�r>|d�j}|dd���}d�}t|�dk�rx|d �j���jjk�rx|d �}|d�d ��}���||�}|d�k �r>|j} | d�} | j�t jk�r�d}tj}nX| j�t jk�r�d}tj}n>| j�t jk�r���| d���}}t| �dk�r���| d ��}n�|dk�s"|dk�r>|���}tj|gg||d�}|d�k �rN||_|���S�)Nr���c��������������������s���g�|�]}����|��qS�r����r)�����.0Zch�r%���r���r���� <listcomp>O���s�����z0PatternCompiler.compile_node.<locals>.<listcomp>����r���c�����������������S���s���g�|�] }|g�qS�r���r���)r/����ar���r���r���r1���R���s�������min�maxc��������������������s���g�|�]}����|��qS�r���r-���r.���r0���r���r���r1���V���s����������������)r���r"���ZMatcher�childrenZAlternatives�lenr ����WildcardPattern�optimizeZAlternativeZNegatedUnit� compile_basicZNegatedPatternr����EQUALr���ZRepeater�STARZHUGE�PLUS�LBRACE�get_int�name) r%����nodeZalts�pZunits�patternrD����nodes�repeatr:���Zchildr5���r6���r���r0���r���r)���C���s^���� " zPatternCompiler.compile_nodec�����������������C���s@��|d�}|j�tjkr4tt�|j��}t�t |�|�S�|j�tj kr�|j}|���r�|tkrbt d|���|dd���rvt d��t�t|��S�|dkr�d�}n,|�d�s�t|�j|d��}|d�kr�t d|���|dd���r�|��|d�jd��g}nd�}t�||�S�nH|jdk�r|��|d��S�|jd k�r<|��|d��}tj|ggddd �S�d�S�)Nr���zInvalid token: %rr���zCan't have details for token�any�_zInvalid symbol: %r�(�[r4���)r���r����STRINGr(���r���Z evalStringr���r ���ZLeafPattern�_type_of_literal�NAME�isupper� TOKEN_MAPr���� startswith�getattrr#���r)���r:���ZNodePatternr<���)r%���rH���rI���rE���r���r���Zcontent� subpatternr���r���r���r>�������s8���� zPatternCompiler.compile_basicc�����������������C���s ���t�|j�S�r���)�intr���)r%���rE���r���r���r���rC�������s����zPatternCompiler.get_int)N)FF)N)r���r ���r���r&���r,���r)���r>���rC���r���r���r���r���r!���&���s ��� G #r!���)rP���rN����NUMBERZTOKENc�����������������C���s.���|�d�����rtjS�|�tjkr&tj|��S�d�S�d�S�)Nr���)�isalphar���rP���r���Zopmap)r���r���r���r���rO�������s ���� rO���c�����������������C���s>���|\}}}}|s||�j�kr*tj|||d�S�tj|||d�S�d�S�)N)�context)Z number2symbolr ���ZNodeZLeaf)r���Z raw_node_infor���r���rY���r:���r���r���r���r$�������s����r$���c�����������������C���s���t����|��S�r���)r!���r,���)rG���r���r���r���r,�������s����r,���)� __author__r���Zpgen2r���r���r���r���r���r�����r ���r ���� Exceptionr���r ����objectr!���rP���rN���rW���rR���rO���r$���r,���r���r���r���r����<module>���s ��� ��