AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 3.15.221.67
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python2.7/site-packages/pycparser/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /lib/python2.7/site-packages/pycparser/c_generator.pyc
�
g�wUc@s*ddlmZdefd��YZdS(i(tc_astt
CGeneratorcBs�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zed�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d �Z#d!�Z$d"�Z%d#�Z&d$�Z'd%�Z(d&�Z)d'�Z*d(�Z+d)�Z,d*�Z-d+�Z.d,�Z/d-�Z0d.�Z1ed/�Z2d0�Z3gd1�Z4d2�Z5d3�Z6d4�Z7RS(5s� Uses the same visitor pattern as c_ast.NodeVisitor, but modified to
        return a value from each visit method, using string accumulation in
        generic_visit.
    cCs
d|_dS(Ni(tindent_level(tself((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt__init__scCsd|jS(Nt (R(R((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt_make_indentscCs)d|jj}t|||j�|�S(Ntvisit_(t	__class__t__name__tgetattrt
generic_visit(Rtnodetmethod((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisitscs7|dkrdSdj�fd�|j�D��SdS(Ntc3s$|]\}}�j|�VqdS(N(R(t.0tc_nametc(R(s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pys	<genexpr>#s(tNonetjointchildren(RR((Rs9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyRscCs|jS(N(tvalue(Rtn((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_Constant%scCs|jS(N(tname(RR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_ID(scCs.|j|j�}|d|j|j�dS(Nt[t](t_parenthesize_unless_simpleRRt	subscript(RRtarrref((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_ArrayRef+scCs-|j|j�}||j|j|j�S(N(RRttypeRtfield(RRtsref((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_StructRef/scCs.|j|j�}|d|j|j�dS(Nt(t)(RRRtargs(RRtfref((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_FuncCall3scCsx|j|j�}|jdkr)d|S|jdkr@d|S|jdkrcd|j|j�Sd|j|fSdS(Nsp++s%s++sp--s%s--tsizeofs
sizeof(%s)s%s%s(RtexprtopR(RRtoperand((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt
visit_UnaryOp7scsP�j|j�fd��}�j|j�fd��}d||j|fS(Ncs�j|�S(N(t_is_simple_node(td(R(s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt<lambda>Fscs�j|�S(N(R/(R0(R(s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyR1Hss%s %s %s(t_parenthesize_iftlefttrightR,(RRtlval_strtrval_str((Rs9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_BinaryOpDs
cCs8|j|jd��}d|j|j�|j|fS(NcSst|tj�S(N(t
isinstanceRt
Assignment(R((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyR1Nss%s %s %s(R2trvalueRtlvalueR,(RRR6((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_AssignmentKscCsdj|j�S(NR(Rtnames(RR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_IdentifierTypeQscCs_t|tj�r'd|j|�dSt|tj�rNd|j|�dS|j|�SdS(Nt{t}R%R&(R8RtInitListRtExprList(RR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt_visit_exprTs
cCsn|r|jn|j|�}|jrD|d|j|j�7}n|jrj|d|j|j�7}n|S(Ns : s = (Rt_generate_decltbitsizeRtinitRC(RRtno_typets((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt
visit_Decl\s		cs`�j|jd�}t|j�dkr\|ddj�fd�|jdD��7}n|S(Niis, c3s$|]}�j|dt�VqdS(RGN(RItTrue(Rtdecl(R(s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pys	<genexpr>is(RtdeclstlenR(RRRH((Rs9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_DeclListfs
cCsFd}|jr,|dj|j�d7}n||j|j�7}|S(NRR(tstorageRt_generate_typeR!(RRRH((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt
visit_Typedefms
	cCs2d|j|j�d}|d|j|j�S(NR%R&R(RPtto_typeRR+(RRRH((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt
visit_CastsscCs=g}x'|jD]}|j|j|��qWdj|�S(Ns, (texprstappendRCR(RRtvisited_subexprsR+((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_ExprListwscCs=g}x'|jD]}|j|j|��qWdj|�S(Ns, (RTRURCR(RRRVR+((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_InitList}scCs�d}|jr#|d|j7}n|jr�|d7}x|t|jj�D]h\}}||j7}|jr�|d|j|j�7}n|t|jj�dkrI|d7}qIqIW|d7}n|S(NtenumRs {s = is, R@(Rtvaluest	enumeratetenumeratorsRRRM(RRRHtit
enumerator((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt
visit_Enum�s		

	
cs��j|j�}d�_�j|j�}|jrpdj�fd�|jD��}|d|d|dS|d|dSdS(Nis;
c3s|]}�j|�VqdS(N(R(Rtp(R(s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pys	<genexpr>�ss
(RRKRtbodytparam_declsR(RRRKRatknrdecls((Rs9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt
visit_FuncDef�s		"cCs]d}xP|jD]E}t|tj�r>||j|�7}q||j|�d7}qW|S(NRs;
(textR8RtFuncDefR(RRRHRe((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt
visit_FileAST�scsx�j�d}�jd7_|jrQ|dj�fd�|jD��7}n�jd8_|�j�d7}|S(Ns{
iRc3s|]}�j|�VqdS(N(t_generate_stmt(Rtstmt(R(s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pys	<genexpr>�ss}
(RRtblock_itemsR(RRRH((Rs9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_Compound�s	)cCsdS(Nt;((RR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_EmptyStatement�scs dj�fd�|jD��S(Ns, c3s|]}�j|�VqdS(N(R(Rtparam(R(s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pys	<genexpr>�s(Rtparams(RR((Rs9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_ParamList�scCs4d}|jr,|d|j|j�7}n|dS(NtreturnRRl(R+R(RRRH((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_Return�s	cCsdS(Nsbreak;((RR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_Break�scCsdS(Ns	continue;((RR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_Continue�scCsJ|j|j�d}||j|j�d7}||j|j�7}|S(Ns ? s : (RCtcondtiftruetiffalse(RRRH((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_TernaryOp�scCs�d}|jr(||j|j�7}n|d7}||j|jdt�7}|jr�||j�d7}||j|jdt�7}n|S(Nsif (s)
t
add_indentselse
(RuRRhRvRJRwR(RRRH((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_If�s	
	cCs�d}|jr(||j|j�7}n|d7}|jrX|d|j|j�7}n|d7}|jr�|d|j|j�7}n|d7}||j|jdt�7}|S(Nsfor (RlRs)
Ry(RFRRutnextRhRiRJ(RRRH((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt	visit_For�s	
	
	
cCsRd}|jr(||j|j�7}n|d7}||j|jdt�7}|S(Nswhile (s)
Ry(RuRRhRiRJ(RRRH((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_While�s	
cCsfd}||j|jdt�7}||j�d7}|jrX||j|j�7}n|d7}|S(Nsdo
Ryswhile (s);(RhRiRJRRuR(RRRH((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt
visit_DoWhile�s	
cCs:d|j|j�d}||j|jdt�7}|S(Nsswitch (s)
Ry(RRuRhRiRJ(RRRH((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_Switch�scCsKd|j|j�d}x*|jD]}||j|dt�7}q$W|S(Nscase s:
Ry(RR+tstmtsRhRJ(RRRHRi((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt
visit_Case�scCs7d}x*|jD]}||j|dt�7}qW|S(Ns	default:
Ry(R�RhRJ(RRRHRi((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt
visit_Default�scCs|jd|j|j�S(Ns:
(RRhRi(RR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_Label�scCsd|jdS(Nsgoto Rl(R(RR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt
visit_Goto�scCsdS(Ns...((RR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_EllipsisParam�scCs|j|d�S(Ntstruct(t_generate_struct_union(RR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_StructscCs|j|j�S(N(RPR!(RR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_TypenamescCs|j|d�S(Ntunion(R�(RR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_UnionscCs�d}xa|jD]V}t|tj�r<|d|j7}qt|tj�r|d|jd7}qqW|d|j|j�7}|S(NRt.RRs = (RR8RtIDtConstantRRR+(RRRHR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_NamedInitializerscCs
|j|�S(N(RP(RR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pytvisit_FuncDeclscCs�|d|jpd}|jr�|d7}||j�7}|jd7_|d7}x$|jD]}||j|�7}q]W|jd8_||j�d7}n|S(se Generates code for structs and unions. name should be either
            'struct' or union.
        RRs
is{
R@(RRLRRRh(RRRRHRK((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyR�s	

cCs�t|�}|r$|jd7_n|j�}|rH|jd8_n|tjtjtjtjtjtj	tj
tjtjtj
tjtjtjf
kr�||j|�dS|tjfkr�|j|�S||j|�dSdS(s� Generation from a statement node. This method exists as a wrapper
            for individual visit_* methods to handle different treatment of
            some statements in this context.
        is;
s
N(R!RRRtDeclR9tCasttUnaryOptBinaryOpt	TernaryOptFuncCalltArrayReft	StructRefR�R�tTypedefRBRtCompound(RRRyttyptindent((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyRh(s
cCshd}|jr(dj|j�d}n|jrN|dj|j�d7}n||j|j�7}|S(s& Generation from a Decl node.
        RR(tfuncspecRRORPR!(RRRH((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyRDDs		cCsrt|�}|tjkr�d}|jrG|dj|j�d7}n||j|j�7}|jro|jnd}x5t|�D]'\}}t|tj	�r�|dkr�t||dtj
�r�d|d}n|d|j|j�d7}q�t|tj�rb|dkrAt||dtj
�rAd|d}n|d|j|j
�d7}q�t|tj
�r�|jr�d	dj|j�|f}q�d
|}q�q�W|r�|d|7}n|S|tjkr�|j|j�S|tjkr|j|j�S|tjkr)dj|j�dS|tj	tj
tjfkra|j|j||g�S|j|�SdS(s� Recursive generation from a type node. n is the type node.
            modifiers collects the PtrDecl, ArrayDecl and FuncDecl modifiers
            encountered on the way down to a TypeDecl, to allow proper
            generation from it.
        RRiiR%R&RRs* %s %st*N(R!RtTypeDecltqualsRRtdeclnameR[R8t	ArrayDecltPtrDecltdimtFuncDeclR'R�RDtTypenameRPtIdentifierTypeR=(RRt	modifiersR�RHtnstrR]tmodifier((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyRPMs@	&!&!	cCs/|j|�}||�r'd|dS|SdS(s� Visits 'n' and returns its string representation, parenthesized
            if the condition function applied to the node returns True.
        R%R&N(RC(RRt	conditionRH((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyR2{scs�j|�fd��S(s. Common use case for _parenthesize_if
        cs�j|�S(N(R/(R0(R(s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyR1�s(R2(RR((Rs9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyR�scCs+t|tjtjtjtjtjf�S(s~ Returns True for nodes that are "simple" - i.e. nodes that always
            have higher precedence than operators.
        (R8RR�R�R�R�R�(RR((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyR/�s(8R	t
__module__t__doc__RRRRRRR R$R)R.R7R<R>RCtFalseRIRNRQRSRWRXR_RdRgRkRmRpRrRsRtRxRzR|R}R~RR�R�R�R�R�R�R�R�R�R�R�RhRDRPR2RR/(((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyRsj										
				
							
											
													
				.	
	N(RRtobjectR(((s9/usr/lib/python2.7/site-packages/pycparser/c_generator.pyt<module>	s

Anon7 - 2022
AnonSec Team