https://t.me/AnonymousX5
Server : Apache
System : Linux cvar2.toservers.com 3.10.0-962.3.2.lve1.5.73.el7.x86_64 #1 SMP Wed Aug 24 21:31:23 UTC 2022 x86_64
User : njnconst ( 1116)
PHP Version : 8.4.18
Disable Function : NONE
Directory :  /proc/self/root/lib/python2.7/site-packages/pycparser/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/lib/python2.7/site-packages/pycparser/c_parser.pyc
�
�;�[c@s�ddlZddlmZddlmZddlmZddlmZm	Z	m
Z
mZmZddl
mZedefd	��Y�ZdS(
i����Ni(tyacc(tc_ast(tCLexer(t	PLYParsertCoordt
ParseErrort
parameterizedttemplate(tfix_switch_casestCParserc
BsqeZeedededd�Zddd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zd�Zd�Zd�Zd�Zed�Zed�Zd�Zd�Zd�d�d�d�d�d�d�d�d�d�f
Zd)�Zd*�Zd+�Zd,�Zd-�Zd.�Zd/�Zd0�Zd1�Z d2�Z!d3�Z"d4�Z#d5�Z$d6�Z%d7�Z&d8�Z'd9�Z(d:�Z)d;�Z*d<�Z+d=�Z,d>�Z-d?�Z.d@�Z/dA�Z0dB�Z1dC�Z2dD�Z3dE�Z4dF�Z5dG�Z6dH�Z7dI�Z8dJ�Z9dK�Z:dL�Z;dM�Z<dN�Z=dO�Z>dP�Z?dQ�Z@dR�ZAdS�ZBdT�ZCdU�ZDdV�ZEdW�ZFdX�ZGdY�ZHdZ�ZId[�ZJd\�ZKd]�ZLd^�ZMd_�ZNeOd�d�d��de��ZPeOd�d�d��df��ZQeOd�d�d��dg��ZReOd�d��dh��ZSeOd�d�d��di��ZTeOd�d�d��dj��ZUeOd�d�d��dk��ZVeOd�d�d��dl��ZWdm�ZXdn�ZYdo�ZZdp�Z[dq�Z\dr�Z]ds�Z^dt�Z_du�Z`dv�Zadw�Zbdx�Zcdy�Zddz�Zed{�Zfd|�Zgd}�Zhd~�Zid�Zjd��Zkd��Zld��Zmd��Znd��Zod��Zpd��Zqd��Zrd��Zsd��Ztd��Zud��Zvd��Zwd��Zxd��Zyd��Zzd��Z{d��Z|d��Z}d��Z~d��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��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��Z�d��Z�d��Z�d��Z�d��Z�d��Z�RS(�spycparser.lextabspycparser.yacctabtc
Cs�|d|jd|jd|jd|j�|_|jjd|d|d|�|jj|_dd	d
ddd
ddddddddg}x|D]}	|j|	�q�Wtjd|ddd|d|d|d|�|_	t
�g|_d|_
dS(s Create a new CParser.

            Some arguments for controlling the debug/optimization
            level of the parser are provided. The defaults are
            tuned for release/performance mode.
            The simple rules for using them are:
            *) When tweaking CParser/CLexer, set these to False
            *) When releasing a stable parser, set to True

            lex_optimize:
                Set to False when you're modifying the lexer.
                Otherwise, changes in the lexer won't be used, if
                some lextab.py file exists.
                When releasing with a stable lexer, set to True
                to save the re-generation of the lexer table on
                each run.

            lexer:
                Set this parameter to define the lexer to use if
                you're not using the default CLexer.

            lextab:
                Points to the lex table that's used for optimized
                mode. Only if you're modifying the lexer and want
                some tests to avoid re-generating the table, make
                this point to a local lex table file (that's been
                earlier generated with lex_optimize=True)

            yacc_optimize:
                Set to False when you're modifying the parser.
                Otherwise, changes in the parser won't be used, if
                some parsetab.py file exists.
                When releasing with a stable parser, set to True
                to save the re-generation of the parser table on
                each run.

            yacctab:
                Points to the yacc table that's used for optimized
                mode. Only if you're modifying the parser, make
                this point to a local yacc table file

            yacc_debug:
                Generate a parser.out file that explains how yacc
                built the parsing table from the grammar.

            taboutputdir:
                Set this parameter to control the location of generated
                lextab and yacctab files.
        t
error_functon_lbrace_functon_rbrace_functtype_lookup_functoptimizetlextabt	outputdirtabstract_declaratortassignment_expressiontdeclaration_listtdeclaration_specifiers_no_typetdesignationt
expressiontidentifier_listtinit_declarator_listtid_init_declarator_listtinitializer_listtparameter_type_listtblock_item_listttype_qualifier_listtstruct_declarator_listtmoduletstartttranslation_unit_or_emptytdebugt	tabmoduleN(t_lex_error_funct_lex_on_lbrace_funct_lex_on_rbrace_funct_lex_type_lookup_functclextbuildttokenst_create_opt_ruleRtcparsertdictt_scope_stacktNonet_last_yielded_token(
tselftlex_optimizetlexerRt
yacc_optimizetyacctabt
yacc_debugttaboutputdirtrules_with_opttrule((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt__init__sF:				
	
icCsS||j_|jj�t�g|_d|_|jjd|d|jd|�S(s& Parses C code and returns an AST.

            text:
                A string containing the C source code

            filename:
                Name of the file being parsed (for meaningful
                error messages)

            debuglevel:
                Debug level to yacc
        tinputR4R#N(	R)tfilenametreset_linenoR.R/R0R1R-tparse(R2ttextR=t
debuglevel((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyR?�s

		cCs|jjt��dS(N(R/tappendR.(R2((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt_push_scope�scCs,t|j�dkst�|jj�dS(Ni(tlenR/tAssertionErrortpop(R2((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt
_pop_scope�scCsE|jdj|t�s0|jd||�nt|jd|<dS(sC Add a new typedef name (ie a TYPEID) to the current scope
        i����s;Typedef %r previously declared as non-typedef in this scopeN(R/tgettTruet_parse_error(R2tnametcoord((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt_add_typedef_name�s
cCsE|jdj|t�r0|jd||�nt|jd|<dS(se Add a new object, function, or enum member name (ie an ID) to the
            current scope
        i����s;Non-typedef %r previously declared as typedef in this scopeN(R/RHtFalseRJ(R2RKRL((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt_add_identifier�s
cCs=x6t|j�D]%}|j|�}|dk	r|SqWtS(s8 Is *name* a typedef-name in the current scope?
        N(treversedR/RHR0RN(R2RKtscopetin_scope((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt_is_type_in_scope�s
cCs |j||j||��dS(N(RJt_coord(R2tmsgtlinetcolumn((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyR%�scCs|j�dS(N(RC(R2((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyR&�scCs|j�dS(N(RG(R2((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyR'�scCs|j|�}|S(s� Looks up types that were previously defined with
            typedef.
            Passed to the lexer for recognizing identifiers that
            are types.
        (RS(R2RKtis_type((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyR(�scCs
|jjS(s� We need access to yacc's lookahead token in certain cases.
            This is the last token yacc requested from the lexer, so we
            ask the lexer.
        (R)t
last_token(R2((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt_get_yacc_lookahead_token�scCs�|}|}x|jr$|j}qWt|tj�rD||_|S|}x"t|jtj�sn|j}qMW|j|_||_|SdS(s� Tacks a type modifier on a declarator, and returns
            the modified declarator.

            Note: the declarator and modifier may be modified
        N(ttypet
isinstanceRtTypeDecl(R2tdecltmodifiert
modifier_headt
modifier_tailt	decl_tail((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt_type_modify_decl�s
	
	cCs3|}xt|tj�s'|j}q	W|j|_|j|_xX|D]P}t|tj�sGt|�dkr�|j	d|j
�q�||_|SqGqGW|s�t|jtj�s�|j	d|j
�ntjdgd|j
�|_nBtjg|D]}|jD]}|^qq�d|dj
�|_|S(s- Fixes a declaration. Modifies decl.
        is Invalid multiple types specifiedsMissing type in declarationtintRLi(
R\RR]R[tdeclnameRKtqualstIdentifierTypeRDRJRLtFuncDecltnames(R2R^ttypenameR[ttntidRK((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt_fix_decl_name_type2s.

		)c
CsY|p$tdgdgdgdg�}|rA||j|�n||jd|�|S(s� Declaration specifiers are represented by a dictionary
            with the entries:
            * qual: a list of type qualifiers
            * storage: a list of storage type qualifiers
            * type: a list of type specifiers
            * function: a list of function specifiers

            This method is given a declaration specifier, and a
            new specifier of a given kind.
            If `append` is True, the new specifier is added to the end of
            the specifiers list, otherwise it's added at the beginning.
            Returns the declaration specifier, with the new
            specifier incorporated.
        tqualtstorageR[tfunctioni(R.RBtinsert(R2tdeclspectnewspectkindRBtspec((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt_add_declaration_specifier_s
'cCs+d|dk}g}|djd�dk	r2n�|dddkr6t|d�dks�t|ddj�d	ks�|j|ddjd�r�d
}x.|dD]"}t|d�r�|j}Pq�q�W|jd|�ntj	d
|ddjdddddd|ddj�|dd<|dd=n�t
|ddtjtjtj
f�s�|dd}xt
|tj	�s�|j}qpW|jdkr�|ddjd|_|dd=q�nx]|D]U}	|	ddk	s�t�|r0tjddd|dd|dd|	dd|	dj�}
netjddd|dd|dd|dd|	dd|	jd�d|	jd�d|	dj�}
t
|
jtjtjtj
f�r�|
}n|j|
|d�}|r|r�|j|j|j�q|j|j|j�n|j|�q�W|S(s� Builds a list of declarations all sharing the given specifiers.
            If typedef_namespace is true, each declared name is added
            to the "typedef namespace", which also includes objects,
            functions, and enum constants.
        ttypedefRoitbitsizeR^R[ii����it?RLsInvalid declarationReRfRKRntfuncspecRptinitN(RHR0RDRiRSthasattrRLRJRR]R\tStructtUnionRgR[ReREtTypedeftDeclRmRMRKRORB(R2Rutdeclsttypedef_namespacet
is_typedeftdeclarationsRLtttdecls_0_tailR^tdeclarationt
fixed_decl((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt_build_declarationswsn3		

	


	



		c	Csod|dkst�|jd|dtd|dd�gdt�d}tjd|d	|d
|d|j�S(
s' Builds a function definition.
        RwRoRuR�R^R{R�itparam_declstbodyRLN(RER�R.R0RIRtFuncDefRL(R2RuR^R�R�R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt_build_function_definition�s	
	cCs|dkrtjStjSdS(s` Given a token (either STRUCT or UNION), selects the
            appropriate AST class.
        tstructN(RR}R~(R2ttoken((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt_select_struct_union_class�stlefttLORtLANDtORtXORtANDtEQtNEtGTtGEtLTtLEtRSHIFTtLSHIFTtPLUStMINUStTIMEStDIVIDEtMODcCsA|ddkr&tjg�|d<ntj|d�|d<dS(sh translation_unit_or_empty   : translation_unit
                                        | empty
        iiN(R0RtFileAST(R2tp((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_translation_unit_or_emptyscCs|d|d<dS(s4 translation_unit    : external_declaration
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_translation_unit_1
scCs:|ddk	r(|dj|d�n|d|d<dS(sE translation_unit    : translation_unit external_declaration
        iiiN(R0textend(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_translation_unit_2scCs|dg|d<dS(s7 external_declaration    : function_definition
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_external_declaration_1scCs|d|d<dS(s/ external_declaration    : declaration
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_external_declaration_2"scCs|dg|d<dS(si external_declaration    : pp_directive
                                    | pppragma_directive
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_external_declaration_3'scCsd|d<dS(s( external_declaration    : SEMI
        iN(R0(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_external_declaration_4-scCs |jd|j|d��dS(s  pp_directive  : PPHASH
        sDirectives not supported yetiN(RJt_token_coord(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_pp_directive2s	cCsat|�dkr;tj|d|j|d��|d<n"tjd|j|d��|d<dS(sg pppragma_directive      : PPPRAGMA
                                    | PPPRAGMA PPPRAGMASTR
        iiiR
iN(RDRtPragmaR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_pppragma_directive8s)cCsztdgdgdtjdgd|j|d��gdg�}|jd|d	|dd
|dd|d
�|d<dS(sU function_definition : id_declarator declaration_list_opt compound_statement
        RnRoR[RdRLiRpRuR^R�iR�iiN(R.RRgR�R�(R2R�Ru((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_function_definition_1Ds		

c
CsB|d}|jd|d|dd|dd|d�|d	<d
S(sl function_definition : declaration_specifiers id_declarator declaration_list_opt compound_statement
        iRuR^iR�iR�iiN(R�(R2R�Ru((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_function_definition_2Us
	

cCs|d|d<dS(s7 statement   : labeled_statement
                        | expression_statement
                        | compound_statement
                        | selection_statement
                        | iteration_statement
                        | jump_statement
                        | pppragma_directive
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_statement`s	cCsst|dtj�rat|�dkratjd|d|dgd|j|d��|d<n|d|d<dS(sx pragmacomp_or_statement     : pppragma_directive statement
                                        | statement
        iitblock_itemsiRLiN(R\RR�RDtCompoundR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_pragmacomp_or_statement�s
(	cCs|d}|ddkr�|d}tjtjtjf}t|�dkr�t|d|�r�tjddd|dd|dd	|d
d|dddddd
|dj�g}q|j	d|dt
dddd�gdt�}n"|j	d|d|ddt�}||d<dS(s� decl_body : declaration_specifiers init_declarator_list_opt
                      | declaration_specifiers_no_type id_init_declarator_list_opt
        iiR[iRKRfRnRoRzRpR{RxRLRuR�R^R�N(R0RR}R~tEnumRDR\R�RLR�R.RI(R2R�Ruttyts_u_or_eR�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_decl_body�s.

%	



		
	cCs|d|d<dS(s& declaration : decl_body SEMI
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt
p_declaration�scCs6t|�dkr|dn|d|d|d<dS(sj declaration_list    : declaration
                                | declaration_list declaration
        iiiN(RD(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_declaration_list�scCs%|j|d|dd�|d<dS(s] declaration_specifiers_no_type  : type_qualifier declaration_specifiers_no_type_opt
        iiRniN(Rv(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt"p_declaration_specifiers_no_type_1�scCs%|j|d|dd�|d<dS(sf declaration_specifiers_no_type  : storage_class_specifier declaration_specifiers_no_type_opt
        iiRoiN(Rv(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt"p_declaration_specifiers_no_type_2�scCs%|j|d|dd�|d<dS(sa declaration_specifiers_no_type  : function_specifier declaration_specifiers_no_type_opt
        iiRpiN(Rv(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt"p_declaration_specifiers_no_type_3scCs+|j|d|dddt�|d<dS(sI declaration_specifiers  : declaration_specifiers type_qualifier
        iiRnRBiN(RvRI(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_declaration_specifiers_1	scCs+|j|d|dddt�|d<dS(sR declaration_specifiers  : declaration_specifiers storage_class_specifier
        iiRoRBiN(RvRI(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_declaration_specifiers_2scCs+|j|d|dddt�|d<dS(sM declaration_specifiers  : declaration_specifiers function_specifier
        iiRpRBiN(RvRI(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_declaration_specifiers_3scCs+|j|d|dddt�|d<dS(sS declaration_specifiers  : declaration_specifiers type_specifier_no_typeid
        iiR[RBiN(RvRI(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_declaration_specifiers_4scCs!|jd|dd�|d<dS(s2 declaration_specifiers  : type_specifier
        iR[iN(RvR0(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_declaration_specifiers_5scCs+|j|d|dddt�|d<dS(sQ declaration_specifiers  : declaration_specifiers_no_type type_specifier
        iiR[RBiN(RvRI(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_declaration_specifiers_6"scCs|d|d<dS(s� storage_class_specifier : AUTO
                                    | REGISTER
                                    | STATIC
                                    | EXTERN
                                    | TYPEDEF
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_storage_class_specifier(scCs|d|d<dS(s& function_specifier  : INLINE
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_function_specifier1scCs0tj|dgd|j|d��|d<dS(s+ type_specifier_no_typeid  : VOID
                                      | _BOOL
                                      | CHAR
                                      | SHORT
                                      | INT
                                      | LONG
                                      | FLOAT
                                      | DOUBLE
                                      | _COMPLEX
                                      | SIGNED
                                      | UNSIGNED
                                      | __INT128
        iRLiN(RRgR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_type_specifier_no_typeid6scCs|d|d<dS(s� type_specifier  : typedef_name
                            | enum_specifier
                            | struct_or_union_specifier
                            | type_specifier_no_typeid
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_type_specifierFscCs|d|d<dS(so type_qualifier  : CONST
                            | RESTRICT
                            | VOLATILE
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_type_qualifierNscCs<t|�dkr'|d|dgn
|dg|d<dS(s� init_declarator_list    : init_declarator
                                    | init_declarator_list COMMA init_declarator
        iiiiN(RD(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_init_declarator_listUscCs=td|ddt|�dkr,|dnd�|d<dS(sb init_declarator : declarator
                            | declarator EQUALS initializer
        R^iR{iiiN(R.RDR0(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_init_declarator^scCs<t|�dkr'|d|dgn
|dg|d<dS(s� id_init_declarator_list    : id_init_declarator
                                       | id_init_declarator_list COMMA init_declarator
        iiiiN(RD(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_id_init_declarator_listdscCs=td|ddt|�dkr,|dnd�|d<dS(sn id_init_declarator : id_declarator
                               | id_declarator EQUALS initializer
        R^iR{iiiN(R.RDR0(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_id_init_declaratorjscCs+|j|d|dddt�|d<dS(sY specifier_qualifier_list    : specifier_qualifier_list type_specifier_no_typeid
        iiR[RBiN(RvRI(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_specifier_qualifier_list_1rscCs+|j|d|dddt�|d<dS(sO specifier_qualifier_list    : specifier_qualifier_list type_qualifier
        iiRnRBiN(RvRI(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_specifier_qualifier_list_2wscCs!|jd|dd�|d<dS(s4 specifier_qualifier_list  : type_specifier
        iR[iN(RvR0(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_specifier_qualifier_list_3|sc	CsLtd|ddgdgdg�}|j||dddt�|d<d	S(
sH specifier_qualifier_list  : type_qualifier_list type_specifier
        RniRoR[RpiRBiN(R.RvRI(R2R�Ru((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_specifier_qualifier_list_4�s%c	CsF|j|d�}|d|dddd|j|d��|d<dS(s{ struct_or_union_specifier   : struct_or_union ID
                                        | struct_or_union TYPEID
        iRKiR�RLiN(R�R0R�(R2R�tklass((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_struct_or_union_specifier_1�s

c	Cs�|j|d�}t|�dkrS|dd	dgd|j|d��|d<n/|dd	d|dd|j|d��|d<d	S(
s� struct_or_union_specifier : struct_or_union brace_open struct_declaration_list brace_close
                                      | struct_or_union brace_open brace_close
        iiRKR�RLiiiN(R�RDR0R�(R2R�R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_struct_or_union_specifier_2�s
c	Cs�|j|d�}t|�dkrW|d|ddgd|j|d��|d<n3|d|dd|dd|j|d��|d<d	S(
s� struct_or_union_specifier   : struct_or_union ID brace_open struct_declaration_list brace_close
                                        | struct_or_union ID brace_open brace_close
                                        | struct_or_union TYPEID brace_open struct_declaration_list brace_close
                                        | struct_or_union TYPEID brace_open brace_close
        iiRKiR�RLiiN(R�RDR�(R2R�R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_struct_or_union_specifier_3�s


cCs|d|d<dS(sF struct_or_union : STRUCT
                            | UNION
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_struct_or_union�scCsIt|�dkr)|dpg|d<n|d|dp=g|d<dS(s� struct_declaration_list     : struct_declaration
                                        | struct_declaration_list struct_declaration
        iiiN(RD(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_struct_declaration_list�sc	Cs�|d}d|dks t�|ddk	rO|jd|d|d�}n�t|d�dkr�|dd}t|tj�r�|}ntj|�}|jd|dtd	|�g�}n*|jd|dtd	dd
d�g�}||d<dS(sW struct_declaration : specifier_qualifier_list struct_declarator_list_opt SEMI
        iRwRoiRuR�R[iR^R{N(	RER0R�RDR\RtNodeRgR.(R2R�RuR�tnodet	decl_type((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_struct_declaration_1�s$
				cCsd|d<dS(s# struct_declaration : SEMI
        iN(R0(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_struct_declaration_2�scCs|dg|d<dS(s1 struct_declaration : pppragma_directive
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_struct_declaration_3�scCs<t|�dkr'|d|dgn
|dg|d<dS(s� struct_declarator_list  : struct_declarator
                                    | struct_declarator_list COMMA struct_declarator
        iiiiN(RD(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_struct_declarator_list�scCs i|dd6dd6|d<dS(s( struct_declarator : declarator
        iR^RxiN(R0(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_struct_declarator_1scCsdt|�dkr5i|dd6|dd6|d<n+itjddd�d6|dd6|d<dS(s� struct_declarator   : declarator COLON constant_expression
                                | COLON constant_expression
        iiR^RxiiN(RDRR]R0(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_struct_declarator_2	s#cCs-tj|dd|j|d��|d<dS(sM enum_specifier  : ENUM ID
                            | ENUM TYPEID
        iiiN(RR�R0R�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_enum_specifier_1scCs-tjd|d|j|d��|d<dS(sG enum_specifier  : ENUM brace_open enumerator_list brace_close
        iiiN(RR�R0R�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_enum_specifier_2scCs1tj|d|d|j|d��|d<dS(s� enum_specifier  : ENUM ID brace_open enumerator_list brace_close
                            | ENUM TYPEID brace_open enumerator_list brace_close
        iiiiN(RR�R�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_enum_specifier_3scCs�t|�dkr9tj|dg|dj�|d<nIt|�dkr\|d|d<n&|djj|d�|d|d<dS(s� enumerator_list : enumerator
                            | enumerator_list COMMA
                            | enumerator_list COMMA enumerator
        iiiiN(RDRtEnumeratorListRLtenumeratorsRB(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_enumerator_list#s'cCs�t|�dkr:tj|dd|j|d��}n)tj|d|d|j|d��}|j|j|j�||d<dS(sR enumerator  : ID
                        | ID EQUALS constant_expression
        iiiiN(RDRt
EnumeratorR0R�RORKRL(R2R�t
enumerator((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_enumerator0s
cCs|d|d<dS(sQ declarator  : id_declarator
                        | typeid_declarator
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_declarator@sRltIDttypeidtTYPEIDttypeid_noparencCs|d|d<dS(s1 xxx_declarator  : direct_xxx_declarator
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_xxx_declarator_1FscCs"|j|d|d�|d<dS(s9 xxx_declarator  : pointer direct_xxx_declarator
        iiiN(Rc(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_xxx_declarator_2LscCs<tjd|dddddd|j|d��|d<dS(s' direct_xxx_declarator   : yyy
        ReiR[RfRLiN(RR]R0R�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_direct_xxx_declarator_1Rs
	
cCs|d|d<dS(s@ direct_xxx_declarator   : LPAREN xxx_declarator RPAREN
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_direct_xxx_declarator_2\scCs�t|�dkr|dngp%g}tjdddt|�dkrS|dn|dd|d|dj�}|jd	|dd
|�|d<dS(
s} direct_xxx_declarator   : direct_xxx_declarator LBRACKET type_qualifier_list_opt assignment_expression_opt RBRACKET
        iiR[tdimit	dim_qualsRLiR^R_iN(RDRt	ArrayDeclR0RLRc(R2R�Rftarr((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_direct_xxx_declarator_3bs(	&c
Cs�g|d|dgD]$}t|t�r0|n|g^q}g|D]%}|D]}|dk	rP|^qPqF}tjddd|dd|d|dj�}|jd	|dd
|�|d<dS(
s� direct_xxx_declarator   : direct_xxx_declarator LBRACKET STATIC type_qualifier_list_opt assignment_expression RBRACKET
                                    | direct_xxx_declarator LBRACKET type_qualifier_list STATIC assignment_expression RBRACKET
        iiR[R�iR�RLiR^R_iN(R\tlistR0RR�RLRc(R2R�titemtlisted_qualstsublistRnR�R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_direct_xxx_declarator_4qs<	
c
Cs�tjdddtj|d|j|d��d|ddkrK|dngd|dj�}|jd|dd	|�|d
<dS(si direct_xxx_declarator   : direct_xxx_declarator LBRACKET type_qualifier_list_opt TIMES RBRACKET
        R[R�iR�iRLiR^R_iN(RR�R0R�R�RLRc(R2R�R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_direct_xxx_declarator_5�s	" cCs�tjd|ddd
d|dj�}|j�jdkr�|jd
k	r�xC|jjD]2}t|tj	�rvPn|j
|j|j�qZWq�n|jd|dd|�|d	<d
S(s� direct_xxx_declarator   : direct_xxx_declarator LPAREN parameter_type_list RPAREN
                                    | direct_xxx_declarator LPAREN identifier_list_opt RPAREN
        targsiR[RLitLBRACER^R_iN(
RRhR0RLRZR[RtparamsR\t
EllipsisParamRORKRc(R2R�tfunctparam((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_direct_xxx_declarator_6�s	

 cCs�|j|d�}tjd|dp(gddd|�}t|�dkr�|d}x|jdk	rt|j}qYW||_|d|d<n
||d<dS(	sm pointer : TIMES type_qualifier_list_opt
                    | TIMES type_qualifier_list_opt pointer
        iRfiR[RLiiN(R�RtPtrDeclR0RDR[(R2R�RLtnested_typet	tail_type((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt	p_pointer�s(

	cCs<t|�dkr|dgn|d|dg|d<dS(ss type_qualifier_list : type_qualifier
                                | type_qualifier_list type_qualifier
        iiiN(RD(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_type_qualifier_list�scCsPt|�dkr>|djjtj|j|d���n|d|d<dS(sn parameter_type_list : parameter_list
                                | parameter_list COMMA ELLIPSIS
        iiiiN(RDRRBRRR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_parameter_type_list�s,cCsct|�dkr9tj|dg|dj�|d<n&|djj|d�|d|d<dS(sz parameter_list  : parameter_declaration
                            | parameter_list COMMA parameter_declaration
        iiiiN(RDRt	ParamListRLRRB(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_parameter_list�s'cCsv|d}|dsBtjdgd|j|d��g|d<n|jd|dtd|d�g�d	|d	<d
S(s� parameter_declaration   : declaration_specifiers id_declarator
                                    | declaration_specifiers typeid_noparen_declarator
        iR[RdRLRuR�R^iiN(RRgR�R�R.(R2R�Ru((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_parameter_declaration_1�s

	cCs?|d}|dsBtjdgd|j|d��g|d<nt|d�dkr�t|ddj�dkr�|j|ddjd�r�|jd|dtd	|d
dd�g�d}nitj	dd
d|dd|d
p�tj
ddd�d|j|d
��}|d}|j||�}||d<dS(sR parameter_declaration   : declaration_specifiers abstract_declarator_opt
        iR[RdRLi����iRuR�R^iR{RKR
RfRnN(RRgR�RDRiRSR�R.R0tTypenameR]Rm(R2R�RuR^Rj((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_parameter_declaration_2�s"

3	&	

cCsct|�dkr9tj|dg|dj�|d<n&|djj|d�|d|d<dS(se identifier_list : identifier
                            | identifier_list COMMA identifier
        iiiiN(RDRR
RLRRB(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_identifier_lists'cCs|d|d<dS(s- initializer : assignment_expression
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_initializer_1&scCsG|ddkr5tjg|j|d��|d<n|d|d<dS(s� initializer : brace_open initializer_list_opt brace_close
                        | brace_open initializer_list COMMA brace_close
        iiiN(R0RtInitListR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_initializer_2+s%cCs�t|�dkri|ddkr,|dntj|d|d�}tj|g|dj�|d<nV|ddkr�|dntj|d|d�}|djj|�|d|d<dS(s� initializer_list    : designation_opt initializer
                                | initializer_list COMMA designation_opt initializer
        iiiiiN(RDR0RtNamedInitializerRRLtexprsRB(R2R�R{((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_initializer_list4s4#4cCs|d|d<dS(s. designation : designator_list EQUALS
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt
p_designation@scCs<t|�dkr|dgn|d|dg|d<dS(s_ designator_list : designator
                            | designator_list designator
        iiiN(RD(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_designator_listHscCs|d|d<dS(si designator  : LBRACKET constant_expression RBRACKET
                        | PERIOD identifier
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_designatorNscCsstjddd|ddd|dp9tjd
d
d
�d|j|d��}|j||dd�|d	<d
S(sH type_name   : specifier_qualifier_list abstract_declarator_opt
        RKR
RfiRnR[iRLiN(RRR]R0R�Rm(R2R�Rj((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_type_nameTs	cCs9tjddd�}|jd|d|d�|d<dS(s+ abstract_declarator     : pointer
        R^R_iiN(RR]R0Rc(R2R�t	dummytype((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_abstract_declarator_1_s	cCs"|j|d|d�|d<dS(sF abstract_declarator     : pointer direct_abstract_declarator
        iiiN(Rc(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_abstract_declarator_2gscCs|d|d<dS(s> abstract_declarator     : direct_abstract_declarator
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_abstract_declarator_3lscCs|d|d<dS(sA direct_abstract_declarator  : LPAREN abstract_declarator RPAREN iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_direct_abstract_declarator_1vsc
CsStjdd
d|ddgd|dj�}|jd|dd|�|d	<d
S(sn direct_abstract_declarator  : direct_abstract_declarator LBRACKET assignment_expression_opt RBRACKET
        R[R�iR�RLiR^R_iN(RR�R0RLRc(R2R�R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_direct_abstract_declarator_2zs	
cCsKtjdtjddd�d|ddgd|j|d��|d<dS(	sS direct_abstract_declarator  : LBRACKET assignment_expression_opt RBRACKET
        R[R�iR�RLiiN(RR�R]R0R�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_direct_abstract_declarator_3�s
	
c
Csktjdd
dtj|d|j|d��dgd|dj�}|jd|dd|�|d	<d
S(sZ direct_abstract_declarator  : direct_abstract_declarator LBRACKET TIMES RBRACKET
        R[R�iR�RLiR^R_iN(RR�R0R�R�RLRc(R2R�R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_direct_abstract_declarator_4�s	"cCsctjdtjddd�dtj|d|j|d��dgd|j|d��|d<dS(	s? direct_abstract_declarator  : LBRACKET TIMES RBRACKET
        R[R�iR�RLiiN(RR�R]R0R�R�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_direct_abstract_declarator_5�s
	"cCsMtjd|ddd	d|dj�}|jd|dd|�|d<d	S(
sh direct_abstract_declarator  : direct_abstract_declarator LPAREN parameter_type_list_opt RPAREN
        RiR[RLiR^R_iN(RRhR0RLRc(R2R�R((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_direct_abstract_declarator_6�s
	
c	CsEtjd|ddtjddd�d|j|d��|d<dS(sM direct_abstract_declarator  : LPAREN parameter_type_list_opt RPAREN
        RiR[RLiiN(RRhR]R0R�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_direct_abstract_declarator_7�s	
cCs2t|dt�r|dn
|dg|d<dS(sG block_item  : declaration
                        | statement
        iiN(R\R�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_block_item�scCsIt|�dks%|ddgkr/|dn|d|d|d<dS(s_ block_item_list : block_item
                            | block_item_list block_item
        iiiN(RDR0(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_block_item_list�scCs0tjd|dd|j|d��|d<dS(sA compound_statement : brace_open block_item_list_opt brace_close R�iRLiiN(RR�R�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_compound_statement_1�s	
cCs1tj|d|d|j|d��|d<dS(s6 labeled_statement : ID COLON pragmacomp_or_statement iiiN(RtLabelR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_labeled_statement_1�scCs4tj|d|dg|j|d��|d<dS(sL labeled_statement : CASE constant_expression COLON pragmacomp_or_statement iiiiN(RtCaseR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_labeled_statement_2�scCs-tj|dg|j|d��|d<dS(s; labeled_statement : DEFAULT COLON pragmacomp_or_statement iiiN(RtDefaultR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_labeled_statement_3�scCs4tj|d|dd|j|d��|d<dS(sK selection_statement : IF LPAREN expression RPAREN pragmacomp_or_statement iiiiN(RtIfR0R�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_selection_statement_1�scCs8tj|d|d|d|j|d��|d<dS(sZ selection_statement : IF LPAREN expression RPAREN statement ELSE pragmacomp_or_statement iiiiiN(RR1R�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_selection_statement_2�scCs7ttj|d|d|j|d���|d<dS(sO selection_statement : SWITCH LPAREN expression RPAREN pragmacomp_or_statement iiiiN(RRtSwitchR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_selection_statement_3�scCs1tj|d|d|j|d��|d<dS(sN iteration_statement : WHILE LPAREN expression RPAREN pragmacomp_or_statement iiiiN(RtWhileR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_iteration_statement_1�scCs1tj|d|d|j|d��|d<dS(sV iteration_statement : DO pragmacomp_or_statement WHILE LPAREN expression RPAREN SEMI iiiiN(RtDoWhileR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_iteration_statement_2�scCs?tj|d|d|d|d|j|d��|d<dS(sx iteration_statement : FOR LPAREN expression_opt SEMI expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement iiii	iiN(RtForR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_iteration_statement_3�scCsWtjtj|d|j|d��|d|d|d|j|d��|d<dS(sp iteration_statement : FOR LPAREN declaration expression_opt SEMI expression_opt RPAREN pragmacomp_or_statement iiiiiiN(RR:tDeclListR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_iteration_statement_4�s%cCs*tj|d|j|d��|d<dS(s  jump_statement  : GOTO ID SEMI iiiN(RtGotoR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_jump_statement_1�scCs#tj|j|d��|d<dS(s jump_statement  : BREAK SEMI iiN(RtBreakR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_jump_statement_2�scCs#tj|j|d��|d<dS(s! jump_statement  : CONTINUE SEMI iiN(RtContinueR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_jump_statement_3�scCsBtjt|�dkr"|dnd|j|d��|d<dS(s\ jump_statement  : RETURN expression SEMI
                            | RETURN SEMI
        iiiiN(RtReturnRDR0R�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_jump_statement_4scCsD|ddkr2tj|j|d��|d<n|d|d<dS(s, expression_statement : expression_opt SEMI iiiN(R0RtEmptyStatementR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_expression_statements"cCs�t|�dkr#|d|d<nct|dtj�s`tj|dg|dj�|d<n|djj|d�|d|d<dS(sn expression  : assignment_expression
                        | expression COMMA assignment_expression
        iiiiN(RDR\RtExprListRLRRB(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_expressions'cCs0tj|dgd|j|d��|d<dS(s typedef_name : TYPEID iRLiN(RRgR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_typedef_namescCsVt|�dkr#|d|d<n/tj|d|d|d|dj�|d<dS(s� assignment_expression   : conditional_expression
                                    | unary_expression assignment_operator assignment_expression
        iiiiN(RDRt
AssignmentRL(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_assignment_expression scCs|d|d<dS(s� assignment_operator : EQUALS
                                | XOREQUAL
                                | TIMESEQUAL
                                | DIVEQUAL
                                | MODEQUAL
                                | PLUSEQUAL
                                | MINUSEQUAL
                                | LSHIFTEQUAL
                                | RSHIFTEQUAL
                                | ANDEQUAL
                                | OREQUAL
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_assignment_operator.s
cCs|d|d<dS(s. constant_expression : conditional_expression iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_constant_expression=scCsVt|�dkr#|d|d<n/tj|d|d|d|dj�|d<dS(s� conditional_expression  : binary_expression
                                    | binary_expression CONDOP expression COLON conditional_expression
        iiiiiN(RDRt	TernaryOpRL(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_conditional_expressionAscCsVt|�dkr#|d|d<n/tj|d|d|d|dj�|d<dS(sk binary_expression   : cast_expression
                                | binary_expression TIMES binary_expression
                                | binary_expression DIVIDE binary_expression
                                | binary_expression MOD binary_expression
                                | binary_expression PLUS binary_expression
                                | binary_expression MINUS binary_expression
                                | binary_expression RSHIFT binary_expression
                                | binary_expression LSHIFT binary_expression
                                | binary_expression LT binary_expression
                                | binary_expression LE binary_expression
                                | binary_expression GE binary_expression
                                | binary_expression GT binary_expression
                                | binary_expression EQ binary_expression
                                | binary_expression NE binary_expression
                                | binary_expression AND binary_expression
                                | binary_expression OR binary_expression
                                | binary_expression XOR binary_expression
                                | binary_expression LAND binary_expression
                                | binary_expression LOR binary_expression
        iiiiN(RDRtBinaryOpRL(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_binary_expressionJscCs|d|d<dS(s$ cast_expression : unary_expression iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_cast_expression_1dscCs1tj|d|d|j|d��|d<dS(s; cast_expression : LPAREN type_name RPAREN cast_expression iiiiN(RtCastR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_cast_expression_2hscCs|d|d<dS(s* unary_expression    : postfix_expression iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_unary_expression_1lscCs,tj|d|d|dj�|d<dS(s� unary_expression    : PLUSPLUS unary_expression
                                | MINUSMINUS unary_expression
                                | unary_operator cast_expression
        iiiN(RtUnaryOpRL(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_unary_expression_2pscCsMtj|dt|�dkr)|dn|d|j|d��|d<dS(sx unary_expression    : SIZEOF unary_expression
                                | SIZEOF LPAREN type_name RPAREN
        iiiiN(RRWRDR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_unary_expression_3ws#cCs|d|d<dS(s� unary_operator  : AND
                            | TIMES
                            | PLUS
                            | MINUS
                            | NOT
                            | LNOT
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_unary_operator�scCs|d|d<dS(s* postfix_expression  : primary_expression iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_postfix_expression_1�scCs,tj|d|d|dj�|d<dS(sG postfix_expression  : postfix_expression LBRACKET expression RBRACKET iiiN(RtArrayRefRL(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_postfix_expression_2�scCsDtj|dt|�dkr)|dnd|dj�|d<dS(s� postfix_expression  : postfix_expression LPAREN argument_expression_list RPAREN
                                | postfix_expression LPAREN RPAREN
        iiiiN(RtFuncCallRDR0RL(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_postfix_expression_3�scCsQtj|d|j|d��}tj|d|d||dj�|d<dS(s� postfix_expression  : postfix_expression PERIOD ID
                                | postfix_expression PERIOD TYPEID
                                | postfix_expression ARROW ID
                                | postfix_expression ARROW TYPEID
        iiiiN(RR�R�t	StructRefRL(R2R�tfield((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_postfix_expression_4�s"cCs0tjd|d|d|dj�|d<dS(s{ postfix_expression  : postfix_expression PLUSPLUS
                                | postfix_expression MINUSMINUS
        R�iiiN(RRWRL(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_postfix_expression_5�scCs"tj|d|d�|d<dS(s� postfix_expression  : LPAREN type_name RPAREN brace_open initializer_list brace_close
                                | LPAREN type_name RPAREN brace_open initializer_list COMMA brace_close
        iiiN(RtCompoundLiteral(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_postfix_expression_6�scCs|d|d<dS(s" primary_expression  : identifier iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_primary_expression_1�scCs|d|d<dS(s  primary_expression  : constant iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_primary_expression_2�scCs|d|d<dS(sp primary_expression  : unified_string_literal
                                | unified_wstring_literal
        iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_primary_expression_3�scCs|d|d<dS(s0 primary_expression  : LPAREN expression RPAREN iiN((R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_primary_expression_4�scCsY|j|d�}tjtj|d|�tj|d|dg|�|�|d<dS(sa primary_expression  : OFFSETOF LPAREN type_name COMMA offsetof_member_designator RPAREN
        iiiiN(R�RR^R�RH(R2R�RL((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_primary_expression_5�scCs�t|�dkr#|d|d<n�t|�dkr�tj|d|j|d��}tj|d|d||dj�|d<nSt|�dkr�tj|d|d|dj�|d<ntdt|���dS(	s� offsetof_member_designator : identifier
                                         | offsetof_member_designator PERIOD identifier
                                         | offsetof_member_designator LBRACKET expression RBRACKET
        iiiiiis$Unexpected parsing state. len(p): %uN(RDRR�R�R`RLR\tNotImplementedError(R2R�Ra((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_offsetof_member_designator�s".+cCsct|�dkr9tj|dg|dj�|d<n&|djj|d�|d|d<dS(s� argument_expression_list    : assignment_expression
                                        | argument_expression_list COMMA assignment_expression
        iiiiN(RDRRHRLRRB(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_argument_expression_list�s'cCs*tj|d|j|d��|d<dS(s identifier  : ID iiN(RR�R�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_identifier�scCs-tjd|d|j|d��|d<dS(s� constant    : INT_CONST_DEC
                        | INT_CONST_OCT
                        | INT_CONST_HEX
                        | INT_CONST_BIN
        RdiiN(RtConstantR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_constant_1�scCs�d|dj�krd}n@|ddd
kr<d}n#|dddkrYd	}nd
}tj||d|j|d��|d<dS(sM constant    : FLOAT_CONST
                        | HEX_FLOAT_CONST
        txitfloati����tftFtltLslong doubletdoubleiN(RsRt(RuRv(tlowerRRoR�(R2R�R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_constant_2�s			cCs-tjd|d|j|d��|d<dS(sH constant    : CHAR_CONST
                        | WCHAR_CONST
        tchariiN(RRoR�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_constant_3�scCstt|�dkr>tjd|d|j|d��|d<n2|djd |dd|d_|d|d<dS(s~ unified_string_literal  : STRING_LITERAL
                                    | unified_string_literal STRING_LITERAL
        itstringiii����N(RDRRoR�tvalue(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_unified_string_literal
s
&$cCszt|�dkr>tjd|d|j|d��|d<n8|djj�d |dd|d_|d|d<dS(s� unified_wstring_literal : WSTRING_LITERAL
                                    | unified_wstring_literal WSTRING_LITERAL
        iR|iii����N(RDRRoR�R}trstrip(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_unified_wstring_literals
&*cCs+|d|d<|jd|jd��dS(s  brace_open  :   LBRACE
        iiN(t
set_linenotlineno(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_brace_open scCs+|d|d<|jd|jd��dS(s  brace_close :   RBRACE
        iiN(R�R�(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt
p_brace_close&scCsd|d<dS(sempty : iN(R0(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_empty,scCs[|rA|jd|j|jd|jd|jj|���n|jd|jj�dS(Ns
before: %sR�RWsAt end of input(RJR}RTR�R)tfind_tok_columnR=(R2R�((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pytp_error0s
(sleftR�(sleftR�(sleftR�(sleftR�(sleftR�(sleftR�R�(sleftR�R�R�R�(sleftR�R�(sleftsPLUSsMINUS(sleftR�R�R�(sidsID(R�R�(R�R�(sidsID(R�R�(R�R�(sidsID(R�R�(R�R�(sidsID(R�R�(sidsID(R�R�(R�R�(sidsID(R�R�(R�R�(sidsID(R�R�(R�R�(sidsID(R�R�(R�R�(�t__name__t
__module__RIRRNR;R?RCRGRMRORSR%R&R'R(RZRcRmRvR�R�R�t
precedenceR�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�RR�R�R�R�R�R�R�RR
RRRRRRRRRRRRRRRR R!R"R#R$R%R&R'R(R)R*R,R.R0R2R3R5R7R9R;R=R?RARCRERGRIRJRLRMRNRPRRRSRURVRXRYRZR[R]R_RbRcReRfRgRhRiRjRlRmRnRpRyR{R~R�R�R�R�R�(((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyR	s^g					
	
						)	7	-Y		
														5		<																																			&											
		
								
											
								
																				
														
														
										(tretplyRR
Rtc_lexerRt	plyparserRRRRRtast_transformsRR	(((s6/usr/lib/python2.7/site-packages/pycparser/c_parser.pyt<module>	s(

https://t.me/AnonymousX5 - 2025