HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberPanel/lib/python3.10/site-packages/pycparser/ply/__pycache__/cpp.cpython-310.pyc
o

��h��
@s\ddlZejjdkreefZneZeZdZdZ	dd�Z
dZdZd	Z
d
d�ZeZdZd
d�Zdd�Zdd�Zdd�Zdd�ZddlZddlZddlZddlZe�d�Zddddddddd d!�	Zd"d#�ZGd$d%�d%e�Z Gd&d'�d'e�Z!e"d(kr�ddl#m$Z$e$�$�Z%ddlZe&ej'd)�Z(e(�)�Z*e!e%�Z+e+�,e*ej'd)�	e+�-�Z.e.s�dSe/e+j0e.�q�dS)*�N�)
�CPP_ID�CPP_INTEGER�	CPP_FLOAT�
CPP_STRING�CPP_CHAR�CPP_WS�CPP_COMMENT1�CPP_COMMENT2�	CPP_POUND�
CPP_DPOUNDz+-*/%|&~^<>=!?()[]{}.,;:\'"cC�|jj|j�d�7_|S)z\s+�
��lexer�lineno�value�count��t�r�G/usr/local/CyberPanel/lib/python3.10/site-packages/pycparser/ply/cpp.py�t_CPP_WS�rz\#z\#\#z[A-Za-z_][\w_]*cCs|S)zA(((((0x)|(0X))[0-9a-fA-F]+)|(\d+))([uU][lL]|[lL][uU]|[uU]|[lL])?)rrrrrr+srz?((\d+)(\.\d+)(e(\+|-)?(\d+))? | (\d+)e(\+|-)?(\d+))([lL]|[fF])?cCr
)z\"([^\\\n]|(\\(.|\n)))*?\"rrrrrr�t_CPP_STRING5rrcCr
)z(L)?\'([^\\\n]|(\\(.|\n)))*?\'rrrrrr�
t_CPP_CHAR;rrcCs>|j�d�}|jj|7_d|_|rd||_|Sd|_|S)z(/\*(.|\n)*?\*/)rr� )rrrr�type)r�ncrrrr�t_CPP_COMMENT1As�rcCsd|_d|_|S)z
(//.*?(\n|$))rr)rrrrrr�t_CPP_COMMENT2Jsr cCs(|jd|_|jd|_|j�d�|S�Nr�)rrr�skiprrrr�t_errorPsr$z\?\?[=/\'\(\)\!<>\-]�#�\�^�[�]�|�{�}�~)	�=�/�'�(�)�!�<�>�-cCst�dd�|�S)NcSst|��dS�N���)�
_trigraph_rep�group)�grrr�<lambda>zsztrigraph.<locals>.<lambda>)�
_trigraph_pat�sub)�inputrrr�trigraphy�r@c@seZdZddd�ZdS)�MacroNFcCs0||_||_||_||_|r|d|_d|_dSr7)�namer�arglist�variadic�vararg�source)�selfrCrrDrErrr�__init__�s

zMacro.__init__)NF)�__name__�
__module__�__qualname__rIrrrrrB�srBc@s�eZdZd&dd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zd&dd�Z
dd�Zd&dd�Zdd�Zdd�Zd d!�Zdifd"d#�Zd$d%�ZdS)'�PreprocessorNcCsl|durtj}||_i|_g|_g|_|��t��}|�dt�	d|��|�dt�	d|��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)rHr�tmrrrrI�s
zPreprocessor.__init__cCs0g}|j�|�	|j��}|s|S|�|�q	�N)rr?�token�append)rH�text�tokens�tokrrr�tokenize�s

��zPreprocessor.tokenizecCstd|||f�dS)Nz%s:%d %s)�print)rH�file�line�msgrrr�error�szPreprocessor.errorcCsv|j�d�|j��}|r|jdkrtd�n|j|_|j�d�|j��}|r/t|j�dkr4td�n
|j|_t|j�|_	|j�d�|j��}|rP|jdkrUtd�n|j|_
|j�d�|j��}|rk|jdkrod|_n|j|_|j�d	�|j��}|r�|jd	kr�d|_td
�n|j|_|j|jf|_
gd�}|D]}|j�|�|j��}|r�|j|kr�td|�q�dS)
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)	r4r5r%�##r&r1r2�,�.z,Unable to lex '%s' required for preprocessor)rr?rZrr`r�t_ID�int�	t_INTEGER�t_INTEGER_TYPE�t_STRING�t_SPACE�	t_NEWLINE�t_WS)rHr^�chars�crrrrR�sH









