Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib/python3.5/site-packages/pycparser/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib/python3.5/site-packages/pycparser/__pycache__/c_ast.cpython-35.opt-1.pyc



J�]([�@s0ddlZGdd�de�ZGdd�de�ZGdd�de�ZGdd	�d	e�ZGd
d�de�ZGdd
�d
e�ZGdd�de�ZGdd�de�Z	Gdd�de�Z
Gdd�de�ZGdd�de�ZGdd�de�Z
Gdd�de�ZGdd�de�ZGdd�de�ZGd d!�d!e�ZGd"d#�d#e�ZGd$d%�d%e�ZGd&d'�d'e�ZGd(d)�d)e�ZGd*d+�d+e�ZGd,d-�d-e�ZGd.d/�d/e�ZGd0d1�d1e�ZGd2d3�d3e�ZGd4d5�d5e�ZGd6d7�d7e�ZGd8d9�d9e�ZGd:d;�d;e�ZGd<d=�d=e�ZGd>d?�d?e�Z Gd@dA�dAe�Z!GdBdC�dCe�Z"GdDdE�dEe�Z#GdFdG�dGe�Z$GdHdI�dIe�Z%GdJdK�dKe�Z&GdLdM�dMe�Z'GdNdO�dOe�Z(GdPdQ�dQe�Z)GdRdS�dSe�Z*GdTdU�dUe�Z+GdVdW�dWe�Z,GdXdY�dYe�Z-GdZd[�d[e�Z.Gd\d]�d]e�Z/Gd^d_�d_e�Z0Gd`da�dae�Z1dS)b�Nc@sCeZdZfZdd�Zejddddddd�ZdS)�NodecCsdS)z3 A sequence of all children that are Nodes
        N�)�selfrr�@/opt/alt/python35/lib/python3.5/site-packages/pycparser/c_ast.py�childrensz
Node.childrenrFNc

scd|}|rB|dk	rB|j|�jjd|d�n|j|�jjd��jr�|r��fdd��jD�}djd	d
�|D��}	n8�fdd��jD�}
djdd
�|
D��}	|j|	�|r|jd
�j�|jd�xI�j�D];\}}|j|d|dd|d|d|d|�q WdS)a� Pretty print the Node and all its attributes and
            children (recursively) to a buffer.

            buf:
                Open IO buffer into which the Node is printed.

            offset:
                Initial offset (amount of leading spaces)

            attrnames:
                True if you want to see the attribute names in
                name=value pairs. False to only see the values.

            nodenames:
                True if you want to see the actual node names
                within their parents.

            showcoord:
                Do you want the coordinates of each Node to be
                displayed.
        � Nz <z>: z: cs%g|]}|t�|�f�qSr)�getattr)�.0�n)rrr�
<listcomp>=s	zNode.show.<locals>.<listcomp>z, css|]}d|VqdS)z%s=%sNr)r	Znvrrr�	<genexpr>>szNode.show.<locals>.<genexpr>csg|]}t�|��qSr)r)r	r
)rrrr@s	css|]}d|VqdS)z%sNr)r	�vrrrrAsz (at %s)�
�offset��	attrnames�	nodenames�	showcoord�
_my_node_name)�write�	__class__�__name__�
attr_names�join�coordr�show)
rZbufrrrrrZleadZnvlistZattrstrZvlistZ
child_name�childr)rrrs,
&	


z	Node.show)r�
__module__�__qualname__�	__slots__r�sys�stdoutrrrrrrsrc@s.eZdZdZdd�Zdd�ZdS)�NodeVisitora- A base NodeVisitor class for visiting c_ast nodes.
        Subclass it and define your own visit_XXX methods, where
        XXX is the class name you want to visit with these
        methods.

        For example:

        class ConstantVisitor(NodeVisitor):
            def __init__(self):
                self.values = []

            def visit_Constant(self, node):
                self.values.append(node.value)

        Creates a list of values of all the constant nodes
        encountered below the given node. To use it:

        cv = ConstantVisitor()
        cv.visit(node)

        Notes:

        *   generic_visit() will be called for AST nodes for which
            no visit_XXX method was defined.
        *   The children of nodes for which a visit_XXX was
            defined will not be visited - if you need this, call
            generic_visit() on the node.
            You can use:
                NodeVisitor.generic_visit(self, node)
        *   Modeled after Python's own AST visiting facilities
            (the ast module of Python 3.0)
    cCs/d|jj}t|||j�}||�S)z Visit a node.
        Zvisit_)rrr�
