����JFIF���������
1#@!#!123s
D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
python34
/
lib64
/
python3.4
/
lib2to3
/
pgen2
/
__pycache__
/
Filename :
pgen.cpython-34.pyc
back
Copy
� j f�5������������������@���s����d��d�l��m�Z�m�Z�m�Z�Gd�d����d�e�j���Z�Gd�d����d�e���Z�Gd�d����d�e���Z�Gd�d ����d �e���Z �d �d�d���Z �d �S)����)�grammar�token�tokenizec���������������@���s���e��Z�d��Z�d�S)�PgenGrammarN)�__name__� __module__�__qualname__��r ���r ����7/opt/alt/python34/lib64/python3.4/lib2to3/pgen2/pgen.pyr������s���r���c���������������@���s����e��Z�d��Z�d�d�d���Z�d�d����Z�d�d����Z�d�d ����Z�d �d����Z�d�d ����Z�d�d����Z �d�d����Z �d�d����Z�d�d����Z�d�d����Z �d�d����Z�d�d����Z�d�d����Z�d�d����Z�d�d �d!���Z�d"�d#����Z�d$�d%����Z�d�S)&�ParserGeneratorNc�������������C���s����d��}�|�d��k�r*�t��|���}�|�j�}�n��|�|��_�|�|��_�t�j�|�j���|��_�|��j����|��j ����\�|��_ �|��_�|�d��k �r��|����n��i��|��_�|��j ����d��S)N)�open�close�filename�streamr����generate_tokens�readline� generator�gettoken�parse�dfas�startsymbol�first�addfirstsets)�selfr���r���Zclose_streamr ���r ���r ����__init__���s���� zParserGenerator.__init__c�������������C���s���t�����}�t�|��j�j������}�|�j����|�j�|��j���|�j�d�|��j���x;�|�D]3�}�d�t�|�j ���}�|�|�j �|�<|�|�j �|�<qR�Wx��|�D]��}�|��j�|�}�g��}�x��|�D]��}�g��}�xE�|�j�j����D]4�\�} �} �|�j �|��j�|�| ���|�j�| ���f���q��W|�j�r,|�j �d�|�j�|���f���n��|�j �|���q��W|�j�j �|���|�|��j�|�|���f�|�j�|�j �|�<q��W|�j �|��j�|�_�|�S)N���������)r����listr����keys�sort�remover����insert�len� symbol2numberZ number2symbol�arcs�items�append� make_label�index�isfinal�states� make_first�start)r����c�names�name�i�dfar*����stater$����label�nextr ���r ���r ����make_grammar���s.���� , *zParserGenerator.make_grammarc�������������C���sD���|��j��|�}�i��}�x*�|�D]"�}�|��j�|�|���}�d�|�|�<q�W|�S)Nr���)r���r'���)r���r-���r/���Zrawfirstr���r3����ilabelr ���r ���r ���r+���4���s���� zParserGenerator.make_firstc�������������C���s���t��|�j���}�|�d�j����r|�|�j�k�ry�|�|�j�k�rH�|�j�|�S|�j�j�|�j�|�d��f���|�|�j�|�<|�Sq�t�t�|�d����}�t�|�t ���s��t �|�����|�t�j�k�s��t �|�����|�|�j�k�r��|�j�|�S|�j�j�|�d��f���|�|�j�|�<|�Sn��|�d�d�k�s!t �|�����t �|���}�|�d�j����r�|�|�j�k�rW|�j�|�S|�j�j�t�j�|�f���|�|�j�|�<|�SnN�t�j�|�}�|�|�j�k�r�|�j�|�S|�j�j�|�d��f���|�|�j�|�<|�Sd��S)Nr����"�')r7���r8���)r"���Zlabels�isalphar#���Zsymbol2labelr&����getattrr���� isinstance�int�AssertionError�tok_name�tokens�eval�keywords�NAMEr���Zopmap)r���r-���r3���r6���Zitoken�valuer ���r ���r ���r'���=���s<���� zParserGenerator.make_labelc�������������C���sS���t��|��j�j������}�|�j����x-�|�D]%�}�|�|��j�k�r&�|��j�|���q&�q&�Wd��S)N)r���r���r���r���r���� calcfirst)r���r.���r/���r ���r ���r ���r���k���s ���� zParserGenerator.addfirstsetsc���������� ���C���sj��|��j��|�}�d��|��j�|�<|�d�}�i��}�i��}�x��|�j�j����D]��\�}�}�|�|��j��k�r��|�|��j�k�r��|��j�|�}�|�d��k�r��t�d�|�����q��n�|��j�|���|��j�|�}�|�j�|���|�|�|�<q@�d�|�|�<i�d�|�6|�|�<q@�Wi��} �xd�|�j����D]V�\�}�} �xG�| �D]?�}�|�| �k�rGt�d�|�|�|�| �|�f�����n��|�| �|�<qWq��W|�|��j�|�<d��S)Nr���zrecursion for rule %rr���zArule %s is ambiguous; %s is in the first sets of %s as well as %s)r���r���r$���r%���� ValueErrorrD����update)r���r/���r1���r2���ZtotalsetZoverlapcheckr3���r4����fsetZinverseZitsfirstZsymbolr ���r ���r ���rD���s���s2���� zParserGenerator.calcfirstc������� ������C���s����i��}�d��}�x��|��j��t�j�k�r��x �|��j��t�j�k�rC�|��j����q$�W|��j�t�j���}�|��j�t�j�d���|��j����\�}�}�|��j�t�j���|��j �|�|���}�t �|���}�|��j�|���t �|���}�|�|�|�<|�d��k�r�|�}�q�q�W|�|�f�S)N�:)�typer���� ENDMARKER�NEWLINEr����expectrB����OP� parse_rhs�make_dfar"����simplify_dfa) r���r���r���r/����a�zr1���ZoldlenZnewlenr ���r ���r ���r�������s"���� zParserGenerator.parsec����������������sD��t��|�t���s�t���t��|�t���s*�t������f�d�d����}����f�d�d�������t�|�|���|���g�}�x��|�D]��}�i��}�xS�|�j�D]H�}�x?�|�j�D]4�\�}�} �|�d��k �r�����| �|�j�|�i������q��q��Wq��Wxj�|�j����D]\�\�}�} �x=�|�D]�}�|�j�| �k�r��Pq��q��Wt�| �|���}�|�j�|���|�j �|�|���q��Wqm�W|�S)Nc����������������s���i��}����|��|���|�S)Nr ���)r2����base)� addclosurer ���r ����closure����s���� z)ParserGenerator.make_dfa.<locals>.closurec����������������si���t��|��t���s�t���|��|�k�r%�d��Sd�|�|��<x3�|��j�D](�\�}�}�|�d��k�r9����|�|���q9�q9�Wd��S)Nr���)r;����NFAStater=���r$���)r2���rS���r3���r4���)rT���r ���r ���rT�������s���� z,ParserGenerator.make_dfa.<locals>.addclosure) r;���rV���r=����DFAState�nfasetr$���� setdefaultr%���r&����addarc)r���r,����finishrU���r*���r2���r$���Znfastater3���r4���rX����str ���)rT���r ���rO�������s&���� $ zParserGenerator.make_dfac������� ������C���s����t��d�|���|�g�}�x��t�|���D]��\�}�}�t��d�|�|�|�k�rJ�d�pM�d���x�|�j�D]t�\�}�}�|�|�k�r��|�j�|���} �n�t�|���} �|�j�|���|�d��k�r��t��d�| ���q[�t��d�|�| �f���q[�Wq#�Wd��S)NzDump of NFA forz Statez(final)��z -> %dz %s -> %d)�print� enumerater$���r(���r"���r&���) r���r/���r,���r[���Ztodor0���r2���r3���r4����jr ���r ���r ����dump_nfa����s���� " zParserGenerator.dump_nfac�������������C���s����t��d�|���xv�t�|���D]h�\�}�}�t��d�|�|�j�r>�d�pA�d���x:�|�j�j����D])�\�}�}�t��d�|�|�j�|���f���qU�Wq�Wd��S)NzDump of DFA forz Statez(final)r]���z %s -> %d)r^���r_���r)���r$���r%���r(���)r���r/���r1���r0���r2���r3���r4���r ���r ���r ����dump_dfa����s ���� zParserGenerator.dump_dfac�������������C���s����d�}�x��|�r��d�}�x��t��|���D]x�\�}�}�xi�t�|�d�t�|�����D]N�}�|�|�}�|�|�k�rH�|�|�=x�|�D]�}�|�j�|�|���qr�Wd�}�PqH�qH�Wq"�Wq �Wd��S)NTFr���)r_����ranger"���� unifystate)r���r1���Zchangesr0���Zstate_ir`���Zstate_jr2���r ���r ���r ���rP�������s���� zParserGenerator.simplify_dfac�������������C���s����|��j�����\�}�}�|��j�d�k�r+�|�|�f�St����}�t����}�|�j�|���|�j�|���xI�|��j�d�k�r��|��j����|��j�����\�}�}�|�j�|���|�j�|���qZ�W|�|�f�Sd��S)N�|)� parse_altrC���rV���rZ���r���)r���rQ���rR���ZaaZzzr ���r ���r ���rN�������s���� zParserGenerator.parse_rhsc�������������C���sr���|��j�����\�}�}�xS�|��j�d�k�s?�|��j�t�j�t�j�f�k�rg�|��j�����\�}�}�|�j�|���|�}�q�W|�|�f�S)N�(�[)rg���rh���)� parse_itemrC���rI���r���rB����STRINGrZ���)r���rQ����br-����dr ���r ���r ���rf��� ��s���� zParserGenerator.parse_altc�������������C���s����|��j��d�k�rU�|��j����|��j����\�}�}�|��j�t�j�d���|�j�|���|�|�f�S|��j����\�}�}�|��j��}�|�d�k�r��|�|�f�S|��j����|�j�|���|�d�k�r��|�|�f�S|�|�f�Sd��S)Nrh����]�+�*)rn���ro���)rC���r���rN���rL���r���rM���rZ���� parse_atom)r���rQ���rR���rC���r ���r ���r ���ri�����s���� zParserGenerator.parse_itemc�������������C���s����|��j��d�k�rH�|��j����|��j����\�}�}�|��j�t�j�d���|�|�f�S|��j�t�j�t�j�f�k�r��t ����}�t ����}�|�j �|�|��j����|��j����|�|�f�S|��j�d�|��j�|��j����d��S)Nrg����)z+expected (...) or NAME or STRING, got %s/%s)rC���r���rN���rL���r���rM���rI���rB���rj���rV���rZ����raise_error)r���rQ���rR���r ���r ���r ���rp���(��s���� zParserGenerator.parse_atomc�������������C���sc���|��j��|�k�s*�|�d��k �rL�|��j�|�k�rL�|��j�d�|�|�|��j��|��j���n��|��j�}�|��j����|�S)Nzexpected %s/%s, got %s/%s)rI���rC���rr���r���)r���rI���rC���r ���r ���r ���rL���9��s����* zParserGenerator.expectc�������������C���si���t��|��j���}�x/�|�d�t�j�t�j�f�k�r@�t��|��j���}�q�W|�\�|��_�|��_�|��_�|��_�|��_ �d��S)Nr���) r4���r���r����COMMENT�NLrI���rC���Zbegin�end�line)r����tupr ���r ���r ���r���A��s����zParserGenerator.gettokenc�������������G���sz���|�rG�y�|�|�}�WqG�d�j��|�g�t�t�t�|�������}�YqG�Xn��t�|�|��j�|��j�d�|��j�d�|��j�f�����d��S)N� r���r���)�joinr����map�str�SyntaxErrorr���ru���rv���)r����msg�argsr ���r ���r ���rr���H��s����-zParserGenerator.raise_error)r���r���r���r���r5���r+���r'���r���rD���r���rO���ra���rb���rP���rN���rf���ri���rp���rL���r���rr���r ���r ���r ���r ���r��� ���s$��� .$ r���c���������������@���s+���e��Z�d��Z�d�d����Z�d�d�d���Z�d�S)rV���c�������������C���s ���g��|��_��d��S)N)r$���)r���r ���r ���r ���r���S��s����zNFAState.__init__Nc�������������C���sP���|�d��k�s!�t��|�t���s!�t���t��|�t���s6�t���|��j�j�|�|�f���d��S)N)r;���r{���r=���rV���r$���r&���)r���r4���r3���r ���r ���r ���rZ���V��s����!zNFAState.addarc)r���r���r���r���rZ���r ���r ���r ���r ���rV���Q��s���rV���c���������������@���sF���e��Z�d��Z�d�d����Z�d�d����Z�d�d����Z�d�d����Z�d �Z�d �S) rW���c�������������C���sp���t��|�t���s�t���t��t�t�|�����t���s6�t���t��|�t���sK�t���|�|��_�|�|�k�|��_�i��|��_�d��S)N) r;����dictr=���r4����iterrV���rX���r)���r$���)r���rX����finalr ���r ���r ���r���]��s����! zDFAState.__init__c�������������C���sP���t��|�t���s�t���|�|��j�k�s*�t���t��|�t���s?�t���|�|��j�|�<d��S)N)r;���r{���r=���r$���rW���)r���r4���r3���r ���r ���r ���rZ���e��s����zDFAState.addarcc�������������C���s@���x9�|��j��j����D](�\�}�}�|�|�k�r�|�|��j��|�<q�q�Wd��S)N)r$���r%���)r����old�newr3���r4���r ���r ���r ���rd���k��s����zDFAState.unifystatec�������������C���s����t��|�t���s�t���|��j�|�j�k�r+�d�St�|��j���t�|�j���k�rM�d�Sx9�|��j�j����D](�\�}�}�|�|�j�j�|���k �r]�d�Sq]�Wd�S)NFT)r;���rW���r=���r)���r"���r$���r%����get)r����otherr3���r4���r ���r ���r ����__eq__p��s����zDFAState.__eq__N)r���r���r���r���rZ���rd���r�����__hash__r ���r ���r ���r ���rW���[��s ���rW���zGrammar.txtc�������������C���s���t��|����}�|�j����S)N)r���r5���)r����pr ���r ���r ����generate_grammar���s����r����N)r]���r���r���r���ZGrammarr����objectr���rV���rW���r����r ���r ���r ���r ����<module>���s�����H %