��zPreprocessor.lexprobecCs|j�|�dSrY)rPr[)rHrPrrr�add_pathrAzPreprocessor.add_pathccs�|j��}dd�|��D�}tt|��D]6}|d}||�d�rK|t|�krK||dd�||||<d||<|d7}||�d�rK|t|�ks(qd�|�}|�|�d|_g}	|�	�}|scn|�
|�|j|jvrxd|j
vrx|Vg}q\|r�|VdSdS)NcSsg|]}|���qSr)�rstrip��.0�xrrr�
<listcomp>�z,Preprocessor.group_lines.<locals>.<listcomp>r"r&r8�r)r�clone�
splitlines�xrange�len�endswith�joinr?rrZr[rrqr)rHr?rN�lines�i�j�current_liner^rrr�group_liness6�
��


�	
�zPreprocessor.group_linescCs�d}|t|�kr"||j|jvr"|d7}|t|�kr"||j|jvs|d|�=t|�d}|dkrI||j|jvrI|d8}|dkrI||j|jvs9||dd�=|Sr!)rrrq)rHr]r�rrr�
tokenstrip8s�
�zPreprocessor.tokenstripc	Cs�g}g}g}d}t|�}d}||kr*||j|jvr*|d7}||kr*||j|jvs||kr=||jdkr=|�|d�n|�|j|djd�dggfS|d7}||kr�||}|jdkrh|�|�|d7}nI|jdkr�|d8}|dkr�|r�|�|�|��|�|�|d||fS|�|�n |jdkr�|dkr�|�|�|��|�|d�g}n|�|�|d7}||ksU|�|j|djd�dggfS)	Nr"rr1zMissing '(' in macro argumentsr2rhr8zMissing ')' in macro arguments)	rrrqrr[rdrGrr�)	rH�	tokenlist�args�	positions�current_arg�nesting�tokenlenr�rrrr�collect_argsTsH�






�
zPreprocessor.collect_argscCsg|_g|_g|_d}|t|j�kr�|j|j|jkr�|j|j|jvr�|j�|j|j�}|dkr_|j|djdkr_t	�	|j|�|j|<|j
|j|_|j|d=|j�||df�q|dkr|j|djdkr|j�d||df�|j|d=q|dt|j�kr�|j|djdkr�|j�d||f�|d7}q|j�d||f�n@|j|jdkr�|jr�|dkr�|j|djdkr�|dt|j�kr�|j|dj|jkr�|j|dj|j
kr�|j�|d�|d7}|t|j�ks|jjdd	�d
d�dS)Nrr"r%rgrs�erhcSs|dS)N�r)rxrrrr<�sz,Preprocessor.macro_prescan.<locals>.<lambda>T)�key�reverse)�patch�	str_patch�var_comma_patchrrrrjrD�index�copyrnr[rErF�sort)rH�macror��argnumrrr�
macro_prescan�s<$&"(�zPreprocessor.macro_prescanc
Csdd�|jD�}i}|jD],\}}||vr)dd�dd�||D���dd�||<t�||�||<||||_q
d}|jrO|d	sO|jD]}d||<d
}qFi}|jD]/\}	}}|	dkrh|||||d�<qT|	d
kr�||vry|�||�||<|||||d�<qT|r�dd�|D�}|S)NcS�g|]}t�|��qSr�r��rw�_xrrrry��z2Preprocessor.macro_expand_args.<locals>.<listcomp>z"%s"r{cS�g|]}|j�qSr�rrvrrrry��r&z\\Fr8Trsr"r�cSsg|]}|r|�qSrr�rw�_irrrry�rz)	rr�r��replacer�rEr�r��
expand_macros)
rHr�r��rep�
str_expansionr�r��comma_patch�expanded�ptyperrr�macro_expand_args�s0(
�zPreprocessor.macro_expand_argscCs�|duri}d}|t|�k�rp||}|j|jk�rf|j|jv�rU|j|v�rUd||j<|j|j}|jsY|�dd�|jD�|�}|D]}|j|_qC||||d�<|t|�7}n�|d}|t|�kr}||j|jvr}|d7}|t|�kr}||j|jvsk||jdk�rP|�	||d��\}	}
}|j
s�t|
�t|j�kr�|�|j|jd|jt|j�f�||	}n�|j
r�t|
�t|j�dkr�t|j�dkr�|�|j|jd	|jt|j�df�n|�|j|jd
|jt|j�df�||	}n\|j
�r,t|
�t|j�dk�r
|
�
g�n"|||t|j�d||	d�|
t|j�d<|
t|j�d�=|�||
�}|�||�}|D]}
|j|
_�q:|||||	�<|t|�7}||j=q|jdk�rf|j|_|�|j�|_|d7}|t|�ks|S)NrTcSr�rr�r�rrrry�r�z.Preprocessor.expand_macros.<locals>.<listcomp>r"r1zMacro %s requires %d argumentsr�z(Macro %s must have at least %d argumentsz'Macro %s must have at least %d argument�__LINE__)rrrjrrOrDr�rrqr�rErdrGr[r�rlrm)rHr]r�r�r�m�exr�r��tokcountr�r�r��rrrrr��s`