generic_visit)r�node�methodZvisitorrrr�visitsszNodeVisitor.visitcCs.x'|j�D]\}}|j|�q
WdS)zy Called if no explicit visitor function exists for a
            node. Implements preorder visiting of the node.
        N)rr&)rr$Zc_name�crrrr#zszNodeVisitor.generic_visitN)rrr�__doc__r&r#rrrrr"Rs r"c@s7eZdZdZddd�Zd	d
�ZdZdS)
�	ArrayDecl�type�dim�	dim_qualsr�__weakref__NcCs(||_||_||_||_dS)N)r*r+r,r)rr*r+r,rrrr�__init__�s			zArrayDecl.__init__cCsZg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�t|�S)Nr*r+)r*�appendr+�tuple)r�nodelistrrrr�szArrayDecl.children)r*r+r,rr-)r,)rrrrr.rrrrrrr)�sr)c@s7eZdZd
Zddd�Zdd	�ZfZdS)�ArrayRef�name�	subscriptrr-NcCs||_||_||_dS)N)r3r4r)rr3r4rrrrr.�s		zArrayRef.__init__cCsZg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�t|�S)Nr3r4)r3r/r4r0)rr1rrrr�szArrayRef.children)r3r4rr-)rrrrr.rrrrrrr2�sr2c@s7eZdZdZddd�Zd	d
�ZdZdS)
�
Assignment�op�lvalue�rvaluerr-NcCs(||_||_||_||_dS)N)r6r7r8r)rr6r7r8rrrrr.�s			zAssignment.__init__cCsZg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�t|�S)Nr7r8)r7r/r8r0)rr1rrrr�szAssignment.children)r6r7r8rr-)r6)rrrrr.rrrrrrr5�sr5c@s7eZdZdZddd�Zd	d
�ZdZdS)
�BinaryOpr6�left�rightrr-NcCs(||_||_||_||_dS)N)r6r:r;r)rr6r:r;rrrrr.�s			zBinaryOp.__init__cCsZg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�t|�S)Nr:r;)r:r/r;r0)rr1rrrr�szBinaryOp.children)r6r:r;rr-)r6)rrrrr.rrrrrrr9�sr9c@s7eZdZdZddd�Zdd�ZfZdS)	�Breakrr-NcCs
||_dS)N)r)rrrrrr.�szBreak.__init__cCsfS)Nr)rrrrr�szBreak.children)rr-)rrrrr.rrrrrrr<�sr<c@s7eZdZd
Zddd�Zdd	�ZfZdS)�Case�expr�stmtsrr-NcCs||_||_||_dS)N)r>r?r)rr>r?rrrrr.�s		z
Case.__init__cCsrg}|jdk	r+|jd|jf�x:t|jp=g�D]#\}}|jd||f�qAWt|�S)Nr>z	stmts[%d])r>r/�	enumerater?r0)rr1�irrrrr�s"z
Case.children)r>r?rr-)rrrrr.rrrrrrr=�sr=c@s7eZdZd
Zddd�Zdd	�ZfZdS)�Cast�to_typer>rr-NcCs||_||_||_dS)N)rCr>r)rrCr>rrrrr.�s		z
Cast.__init__cCsZg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�t|�S)NrCr>)rCr/r>r0)rr1rrrr�sz
Cast.children)rCr>rr-)rrrrr.rrrrrrrB�srBc@s7eZdZd	Zddd�Zdd�ZfZdS)
�Compound�block_itemsrr-NcCs||_||_dS)N)rEr)rrErrrrr.�s	zCompound.__init__cCsMg}x:t|jpg�D]#\}}|jd||f�qWt|�S)Nzblock_items[%d])r@rEr/r0)rr1rArrrrr�s"zCompound.children)rErr-)rrrrr.rrrrrrrD�srDc@s7eZdZd
Zddd�Zdd	�ZfZdS)�CompoundLiteralr*�initrr-NcCs||_||_||_dS)N)r*rGr)rr*rGrrrrr.�s		zCompoundLiteral.__init__cCsZg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�t|�S)Nr*rG)r*r/rGr0)rr1rrrr�szCompoundLiteral.children)r*rGrr-)rrrrr.rrrrrrrF�srFc@s7eZdZd
Zddd�Zdd	�ZdZdS)�Constantr*�valuerr-NcCs||_||_||_dS)N)r*rIr)rr*rIrrrrr.	s		zConstant.__init__cCsg}t|�S)N)r0)rr1rrrrszConstant.children)r*rIrr-)r*rI)rrrrr.rrrrrrrHsrHc@s7eZdZdZddd�Zdd�ZfZdS)	�Continuerr-NcCs
||_dS)N)r)rrrrrr.szContinue.__init__cCsfS)Nr)rrrrrszContinue.children)rr-)rrrrr.rrrrrrrJsrJc	@s7eZdZdZd
dd�Zd
d�ZdZd
S)�Declr3�quals�storage�funcspecr*rG�bitsizerr-Nc		CsL||_||_||_||_||_||_||_||_dS)N)r3rLrMrNr*rGrOr)	rr3rLrMrNr*rGrOrrrrr. s							z
Decl.__init__cCsg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�|jdk	ru|jd|jf�t|�S)Nr*rGrO)r*r/rGrOr0)rr1rrrr*sz
Decl.children)	r3rLrMrNr*rGrOrr-)r3rLrMrN)rrrrr.rrrrrrrKs
rKc@s7eZdZd	Zddd�Zdd�ZfZdS)
�DeclList�declsrr-NcCs||_||_dS)N)rQr)rrQrrrrr.5s	zDeclList.__init__cCsMg}x:t|jpg�D]#\}}|jd||f�qWt|�S)Nz	decls[%d])r@rQr/r0)rr1rArrrrr9s"zDeclList.children)rQrr-)rrrrr.rrrrrrrP3srPc@s7eZdZd	Zddd�Zdd�ZfZdS)
�Defaultr?rr-NcCs||_||_dS)N)r?r)rr?rrrrr.Cs	zDefault.__init__cCsMg}x:t|jpg�D]#\}}|jd||f�qWt|�S)Nz	stmts[%d])r@r?r/r0)rr1rArrrrrGs"zDefault.children)r?rr-)rrrrr.rrrrrrrRAsrRc@s7eZdZd
Zddd�Zdd	�ZfZdS)�DoWhile�cond�stmtrr-NcCs||_||_||_dS)N)rTrUr)rrTrUrrrrr.Qs		zDoWhile.__init__cCsZg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�t|�S)NrTrU)rTr/rUr0)rr1rrrrVszDoWhile.children)rTrUrr-)rrrrr.rrrrrrrSOsrSc@s7eZdZdZddd�Zdd�ZfZdS)	�
EllipsisParamrr-NcCs
||_dS)N)r)rrrrrr.`szEllipsisParam.__init__cCsfS)Nr)rrrrrcszEllipsisParam.children)rr-)rrrrr.rrrrrrrV^srVc@s7eZdZdZddd�Zdd�ZfZdS)	�EmptyStatementrr-NcCs
||_dS)N)r)rrrrrr.jszEmptyStatement.__init__cCsfS)Nr)rrrrrmszEmptyStatement.children)rr-)rrrrr.rrrrrrrWhsrWc@s7eZdZd
Zddd�Zdd	�ZdZdS)�Enumr3�valuesrr-NcCs||_||_||_dS)N)r3rYr)rr3rYrrrrr.ts		z
Enum.__init__cCs5g}|jdk	r+|jd|jf�t|�S)NrY)rYr/r0)rr1rrrrysz
Enum.children)r3rYrr-)r3)rrrrr.rrrrrrrXrsrXc@s7eZdZd
Zddd�Zdd	�ZdZdS)�
Enumeratorr3rIrr-NcCs||_||_||_dS)N)r3rIr)rr3rIrrrrr.�s		zEnumerator.__init__cCs5g}|jdk	r+|jd|jf�t|�S)NrI)rIr/r0)rr1rrrr�szEnumerator.children)r3rIrr-)r3)rrrrr.rrrrrrrZ�srZc@s7eZdZd	Zddd�Zdd�ZfZdS)
�EnumeratorList�enumeratorsrr-NcCs||_||_dS)N)r\r)rr\rrrrr.�s	zEnumeratorList.__init__cCsMg}x:t|jpg�D]#\}}|jd||f�qWt|�S)Nzenumerators[%d])r@r\r/r0)rr1rArrrrr�s"zEnumeratorList.children)r\rr-)rrrrr.rrrrrrr[�sr[c@s7eZdZd	Zddd�Zdd�ZfZdS)
�ExprList�exprsrr-NcCs||_||_dS)N)r^r)rr^rrrrr.�s	zExprList.__init__cCsMg}x:t|jpg�D]#\}}|jd||f�qWt|�S)Nz	exprs[%d])r@r^r/r0)rr1rArrrrr�s"zExprList.children)r^rr-)rrrrr.rrrrrrr]�sr]c@s7eZdZd	Zddd�Zdd�ZfZdS)
�FileAST�extrr-NcCs||_||_dS)N)r`r)rr`rrrrr.�s	zFileAST.__init__cCsMg}x:t|jpg�D]#\}}|jd||f�qWt|�S)Nzext[%d])r@r`r/r0)rr1rArrrrr�s"zFileAST.children)r`rr-)rrrrr.rrrrrrr_�sr_c@s7eZdZdZddd	�Zd
d�ZfZdS)
�ForrGrT�nextrUrr-NcCs1||_||_||_||_||_dS)N)rGrTrbrUr)rrGrTrbrUrrrrr.�s
				zFor.__init__cCs�g}|jdk	r+|jd|jf�|jdk	rP|jd|jf�|jdk	ru|jd|jf�|jdk	r�|jd|jf�t|�S)NrGrTrbrU)rGr/rTrbrUr0)rr1rrrr�szFor.children)rGrTrbrUrr-)rrrrr.rrrrrrra�srac@s7eZdZd
