HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/pycparser/ply/__pycache__/cpp.cpython-310.pyc
o

�N�g��
@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�)
ZCPP_ID�CPP_INTEGERZ	CPP_FLOATZ
CPP_STRINGZCPP_CHAR�CPP_WSZCPP_COMMENT1ZCPP_COMMENT2Z	CPP_POUNDZ
CPP_DPOUNDz+-*/%|&~^<>=!?()[]{}.,;:\'"cC�|jj|j�d�7_|S)z\s+�
��lexer�lineno�value�count��t�r�E/opt/saltstack/salt/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])?)rrrrrr+srz?((\d+)(\.\d+)(e(\+|-)?(\d+))? | (\d+)e(\+|-)?(\d+))([lL]|[fF])?cCr)z\"([^\\\n]|(\\(.|\n)))*?\"rrrrrr�t_CPP_STRING5rrcCr)z(L)?\'([^\\\n]|(\\(.|\n)))*?\'rrrrrr�
t_CPP_CHAR;rrcCs>|j�d�}|jj|7_d|_|rd||_|Sd|_|S)z(/\*(.|\n)*?\*/)rr� )r
rrr	�type)r
Zncrrrr�t_CPP_COMMENT1As�rcCsd|_d|_|S)z
(//.*?(\n|$))rr)rr
rrrr�t_CPP_COMMENT2JsrcCs(|jd|_|jd|_|j�d�|S�Nr�)r
rr�skiprrrr�t_errorPsrz\?\?[=/\'\(\)\!<>\-]�#�\�^�[�]�|�{�}�~)	�=�/�'�(�)�!�<�>�-cCst�dd�|�S)NcSst|��dS�N���)�
_trigraph_rep�group)�grrr�<lambda>zsztrigraph.<locals>.<lambda>)�
_trigraph_pat�sub)�inputrrr�trigraphy�r7c@seZdZddd�ZdS)�MacroNFcCs0||_||_||_||_|r|d|_d|_dSr.)�namer
�arglist�variadic�vararg�source)�selfr:r
r;r<rrr�__init__�s

zMacro.__init__)NF)�__name__�
__module__�__qualname__r@rrrrr9�sr9c@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)r?r�tmrrrr@�s
zPreprocessor.__init__cCs0g}|j�|�	|j��}|s|S|�|�q	�N)rr6�token�append)r?�text�tokens�tokrrr�tokenize�s

��zPreprocessor.tokenizecCstd|||f�dS)Nz%s:%d %s)�print)r?�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)
NZ
identifierz"Couldn't determine identifier typeZ12345i90zCouldn't determine integer typez
"filename"zCouldn't determine string typez  rz%Couldn't determine token for newlines)	r+r,r�##rr(r)�,�.z,Unable to lex '%s' required for preprocessor)rr6rQr
rWr�t_ID�int�	t_INTEGER�t_INTEGER_TYPE�t_STRINGZt_SPACEZ	t_NEWLINE�t_WS)r?rU�chars�crrrrI�sH









��zPreprocessor.lexprobecCs|j�|�dSrP)rGrR)r?rGrrr�add_pathr8zPreprocessor.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>rrr/�r)r�clone�
splitlines�xrange�len�endswith�joinr6r	rQrRrrdr
)r?r6rE�lines�i�j�current_linerUrrr�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)rrrrd)r?rTrvrrr�
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)	Nrrr(zMissing '(' in macro argumentsr)r]r/zMissing ')' in macro arguments)	rrrrdr
rRr[r>r	rz)	r?Z	tokenlist�args�	positionsZcurrent_argZnestingZtokenlenrvr
rrr�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)Nrrrr\rf�er]cSs|dS)N�r)rkrrrr3�sz,Preprocessor.macro_prescan.<locals>.<lambda>T)�key�reverse)�patch�	str_patch�var_comma_patchrrr
rr_r;�index�copyrcrRr<r=�sort)r?�macrorv�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��rjZ_xrrrrl��z2Preprocessor.macro_expand_args.<locals>.<listcomp>z"%s"rncS�g|]}|j�qSr�r
rirrrrl��rz\\Fr/Trfrr~cSsg|]}|r|�qSrr�rjZ_irrrrl�rm)	r
r�rt�replacer�r<r�r��
expand_macros)
r?r�r{�repZ
str_expansionr�rvZcomma_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�rrrrl�r�z.Preprocessor.expand_macros.<locals>.<listcomp>rr(zMacro %s requires %d argumentsrz(Macro %s must have at least %d argumentsz'Macro %s must have at least %d argumentZ__LINE__)rrrr_r
rFr;r�r	rdr}r<r[r>rRr�rarb)r?rTr�rvr
�m�exr~rw�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)NrZdefinedrFZ0LZ1Lr(Tr)zMalformed defined()r/Z0123456789abcdefABCDEFrncS�g|]}t|j��qSr��strr
rirrrrlSr�z)Preprocessor.evalexpr.<locals>.<listcomp>z&&z and z||z or r*z not zCouldn't evaluate expression)rrrr_r
rdrFr[r>r	rarbr��	enumerater�r�rtr��eval�	Exception)r?rTrvrwZ	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)Nrnz
__FILE__ "%s"TFrrrrrL�includeZ__FILE__�undefZifdefZifndef�if�elifr/zMisplaced #elif�elsezMisplaced #elseZendifzMisplaced #endif)r7ryrLr>r�rrdr
rRrzr�rFr�r�r�r[r	�pop�extend)r?r6r>r
ru�chunk�enableZ	iftriggerZifstackrkrvrUZ	dirtokensr:r{Zoldfiler�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)
Nrr+rr,zMalformed #include <...>rncSr�rr�rirrrrl�r�z(Preprocessor.include.<locals>.<listcomp>r/zMalformed #include statementr�zCouldn't find '%s')r
rrcr�rrrWrtrGrH�os�open�read�dirname�insertr��IOError)
r?rTrv�filenamerG�pZiname�dataZdnamerUrrrr��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)Nrrrr(Fz0No more arguments may follow a variadic argumentrncSr�rr�r�rrrrl1r�z'Preprocessor.define.<locals>.<listcomp>z...TZ__VA_ARGS__���zInvalid macro argumentr\cSsg|]}|dj�qS)rr�rirrrrlOr�zBad macro definition)�
isinstance�STRING_TYPESrVrrr9r
rFrrdrzr}rWrtr_r��LookupError)r?rTZlinetokr:Zmtyper�r�r{r|r<�aZastrZmvaluervrrrrLsv




 
�&&
�
��zPreprocessor.definecCs.|dj}z|j|=WdStyYdSw)Nr)r
rFr�)r?rT�idrrrr�]s
�zPreprocessor.undefcCs||_|�||�|_dSrP)�ignorer�rN)r?r6r>r�rrr�parseiszPreprocessor.parsecCs<z	t|j�}|j|jvr|WSqtyd|_YdSwrP)�nextrNrr��
StopIteration)r?rUrrrrQrs
��zPreprocessor.tokenrP)rArBrCr@rVr[rIrgryrzr}r�r�r�r�r�r�rLr�r�rQrrrrrD�s(
<!5+
2B
;1F	rD�__main__r)1�sys�version_info�majorr�Zunicoder��rangerqrT�literalsrZt_CPP_POUNDZt_CPP_DPOUNDZt_CPP_IDrZ
t_CPP_INTEGERZt_CPP_FLOATrrrrr�rer�rJZos.pathr��compiler4r0r7�objectr9rDrAZply.lexrErr��argv�fr�r6r�r�rQrUrWr>rrrr�<module>sp	
	
�c��