�"
(&
4�5zPreprocessor.expand_macroscCs\d}|t|�kr�||j|jkr�||jdkr�|d}d}d}|t|�krr||j|jvr2|d7}q||j|jkrK||j|jvrEd}nd}|sJn(n||jdkrUd}n||jd	kr]n|�|j||jd
�|d7}|t|�ks%|j	||_|�
|�||_||d|d�=|d7}|t|�ks|�|�}t|�D]U\}}|j|jkr�t
�
|�||<|j	||_|�
d�||_q�|j|j	kr�t
�
|�||<t||j�||_||jddvr�||jdd�||_||jddvs�q�d
�dd�|D��}|�dd�}|�dd�}|�dd�}zt|�}W|St�y-|�|j|djd�d}Y|Sw)Nr�definedr"F�0L�1Lr1Tr2zMalformed defined()r8�0123456789abcdefABCDEFr{cS�g|]}t|j��qSr��strrrvrrrrySr�z)Preprocessor.evalexpr.<locals>.<listcomp>z&&z and z||z or r3z not zCouldn't evaluate expression)rrrjrrqrOrdrGrrlrmr��	enumerater�r�r�r��eval�	Exception)rHr]r�r��	needparen�resultr�exprrrr�evalexpr(sh��
��
��zPreprocessor.evalexprccsv�t|�}|�|�}|sd}|�d|�||_g}d}d}g}|D�]�}	t|	�D]\}
}|j|jvr5nq)|jdk�r�|	D]}|j|jvrPd|jvrP|�|�q>|�	|	|
dd��}|rm|dj}
|�	|dd��}nd}
g}|
d	kr�|r�|�
|�D]}|Vq|g}|�|�q"|
d
kr�|r�|�
|�D]}|Vq�g}|jd}|�|�D]}|Vq�||jd<||_q"|
dkr�|r�|�
|�D]}|Vq�g}|�
|�q"|
d
kr�|�||f�|r�|dj|jvr�d}d}q"d}q"|
dk�r|�||f�|�r|dj|jv�r	d}d}q"d}q"|
dk�r+|�||f�|�r*|�|�}|�s(d}d}q"d}q"|
dk�r\|�rP|dd�rO|�r@d}q"|�sO|�|�}|�rOd}d}q"|�|j|djd�q"|
dk�r�|�ry|dd�rx|�rqd}q"|�sxd}d}q"|�|j|djd�q"|
dk�r�|�r�|��\}}q"|�|j|djd�q"	q"|�r�|�|	�q"|�
|�D]}|V�q�g}dS)Nr{z
__FILE__ "%s"TFr%rr"rrU�include�__FILE__�undef�ifdef�ifndef�if�elifr8zMisplaced #elif�elsezMisplaced #else�endifzMisplaced #endif)r@r�rUrGr�rrqrr[r�r�rOr�r�r�rdr�pop�extend)rHr?rGrr��chunk�enable�	iftrigger�ifstackrxr�r^�	dirtokensrCr��oldfiler�rrr�parsegencs��


�

�

�
��
�

�

�
�

�
zPreprocessor.parsegenc
	cs��|sdS|r{|djdkr|dj|jkr|�|�}|djdkrZd}|t|�kr<||jdkr2n|d7}|t|�ks*td�dSd�dd�|d|�D��}|jdg|j}n!|dj|jkru|djdd	�}|jdg|j}ntd