Zddd�Zdd	�ZfZdS)�FuncCallr3�argsrr-NcCs||_||_||_dS)N)r3rdr)rr3rdrrrrr.�s		zFuncCall.__init__cCsZg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�t|�S)Nr3rd)r3r/rdr0)rr1rrrr�szFuncCall.children)r3rdrr-)rrrrr.rrrrrrrc�srcc@s7eZdZd
Zddd�Zdd	�ZfZdS)�FuncDeclrdr*rr-NcCs||_||_||_dS)N)rdr*r)rrdr*rrrrr.�s		zFuncDecl.__init__cCsZg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�t|�S)Nrdr*)rdr/r*r0)rr1rrrr�szFuncDecl.children)rdr*rr-)rrrrr.rrrrrrre�srec@s7eZdZdZddd�Zd	d
�ZfZdS)�FuncDef�decl�param_decls�bodyrr-NcCs(||_||_||_||_dS)N)rgrhrir)rrgrhrirrrrr.�s			zFuncDef.__init__cCs�g}|jdk	r+|jd|jf�|jdk	rP|jd|jf�x:t|jpbg�D]#\}}|jd||f�qfWt|�S)Nrgrizparam_decls[%d])rgr/rir@rhr0)rr1rArrrrr�s"zFuncDef.children)rgrhrirr-)rrrrr.rrrrrrrf�srfc@s7eZdZd	Zddd�Zdd�Zd
ZdS)�Gotor3rr-NcCs||_||_dS)N)r3r)rr3rrrrr.�s	z
Goto.__init__cCsg}t|�S)N)r0)rr1rrrrsz
Goto.children)r3rr-)r3)rrrrr.rrrrrrrj�srjc@s7eZdZd	Zddd�Zdd�Zd
ZdS)�IDr3rr-NcCs||_||_dS)N)r3r)rr3rrrrr.	s	zID.__init__cCsg}t|�S)N)r0)rr1rrrr
szID.children)r3rr-)r3)rrrrr.rrrrrrrksrkc@s7eZdZd	Zddd�Zdd�Zd
ZdS)�IdentifierType�namesrr-NcCs||_||_dS)N)rmr)rrmrrrrr.s	zIdentifierType.__init__cCsg}t|�S)N)r0)rr1rrrrszIdentifierType.children)rmrr-)rm)rrrrr.rrrrrrrlsrlc@s7eZdZdZddd�Zd	d
�ZfZdS)�IfrT�iftrue�iffalserr-NcCs(||_||_||_||_dS)N)rTrorpr)rrTrorprrrrr.!s			zIf.__init__cCsg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�|jdk	ru|jd|jf�t|�S)NrTrorp)rTr/rorpr0)rr1rrrr'szIf.children)rTrorprr-)rrrrr.rrrrrrrnsrnc@s7eZdZd	Zddd�Zdd�ZfZdS)
�InitListr^rr-NcCs||_||_dS)N)r^r)rr^rrrrr.2s	zInitList.__init__cCsMg}x:t|jpg�D]#\}}|jd||f�qWt|�S)Nz	exprs[%d])r@r^r/r0)rr1rArrrrr6s"zInitList.children)r^rr-)rrrrr.rrrrrrrq0srqc@s7eZdZd
Zddd�Zdd	�ZdZdS)�Labelr3rUrr-NcCs||_||_||_dS)N)r3rUr)rr3rUrrrrr.@s		zLabel.__init__cCs5g}|jdk	r+|jd|jf�t|�S)NrU)rUr/r0)rr1rrrrEszLabel.children)r3rUrr-)r3)rrrrr.rrrrrrrr>srrc@s7eZdZd
Zddd�Zdd	�ZfZdS)�NamedInitializerr3r>rr-NcCs||_||_||_dS)N)r3r>r)rr3r>rrrrr.Ns		zNamedInitializer.__init__cCsrg}|jdk	r+|jd|jf�x:t|jp=g�D]#\}}|jd||f�qAWt|�S)Nr>zname[%d])r>r/r@r3r0)rr1rArrrrrSs"zNamedInitializer.children)r3r>rr-)rrrrr.rrrrrrrsLsrsc@s7eZdZd	Zddd�Zdd�ZfZdS)
�	ParamList�paramsrr-NcCs||_||_dS)N)rur)rrurrrrr.^s	zParamList.__init__cCsMg}x:t|jpg�D]#\}}|jd||f�qWt|�S)Nz
params[%d])r@rur/r0)rr1rArrrrrbs"zParamList.children)rurr-)rrrrr.rrrrrrrt\srtc@s7eZdZd
Zddd�Zdd	�ZdZdS)�PtrDeclrLr*rr-NcCs||_||_||_dS)N)rLr*r)rrLr*rrrrr.ls		zPtrDecl.__init__cCs5g}|jdk	r+|jd|jf�t|�S)Nr*)r*r/r0)rr1rrrrqszPtrDecl.children)rLr*rr-)rL)rrrrr.rrrrrrrvjsrvc@s7eZdZd	Zddd�Zdd�ZfZdS)
�Returnr>rr-NcCs||_||_dS)N)r>r)rr>rrrrr.zs	zReturn.__init__cCs5g}|jdk	r+|jd|jf�t|�S)Nr>)r>r/r0)rr1rrrr~szReturn.children)r>rr-)rrrrr.rrrrrrrwxsrwc@s7eZdZd
Zddd�Zdd	�ZdZdS)�Structr3rQrr-NcCs||_||_||_dS)N)r3rQr)rr3rQrrrrr.�s		zStruct.__init__cCsMg}x:t|jpg�D]#\}}|jd||f�qWt|�S)Nz	decls[%d])r@rQr/r0)rr1rArrrrr�s"zStruct.children)r3rQrr-)r3)rrrrr.rrrrrrrx�srxc@s7eZdZdZddd�Zd	d
�ZdZdS)
�	StructRefr3r*�fieldrr-NcCs(||_||_||_||_dS)N)r3r*rzr)rr3r*rzrrrrr.�s			zStructRef.__init__cCsZg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�t|�S)Nr3rz)r3r/rzr0)rr1rrrr�szStructRef.children)r3r*rzrr-)r*)rrrrr.rrrrrrry�sryc@s7eZdZd
Zddd�Zdd	�ZfZdS)�SwitchrTrUrr-NcCs||_||_||_dS)N)rTrUr)rrTrUrrrrr.�s		zSwitch.__init__cCsZg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�t|�S)NrTrU)rTr/rUr0)rr1rrrr�szSwitch.children)rTrUrr-)rrrrr.rrrrrrr{�sr{c@s7eZdZdZddd�Zd	d
�ZfZdS)�	TernaryOprTrorprr-NcCs(||_||_||_||_dS)N)rTrorpr)rrTrorprrrrr.�s			zTernaryOp.__init__cCsg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�|jdk	ru|jd|jf�t|�S)NrTrorp)rTr/rorpr0)rr1rrrr�szTernaryOp.children)rTrorprr-)rrrrr.rrrrrrr|�sr|c@s7eZdZdZddd�Zd	d
�ZdZdS)
�TypeDecl�declnamerLr*rr-NcCs(||_||_||_||_dS)N)r~rLr*r)rr~rLr*rrrrr.�s			zTypeDecl.__init__cCs5g}|jdk	r+|jd|jf�t|�S)Nr*)r*r/r0)rr1rrrr�szTypeDecl.children)r~rLr*rr-)r~rL)rrrrr.rrrrrrr}�sr}c@s7eZdZdZddd	�Zd
d�Zd
ZdS)�Typedefr3rLrMr*rr-NcCs1||_||_||_||_||_dS)N)r3rLrMr*r)rr3rLrMr*rrrrr.�s
				zTypedef.__init__cCs5g}|jdk	r+|jd|jf�t|�S)Nr*)r*r/r0)rr1rrrr�szTypedef.children)r3rLrMr*rr-)r3rLrM)rrrrr.rrrrrrr�src@s7eZdZdZddd�Zd	d
