OwlCyberSecurity - MANAGER
Edit File: patcomp.cpython-37.opt-2.pyc
B ����YI~d�������������������@���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����4/opt/alt/python37/lib64/python3.7/lib2to3/patcomp.pyr������s���r���c������� ������c���sP���t�jt�jt�jh}t�t�|��j�}x(|D�] }|\}}}}}||kr(|V��q(W�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�|�}y|�jj||d�}W�n2�tjk rN�}�ztt|��d��W�d�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(���)�.0�ch)r$���r���r���� <listcomp>O���s����z0PatternCompiler.compile_node.<locals>.<listcomp>����r���c�������������S���s���g�|�] }|g�qS�r���r���)r,����ar���r���r���r.���R���s����)�min�maxc����������������s���g�|�]}����|��qS�r���)r(���)r,���r-���)r$���r���r���r.���V���s���������������)r���r!���ZMatcher�childrenZAlternatives�lenr ����WildcardPattern�optimizeZAlternativeZNegatedUnit� compile_basicZNegatedPatternr����EQUALr���ZRepeater�STARZHUGE�PLUS�LBRACE�get_int�name) r$����nodeZalts�pZunits�patternr@����nodes�repeatr6���Zchildr1���r2���r���)r$���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�(�[)r1���r2���)r���r����STRINGr'���r���Z evalStringr���r ���ZLeafPattern�_type_of_literal�NAME�isupper� TOKEN_MAPr���� startswith�getattrr"���r(���r6���ZNodePatternr8���)r$���rD���rE���rA���r���r���Zcontent� subpatternr���r���r���r:�������s8���� zPatternCompiler.compile_basicc�������������C���s ���t�|j�S�)N)�intr���)r$���rA���r���r���r���r?�������s����zPatternCompiler.get_int)N)FF)N)r���r ���r���r%���r+���r(���r:���r?���r���r���r���r���r ���&���s ��� G #r ���)rL���rJ����NUMBERZTOKENc�������������C���s.���|�d�����rtjS�|�tjkr&tj|��S�d�S�d�S�)Nr���)�isalphar���rL���r���Zopmap)r���r���r���r���rK�������s ���� rK���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���rU���r6���r���r���r���r#�������s����r#���c�������������C���s���t����|��S�)N)r ���r+���)rC���r���r���r���r+�������s����r+���)� __author__r���Zpgen2r���r���r���r���r���r�����r ���r ���� Exceptionr���r����objectr ���rL���rJ���rS���rN���rK���r#���r+���r���r���r���r����<module>���s��� �