403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /lib/python3.11/site-packages/ply/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /lib/python3.11/site-packages/ply/__pycache__/cpp.cpython-311.opt-1.pyc
�

�ԅZg��
�h�ddlmZddlZejjdkreefZneZeZ	dZ
dZd�ZdZ
dZd	Zd
�ZeZdZd�Zd
�Zd�Zd�Zd�ZddlZddlZddlZddlZejd��Zdddddddddd�	Zd�Z Gd�de!��Z"Gd�d e!��Z#e$d!kr�ddl%m&Z&e&j&��Z'ddlZe(ej)d"��Z*e*�+��Z,e#e'��Z-e-�.e,ej)d"��	e-�/��Z0e0sdSe1e-j2e0���*dS)#�)�
generatorsN�)
�CPP_ID�CPP_INTEGER�	CPP_FLOAT�
CPP_STRING�CPP_CHAR�CPP_WS�CPP_COMMENT1�CPP_COMMENT2�	CPP_POUND�
CPP_DPOUNDz+-*/%|&~^<>=!?()[]{}.,;:\'"c�`�|jxj|j�d��z
c_|S)z\s+�
��lexer�lineno�value�count��ts �,/usr/lib/python3.11/site-packages/ply/cpp.py�t_CPP_WSr!�'���G�N�N�a�g�m�m�D�)�)�)�N�N��H�z\#z\#\#z[A-Za-z_][\w_]*c��|S)zA(((((0x)|(0X))[0-9a-fA-F]+)|(\d+))([uU][lL]|[lL][uU]|[uU]|[lL])?)�rs rrr-s���Hrz?((\d+)(\.\d+)(e(\+|-)?(\d+))? | (\d+)e(\+|-)?(\d+))([lL]|[fF])?c�`�|jxj|j�d��z
c_|S)z\"([^\\\n]|(\\(.|\n)))*?\"rrrs r�t_CPP_STRINGr7rrc�`�|jxj|j�d��z
c_|S)z(L)?\'([^\\\n]|(\\(.|\n)))*?\'rrrs r�
t_CPP_CHARr!=rrc��|j�d��}|jxj|z
c_d|_|rd|znd|_|S)z(/\*(.|\n)*?\*/)rr
� )rrrr�type)r�ncrs  r�t_CPP_COMMENT1r&CsF��
�'�-�-��
�
�C��G�N�N�c��N�N�
�A�F�s�!;������q�w��Hrc�"�d|_d|_|S)z
(//.*?(\n|$))r
r)r$rrs r�t_CPP_COMMENT2r(Ls���A�F��q�w��Hrc��|jd|_|jd|_|j�d��|S�Nr�)rr$r�skiprs r�t_errorr-Rs2��
�W�Q�Z�A�F��g�a�j�A�G��G�L�L��O�O�O��Hrz\?\?[=/\'\(\)\!<>\-]�#�\�^�[�]�|�{�}�~)	�=�/�'�(�)�!�<�>�-c�:�t�d�|��S)Nc�L�t|���dS�N���)�
_trigraph_rep�group)�gs r�<lambda>ztrigraph.<locals>.<lambda>|s��}�Q�W�W�Y�Y�r�]�'C�r)�
_trigraph_pat�sub)�inputs r�trigraphrK{s�����C�C�E�J�J�Jrc��eZdZdd�ZdS)�MacroNFc�j�||_||_||_||_|r
|d|_d|_dSrB)�namer�arglist�variadic�vararg�source)�selfrOrrPrQs     r�__init__zMacro.__init__�s<����	���
���� ��
��	&�!�"�+�D�K�����r)NF)�__name__�
__module__�__qualname__rUrrrrMrM�s(�����������rrMc��eZdZdd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zdd�Z
d
�Zdd�Zd�Zd�Zd�Zdifd�Zd�ZdS)�PreprocessorNc�b�|�tj}||_i|_g|_g|_|���t
j��}|�dt
j	d|��z��|�dt
j	d|��z��d|_
dS)Nz
__DATE__ "%s"z%b %d %Yz
__TIME__ "%s"z%H:%M:%S)�lexr�macros�path�	temp_path�lexprobe�time�	localtime�define�strftime�parser)rTr�tms   rrUzPreprocessor.__init__�s����=��I�E���
������	����	
�
�
����
�^�
�
�����%��
�j��(D�(D�D�E�E�E����%��
�j��(D�(D�D�E�E�E�����rc��g}|j�|��	|j���}|sn|�|���2|S�N)rrJ�token�append)rT�text�tokens�toks    r�tokenizezPreprocessor.tokenize�s[�����
�������	��*�"�"�$�$�C�����M�M�#����	��
rc�0�td|||fz��dS)Nz%s:%d %s)�print)rT�file�line�msgs    r�errorzPreprocessor.error�s!��
�j�D��c�?�*�+�+�+�+�+rc���|j�d��|j���}|r|jdkrt	d��n|j|_|j�d��|j���}|rt|j��dkrt	d��n%|j|_t|j��|_	|j�d��|j���}|r|jdkrt	d��n|j|_
|j�d��|j���}|r|jdkrd|_n|j|_|j�d	��|j���}|r|jd	krd|_t	d
��n|j|_|j|jf|_
gd�}|D]T}|j�|��|j���}|r|j|krt	d|z���UdS)
N�
identifierz"Couldn't determine identifier type�12345i90zCouldn't determine integer typez
"filename"zCouldn't determine string typez  rz%Couldn't determine token for newlines)	r=r>r.�##r/r:r;�,�.z,Unable to lex '%s' required for preprocessor)rrJrirrpr$�t_ID�int�	t_INTEGER�t_INTEGER_TYPE�t_STRING�t_SPACE�	t_NEWLINE�t_WS)rTrm�chars�cs    rr`zPreprocessor.lexprobe�sc��	
�
����&�&�&��j��� � ���	!�c�i�<�/�/��6�7�7�7�7���D�I�	
�
����!�!�!��j��� � ���	2�c�#�)�n�n��-�-��3�4�4�4�4� �X�D�N�"&�s�y�/�/�D��	
�
����(�(�(��j��� � ���	%�c�i�>�1�1��2�3�3�3�3��H�D�M�	
�
��������j��� � ���	$�c�i�4�'�'��D�L�L��8�D�L�	
�
��������j��� � ���	&�c�i�4�'�'�!�D�N��9�:�:�:�:� �X�D�N��\�4�>�2��	�9�8�8���	J�	J�A��J���Q�����*�"�"�$�$�C��
J�#�)�q�.�.��D�q�H�I�I�I��		J�	Jrc�:�|j�|��dSrh)r^rj)rTr^s  r�add_pathzPreprocessor.add_path
s���	��������rc#�K�|j���}d�|���D��}tt	|����D]�}|dz}||�d��rg|t	|��krT||dd�||z||<d||<|dz
}||�d��r|t	|��k�T��d�|��}|j|��d|_g}	|j	��}|sn3|�
|��|j|jvrd|j
vr|V�g}�E|r|V�dSdS)Nc�6�g|]}|�����Sr)�rstrip��.0�xs  r�
<listcomp>z,Preprocessor.group_lines.<locals>.<listcomp>s ��8�8�8�������8�8�8rr+r/rC�r)r�clone�
splitlines�xrange�len�endswith�joinrJrrirjr$r�r)rTrJr\�lines�i�j�current_linerms        r�group_lineszPreprocessor.group_liness������j��� � ��8�8�U�%5�%5�%7�%7�8�8�8����E�
�
�#�#�	�	�A��!��A���(�#�#�D�)�)�
�q�3�u�:�:�~�~� ��8�C�R�C�=��q��1��a����a���Q�����(�#�#�D�)�)�
�q�3�u�:�:�~�~��
�	�	�%� � ����	�%������
���	"��#�)�+�+�C��
������$�$�$��x�4�9�$�$����):�):�"�"�"�"�!��	"��	�������	�	rc�`�d}|t|��kr@||j|jvr,|dz
}|t|��kr||j|jv�,|d|�=t|��dz
}|dkr3||j|jvr|dz}|dkr||j|jv�||dzd�=|Sr*)r�r$r�)rTrlr�s   r�
tokenstripzPreprocessor.tokenstrip:s���
���#�f�+�+�o�o�&��)�.�D�I�"=�"=�
��F�A��#�f�+�+�o�o�&��)�.�D�I�"=�"=��2�A�2�J���K�K��M���1�f�f�����4�9�4�4�
��F�A��1�f�f�����4�9�4�4��1�Q�3�4�4�L��
rc��g}g}g}d}t|��}d}||kr3||j|jvr|dz
}||kr||j|jv�||kr*||jdkr|�|dz��n,|�|j|djd��dggfS|dz
}||k�r||}|jdkr|�|��|dz
}n�|jdkrh|dz}|dkrG|r=|�|�|����|�|��|dz||fS|�|��ni|jdkrI|dkrC|�|�|����|�|dz��g}n|�|��|dz
}||k��|�|j|djd��dggfS)	Nr+rr:zMissing '(' in macro argumentsr;ryrCzMissing ')' in macro arguments)	r�r$r�rrjrtrSrr�)	rT�	tokenlist�args�	positions�current_arg�nesting�tokenlenr�rs	         r�collect_argszPreprocessor.collect_argsVs7�����	������y�>�>��
���8�|�|�)�A�,�"3�t�y�"@�"@�
��F�A��8�|�|�)�A�,�"3�t�y�"@�"@�
��L�L�y��|�1�S�8�8����Q�q�S�!�!�!�!��J�J�t�{�9�Q�<�#6�7W�X�X�X��b�"�9��	�Q����(�l�l��!��A��w�#�~�~��"�"�1�%�%�%��1������C����1����a�<�<�"�,����D�O�O�K�$@�$@�A�A�A�!�(�(��+�+�+��Q�3�t�I�-�-��"�"�1�%�%�%�%���C���G�q�L�L����D�O�O�K�8�8�9�9�9�� � ��1��%�%�%� ����"�"�1�%�%�%�
��F�A�'�(�l�l�,	
�
�
�4�;�y��}�3�4T�U�U�U��"�R�x�rc��g|_g|_g|_d}|t|j��k�r�|j|j|jk�r�|j|j|jv�r�|j�|j|j��}|dkr�|j|dz
jdkrjtj	|j|��|j|<|j
|j|_|j|dz
=|j�||dz
f����|dkrK|j|dz
jdkr2|j�d||dz
f��|j|dz
=|dz}��S|dzt|j��krC|j|dzjdkr*|j�d||f��|j|dz=���|j�d||f��n�|j|jdkr�|jr�|dkr�|j|dz
jdkrt|dzt|j��krY|j|dzj|jkr;|j|dzj|j
kr|j�|dz
��|dz
}|t|j��k���|j�d�d	�
��dS)Nrr+r.rxr��eryc��|dS)N�r)r�s rrGz,Preprocessor.macro_prescan.<locals>.<lambda>�s
��q��t�rT)�key�reverse)�patch�	str_patch�var_comma_patchr�rr$r{rP�index�copyrrjrQrR�sort)rT�macror��argnums    r�
macro_prescanzPreprocessor.macro_prescan�s��������� "���
���#�e�k�"�"�"�"��{�1�~�"�d�i�/�/�E�K��N�4H�E�M�4Y�4Y���,�,�U�[��^�-A�B�B���q�5�5�U�[��1��-�3�s�:�:�%)�Y�u�{�1�~�%>�%>�E�K��N�*.�-�E�K��N�'���A�a�C�(��O�*�*�F�1�Q�3�<�8�8�8���!�e�e���A�a�C� 0� 6�$� >� >��K�&�&��F�1�Q�3�'7�8�8�8���A�a�C�(���F�A����s�c�%�+�.�.�.�.�5�;�q��s�3C�3I�T�3Q�3Q��K�&�&��F�1�~�6�6�6���A��E�*���K�&�&��F�1�~�6�6�6�6���Q��%��-�-��>�6�q�1�u�u�5�;�q��s�3C�3I�S�3P�3P��A�#��U�[�!1�!1�1�1���A�a�C�8H�8M�QU�QZ�8Z�8Z���Q�q�S�)�/�5�<�?�?��)�0�0��1��5�5�5�
��F�A�9�#�e�k�"�"�"�"�:	����^�^�D��9�9�9�9�9rc�J�d�|jD��}i}|jD]x\}}||vr?dd�d�||D����z�dd��||<t	j||��||<||||_�yd}|jr|ds|jD]	}d||<d	}�
i}|jD]U\}	}}|	d
kr|||||dz�<�|	dkr2||vr|�||��||<|||||dz�<�V|rd
�|D��}|S)Nc�6�g|]}tj|����Sr�r��r��_xs  rr�z2Preprocessor.macro_expand_args.<locals>.<listcomp>�s ��3�3�3��t�y��}�}�3�3�3rz"%s"r�c��g|]	}|j��
Sr�rr�s  rr�z2Preprocessor.macro_expand_args.<locals>.<listcomp>�s��:Y�:Y�:Y�q�1�7�:Y�:Y�:Yrr/z\\FrCTr�r+r�c��g|]}|�|��Srr�r��_is  rr�z2Preprocessor.macro_expand_args.<locals>.<listcomp>�s��*�*�*�"�r�*�2�*�*�*r)	rr�r��replacer�rQr�r��
expand_macros)
rTr�r��rep�
str_expansionr�r��comma_patch�expanded�ptypes
          r�macro_expand_argszPreprocessor.macro_expand_args�s���3�3�u�{�3�3�3���
���	1�	1�I�F�A��]�*�*�)/�"�'�'�:Y�:Y�D�QW�L�:Y�:Y�:Y�2Z�2Z�)Z�(c�(c�dh�io�(p�(p�
�f�%��Y�s�1�v�&�&�C��F�(��0�C��F�L�L����>�	#�$�r�(�	#��*�
#�
#����A��"����� %��	.�	.��E�6�1���|�|�!�&�\��A�a��c�E�
�
��#�����)�)�'+�'9�'9�$�v�,�'G�'G�H�V�$�%�f�-��A�a��c�E�
���	+�*�*��*�*�*�C��
rc	��|�i}d}|t|��k�r�||}|j|jk�r�|j|jv�rj|j|v�r`d||j<|j|j}|jsT|�d�|jD��|��}|D]}|j|_�||||dz�<|t|��z
}�n�|dz}|t|��kr@||j|jvr,|dz
}|t|��kr||j|jv�,|t|��k�rn||jdk�r\|�	||d���\}	}
}|j
sit|
��t|j��krD|�|j|jd|jt|j��fz��||	z}�n�|j
r�t|
��t|j��dz
kr�t|j��dkrA|�|j|jd|jt|j��dz
fz��n@|�|j|jd	|jt|j��dz
fz��||	z}�n|j
r�t|
��t|j��dz
kr|
�
g��n]|||t|j��dz
z||	zdz
�|
t|j��dz
<|
t|j��d�=|�||
��}|�||��}|D]}
|j|
_�|||||	z�<|t|��z
}n|dz
}||j=���|jd
kr+|j|_|�|j��|_|dz
}|t|��k���|S)NrTc�6�g|]}tj|����Srr�r�s  rr�z.Preprocessor.expand_macros.<locals>.<listcomp>�s ��0Q�0Q�0Q�2���2���0Q�0Q�0Qrr+r:zMacro %s requires %d argumentsr�z(Macro %s must have at least %d argumentsz'Macro %s must have at least %d argument�__LINE__)r�r$r{rr]rPr�rr�r�rQrtrSrjr�r}r~)rTrlr�r�r�m�exr�r��tokcountr�r�r��rs              rr�zPreprocessor.expand_macros�sR�����H�
���#�f�+�+�o�o��q�	�A��v���"�"��7�d�k�)�)�a�g�X�.E�.E�(,�H�Q�W�%���A�G�,�A��9�*#�!�/�/�0Q�0Q���0Q�0Q�0Q�RZ�[�[��!#�0�0�A�'(�x�A�H�H�(*��q��1��u�
��S��W�W������E���#�f�+�+�o�o�&��)�.�D�I�2M�2M���F�A� �#�f�+�+�o�o�&��)�.�D�I�2M�2M��s�6�{�{�?�?�v�a�y��#�/E�/E�6:�6G�6G��q�r�r�
�6S�6S�3�H�T�)�#$�:�.�#�d�)�)��A�I���2N�2N� $�
�
�4�;�q�x�@`�de�dk�lo�pq�py�lz�lz�c{�@{� |� |� |�$%��L���!"��.��D�	�	�C��	�N�N�1�<L�0L�0L�#&�q�y�>�>�A�#5�#5�$(�J�J�t�{�1�8�Dn�rs�ry�{~�@A�@I�|J�|J�KL�|L�rM�EM�%N�%N�%N�%N�$(�J�J�t�{�1�8�Dm�qr�qx�z}�~�H�{I�{I�JK�{K�qL�EL�%M�%M�%M�$%��L���#$�:�!B�'*�4�y�y�C��	�N�N�1�4D�'D�'D�(,���B�����AG��)�TW�XY�Xa�Tb�Tb�cd�Td�Je�He�fg�hp�fp�qr�fr�Hr�As��S���^�^�A�-=�(>�,0��Q�Y�����,A�'+�&<�&<�Q�t�&D�&D��&*�&8�&8��X�&F�&F��),�!8�!8�A�/0�x�A�H�H�7:��q��8��|� 4� !�S��X�X�
���
��F�A� ���)���W�
�*�*�!�^�A�F�"�1�1�!�(�;�;�A�G�
��F�A�u�#�f�+�+�o�o�v�
rc�V�d}|t|��k�rM||j|jk�r||jdk�r|dz}d}d}|t|��kr�||j|jvr|dz
}�-||j|jkr||j|jvrd}nd}|snfnM||jdkrd}n9||jd	krn?|�|j||jd
��|dz
}|t|��k��|j	||_|�
|��||_||dz|dz�=|dz
}|t|��k��M|�|��}t|��D]�\}}|j|jkrJtj
|��||<|j	||_|�
d��||_�_|j|j	kr�tj
|��||<t||j��||_||jddvr5||jdd�||_||jddv�5��d
�d�|D����}|�dd��}|�dd��}|�dd��}	t#|��}n9#t$$r,|�|j|djd��d}YnwxYw|S)Nr�definedr+F�0L�1Lr:Tr;zMalformed defined()rC�0123456789abcdefABCDEFr�c�6�g|]}t|j����Sr��strrr�s  rr�z)Preprocessor.evalexpr.<locals>.<listcomp>\s ��5�5�5���A�G���5�5�5rz&&z and z||z or r<z not zCouldn't evaluate expression)r�r$r{rr�r]rtrSrr}r~r��	enumerater�r�r�r��eval�	Exception)rTrlr�r��	needparen�resultr�exprs        r�evalexprzPreprocessor.evalexpr1s(��
���#�f�+�+�o�o��a�y�~���*�*�v�a�y��)�/K�/K���E��!�	����#�f�+�+�o�o��a�y�~���2�2��Q��� �����4�9�4�4�!�!�9�?�d�k�9�9�%)�F�F�%)�F�(�/�%�/�����C�/�/�$(�	�	�����C�/�/���
�
�4�;�v�a�y�/?�@U�V�V�V���F�A�!�#�f�+�+�o�o�""&���q�	��"&�"5�"5�f�"=�"=��q�	���1�Q�3�q��s�7�O�
��F�A�3�#�f�+�+�o�o�4�#�#�F�+�+���V�$�$�
	;�
	;�C�A�a��v���"�"� �I�a�L�L��q�	�!%���q�	��"&�"5�"5�d�";�";��q�	�����4�>�)�)� �I�a�L�L��q�	�"%�f�Q�i�o�"6�"6��q�	���Q�i�o�b�)�1I�I�I�&,�Q�i�o�c�r�c�&:�F�1�I�O��Q�i�o�b�)�1I�I�I���w�w�5�5�f�5�5�5�6�6���|�|�D��)�)���|�|�D��(�(���|�|�C��(�(��	��$�Z�Z�F�F���	�	�	��J�J�t�{�6�!�9�#3�4R�S�S�S��F�F�F�	�����
s� K0�03L&�%L&c#�K�t|��}|�|��}|sd}|�d|z��||_g}d}d}g}|D�]_}	t	|	��D]\}
}|j|jvrn�|jdk�r|	D].}|j|jvrd|jvr|�|���/|�	|	|
dzd���}|r+|dj}
|�	|dd���}nd}
g}|
d	kr6|r3|�
|��D]}|V��g}|�|����|
d
kr\|rX|�
|��D]}|V��g}|jd}|�|��D]}|V��||jd<||_��T|
dkr7|r3|�
|��D]}|V��g}|�
|�����|
d
kr7|�||f��|r|dj|jvrd}d}���d}���|
dkr7|�||f��|r|dj|jvrd}d}��d}��|
dkr:|�||f��|r|�|��}|sd}d}��Gd}��K|
dkr^|r3|ddr#|rd}��g|s|�|��}|rd}d}���|�|j|djd�����|
dkrG|r|ddr|rd}���|sd}d}���|�|j|djd�����|
dkrD|r|���\}}��|�|j|djd����F��H|r|�|	����a|�
|��D]}|V��g}dS)Nr�z
__FILE__ "%s"TFr.rr+rrc�include�__FILE__�undef�ifdef�ifndef�if�elifrCzMisplaced #elif�elsezMisplaced #else�endifzMisplaced #endif)rKr�rcrSr�r$r�rrjr�r�r]r�r�r�rtr�pop�extend)rTrJrSrr��chunk�enable�	iftrigger�ifstackr�r�rm�	dirtokensrOr��oldfiler�s                 r�parsegenzPreprocessor.parsegenls�����
�U�O�O��� � ��#�#���	��F����%��.�/�/�/���������	����f	$�f	$�A�"�1���
4�
4���#��8�4�9�,�,�e�e�,��y�C����*�*�C��x�4�9�,�,����1B�1B����S�)�)�)�� �O�O�A�a��c�d�d�G�4�4�	���$�Q�<�-�D��?�?�9�Q�R�R�=�9�9�D�D��D��D��8�#�#��*�#'�#5�#5�e�#<�#<�&�&�C�"%�I�I�I�I� "�����D�)�)�)���Y�&�&��-�#'�#5�#5�e�#<�#<�&�&�C�"%�I�I�I�I� "��"&�+�j�"9��#'�<�<��#5�#5�&�&�C�"%�I�I�I�I�29���J�/�&,�����W�_�_��)�#'�#5�#5�e�#<�#<�&�&�C�"%�I�I�I�I� "���
�
�4�(�(�(���W�_�_��N�N�F�9�#5�6�6�6��-�#�A�w�}���;�;�%*�F�(-�I�I�(,�I���X�%�%��N�N�F�9�#5�6�6�6��-���7�=�D�K�7�7�%*�F�(-�I�I�(,�I���T�\�\��N�N�F�9�#5�6�6�6��-�!%���t�!4�!4��%�-�%*�F�(-�I�I�(,�I���V�^�^��
V�"�2�;�q�>�5�%�5�).���%.�5�)-���t�)<�)<��#)�!5�.2�F�04�I���
�
�4�;�y��|�/B�CT�U�U�U�U��V�^�^��V�"�2�;�q�>�1�%�1�).���%.�1�)-��,0�	���
�
�4�;�y��|�/B�CT�U�U�U�U��W�_�_��W�+2�;�;�=�=�(��y�y��
�
�4�;�y��|�/B�CU�V�V�V�V���$��L�L��O�O�O���%�%�e�,�,�	�	�C��I�I�I�I����rc#�K�|sdS|�r(|djdkr+|dj|jkr|�|��}|djdkr�d}|t	|��kr*||jdkrn)|dz
}|t	|��k�*td��dSd�d�|d|�D����}|jdgz|jz}nP|dj|jkr)|djdd�}|jdgz|jz}ntd	��dS|D]�}tj�||��}	t|d
�����}tj�|��}|r|j�
d|��|�||��D]}	|	V��|r|jd=dS#t$rY��wxYwtd|z��dS)Nrr=r+r>zMalformed #include <...>r�c��g|]	}|j��
Srr�r�s  rr�z(Preprocessor.include.<locals>.<listcomp>s��#A�#A�#A��A�G�#A�#A�#ArrCzMalformed #include statementr�zCouldn't find '%s')rr$rr�r�rpr�r^r_�os�open�read�dirname�insertr��IOError)
rTrlr��filenamer^�p�iname�data�dnamerms
          rr�zPreprocessor.include�s=�����	��F��	��a�y��#�%�%�&��)�.�D�M�*I�*I��+�+�F�3�3���a�y��#�%�%����#�f�+�+�o�o��a�y��#�-�-����F�A��#�f�+�+�o�o�
�4�5�5�5��F��7�7�#A�#A�V�A�a�C�[�#A�#A�#A�B�B���y�B�4�'�$�.�8�������4�=�0�0�!�!�9�?�1�R�4�0���~���,�t�y�8����4�5�5�5����	3�	3�A��G�L�L��8�,�,�E�
��E�#���+�+�-�-�������.�.���3��N�)�)�!�E�2�2�2��=�=��h�7�7���C��I�I�I�I��*���q�)������
�
�
���
����
�&��1�2�2�2�2�2s�BG�
G,�+G,c�x�t|t��r|�|��}|}	|d}t|��dkr	|d}nd}|s&t	|jg��}||j|j<dS|j|jvrAt	|j|�	|dd�����}||j|j<dS|jdk�r4|�
|dd���\}}}d}	|D�]}
|	rtd���n�d�d�|
D����}|d	kr)d
}	|j
|
d_d|
d_d
}	|
dd�=�e|dd�d	krW|
dj|j
krAd
}	|
dd�=|
djdd�d	kr |
djdd�|
d_��t|
��dks|
dj|j
krtd
���n��|�	|d|zd���}d}
|
t|��kr�|
dzt|��krZ||
j|jvr||
dzjdkr||
=�U||
jdkr||
dzj|jvr||
dz=|
dz
}
|
t|��k��t	|j|d�|D��|	��}|�|��||j|j<dSdSdStd��dS#t$rtd��YdSwxYw)Nrr+r�r:Fz0No more arguments may follow a variadic argumentr�c�6�g|]}t|j����Srr�r�s  rr�z'Preprocessor.define.<locals>.<listcomp>:s ��#>�#>�#>�b�C���M�M�#>�#>�#>rz...T�__VA_ARGS__���zInvalid macro argumentrxc�(�g|]}|dj��S)rr�r�s  rr�z'Preprocessor.define.<locals>.<listcomp>Xs��0J�0J�0J���1���0J�0J�0JrzBad macro definition)�
isinstance�STRING_TYPESrnr�rMrr]r$r�r�r�rpr�r{r��LookupError)rTrl�linetokrO�mtyper�r�r�r�rQ�a�astr�mvaluer�s              rrczPreprocessor.define s����f�\�*�*�	+��]�]�6�*�*�F���9	*��1�:�D��7�|�|�a�����
������1
.��$�*�R�(�(��*+���D�J�'�'�'���t�y�(�(��$�*�T�_�_�W�Q�R�R�[�%A�%A�B�B��*+���D�J�'�'�'����#�#�,0�,=�,=�g�a�b�b�k�,J�,J�)��$�	� ���$0�$0�A����P�Q�Q�Q����7�7�#>�#>�A�#>�#>�#>�?�?�D��u�}�}�#'��$(�I��!��	�%2��!��
�#'���a�b�b�E� ��b�c�c��e�+�+��!��	�T�Y�0F�0F�#'���a�b�b�E��Q�4�:�b�c�c�?�e�3�3�)*�1���C�R�C��A�a�D�J� ��1�v�v��z�z�Q�q�T�Y�$�)�%;�%;��6�7�7�7���&<�"�_�_�W�Q�x�Z�[�[�-A�B�B�F��A��c�&�k�k�/�/��Q�3��V���,�,�%�a�y�~���:�:�v�a��c�{�?P�TX�?X�?X�$*�1�I� (�!'����D�!8�!8�V�A�a�C�[�=M�QU�QZ�=Z�=Z�$*�1�Q�3�K��Q����c�&�k�k�/�/��d�j��0J�0J�T�0J�0J�0J�8�T�T�A��&�&�q�)�)�)�./�D�K��
�+�+�+�C��&�� �,�-�-�-�-�-���	*�	*�	*��(�)�)�)�)�)�)�	*���s&�AL�<A
L�H:L�L�L9�8L9c�T�|dj}	|j|=dS#t$rYdSwxYw)Nr)rr]r)rTrl�ids   rr�zPreprocessor.undeffsA��
�A�Y�_��	���B������	�	�	��D�D�	���s��
'�'c�J�||_|�||��|_dSrh)�ignorer�re)rTrJrSrs    r�parsezPreprocessor.parsers"������m�m�E�&�1�1����rc��		t|j��}|j|jvr|S�%#t$rd|_YdSwxYwrh)�nextrer$r�
StopIteration)rTrms  rrizPreprocessor.token{s^��	�
;��4�;�'�'���8�4�;�.�.�s�
�
;���	�	�	��D�K��4�4�	���s�$(�(�=�=rh)rVrWrXrUrnrtr`r�r�r�r�r�r�r�r�r�r�rcr�rrirrrrZrZ�sN����������,���,�,�,�4J�4J�4J�x������B	�	�	�8+�+�+�j":�":�":�X'�'�'�d?�?�?�?�P4�4�4�v{�{�{�{�F)3�)3�)3�b>*�>*�>*�L���!%�B�2�2�2�2�����rrZ�__main__r+)3�
__future__r�sys�version_info�majorr��unicoder�ranger�rl�literalsr�t_CPP_POUND�t_CPP_DPOUND�t_CPP_IDr�
t_CPP_INTEGER�t_CPP_FLOATrr!r&r(r-�rer�ra�os.pathr��compilerHrDrK�objectrMrZrV�ply.lexr\rr��argv�fr�rJr�rrirmrprSrrr�<module>r$sr��"�!�!�!�!�!�
�
�
�
����A�����>�L�L��L�
�F�
��,��
�
�
�
������
�
�
��
�Q��
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�	�	�	�������������&��
�6�7�7�
����������
�
�
�K�K�K�&�����F����"c�c�c�c�c�6�c�c�c�J�z����������C�G�I�I�E��J�J�J���S�X�a�[���A�
�F�F�H�H�E���U���A��G�G�E�#�(�1�+������g�g�i�i����E�E�
��a�h�������r

Youez - 2016 - github.com/yon3zu
LinuXploit