�dS|D]>}t	j�||�}z,t
|d���}t	j�|�}|r�|j�
d|�|�||�D]}	|	Vq�|r�|jd=WdSty�Yq}wtd|�dS)
Nrr4r"r5zMalformed #include <...>r{cSr�rr�rvrrrry�r�z(Preprocessor.include.<locals>.<listcomp>r8zMalformed #include statementr�zCouldn't find '%s')rrrnr�rr`r�rPrQ�os�open�read�dirname�insertr��IOError)
rHr]r��filenamerP�p�iname�data�dnamer^rrrr��sL�
��zPreprocessor.includecCs�t|t�r
|�|�}|}�zC|d}t|�dkr|d}nd}|s0t|jg�}||j|j<WdS|j|jvrLt|j|�	|dd���}||j|j<WdS|jdk�rJ|�
|dd��\}}}d}	|D]p}
|	rltd�n�d�dd	�|
D��}|d
kr�d}	|j
|
d_d|
d_d}	|
dd�=qb|d
d�d
kr�|
dj|j
kr�d}	|
dd�=|
djd
d�d
kr�|
djdd
�|
d_qbt|
�dks�|
dj|j
kr�td�nuqb|�	|d|d��}d}
|
t|�k�r)|
dt|�k�r||
j|jv�r||
djdk�r||
=q�||
jdk�r||
dj|jv�r||
d=|
d7}
|
t|�ks�t|j|dd	�|D�|	�}|�|�||j|j<WdSWdSWdStd�WdSt�y_td�YdSw)Nrr"r�r1Fz0No more arguments may follow a variadic argumentr{cSr�rr�r�rrrry1r�z'Preprocessor.define.<locals>.<listcomp>z...T�__VA_ARGS__���zInvalid macro argumentrgcSsg|]}|dj�qS)rr�rvrrrryOr�zBad macro definition)�
isinstance�STRING_TYPESr_rrBrrOrrqr�r�r`r�rjr��LookupError)rHr]�linetokrC�mtyper�r�r�r�rE�a�astr�mvaluer�rrrrUsv




 
�&&
�
��zPreprocessor.definecCs.|dj}z|j|=WdStyYdSw)Nr)rrOr�)rHr]�idrrrr�]s
�zPreprocessor.undefcCs||_|�||�|_dSrY)�ignorer�rW)rHr?rGr�rrr�parseiszPreprocessor.parsecCs<z	t|j�}|j|jvr|WSqtyd|_YdSwrY)�nextrWrr��
StopIteration)rHr^rrrrZrs
��zPreprocessor.tokenrY)rJrKrLrIr_rdrRrtr�r�r�r�r�r�r�r�r�rUr�r�rZrrrrrM�s(
<!5+
2B
;1F	rM�__main__r")1�sys�version_info�majorr��unicoder��ranger~r]�literalsr�t_CPP_POUND�t_CPP_DPOUND�t_CPP_IDr�
t_CPP_INTEGER�t_CPP_FLOATrrrr r$�rer�rS�os.pathr��compiler=r9r@�objectrBrMrJ�ply.lexrNrr��argv�fr�r?r�r�rZr^r`rGrrrr�<module>sp	
	
�c��