�ZdZdS)
�Typenamer3rLr*rr-NcCs(||_||_||_||_dS)N)r3rLr*r)rr3rLr*rrrrr.�s			zTypename.__init__cCs5g}|jdk	r+|jd|jf�t|�S)Nr*)r*r/r0)rr1rrrr�szTypename.children)r3rLr*rr-)r3rL)rrrrr.rrrrrrr��sr�c@s7eZdZd
Zddd�Zdd	�ZdZdS)�UnaryOpr6r>rr-NcCs||_||_||_dS)N)r6r>r)rr6r>rrrrr.�s		zUnaryOp.__init__cCs5g}|jdk	r+|jd|jf�t|�S)Nr>)r>r/r0)rr1rrrr�szUnaryOp.children)r6r>rr-)r6)rrrrr.rrrrrrr��sr�c@s7eZdZd
Zddd�Zdd	�ZdZdS)�Unionr3rQrr-NcCs||_||_||_dS)N)r3rQr)rr3rQrrrrr.s		zUnion.__init__cCsMg}x:t|jpg�D]#\}}|jd||f�qWt|�S)Nz	decls[%d])r@rQr/r0)rr1rArrrrrs"zUnion.children)r3rQrr-)r3)rrrrr.rrrrrrr�sr�c@s7eZdZd
Zddd�Zdd	�ZfZdS)�WhilerTrUrr-NcCs||_||_||_dS)N)rTrUr)rrTrUrrrrr.s		zWhile.__init__cCsZg}|jdk	r+|jd|jf�|jdk	rP|jd|jf�t|�S)NrTrU)rTr/rUr0)rr1rrrrszWhile.children)rTrUrr-)rrrrr.rrrrrrr�sr�)2r �objectrr"r)r2r5r9r<r=rBrDrFrHrJrKrPrRrSrVrWrXrZr[r]r_rarcrerfrjrkrlrnrqrrrsrtrvrwrxryr{r|r}rr�r�r�r�rrrr�<module>s`<0