Kc @sddlZddlZddlmZmZddlmZmZddlm Z ddl Z ddl Z ddl m Z ddl mZmZmZdefdYZd d Zd Zd Zd ZdZdZdZdZdZdZdZdZdZd 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/d0Z0ddd1Z2d2Z3d3Z4d4Z5d5Z6d6Z7d7Z8d8Z9d9Z:d:Z;d;Z<d<Z=d=Z>d>Z?dZ@dEZAdZBdQZCdRZDdSZEdTZFdUZGdVZHdWdXZIdYZJdZZKd[ZLd\ZMd]ZNd^ZOd_efd`YZPdZQddZRdeZSdfZTdgZUdZVdjZWdkZXdlZYdmZZdnZ[doZ\dpZ]dqZ^drZ_dZ`dsZadtZbduZcdvZddwZedxZfdyZgdzZhd{Zid|Zjd}Zkd~ZldZmedWdWdZndWdZodZpdZqdZrdZsdZtdZudZvdZwdZxewexZydZzdZ{edWdWdWdWdWdZ|dZ}dZ~dZdZdZdZdZedWdWdWdWdZdZdWdWdWdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdddYZdZdZdZdZdZddZdS(iN(tjointreplace(tListTypet TupleType(t PyrexScanner(t ModuleNode(twarningterrort InternalErrortCtxcBsSeZdZdZeZdZdZdZdZ dZ dZ dZ dZ RS(tothertprivateicKs|jj|dS(N(t__dict__tupdate(tselftkwds((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyt__init__scKs3t}|j}|j|j|j||S(N(R R R (RRtctxtd((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyt__call__s    cCs'|jr#|j r#t|dndS(Ns2C++ declarations must be in an 'extern from' block(t cplus_flagt extern_fromR(Rtpos((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyt cplus_check$s(t__name__t __module__tlevelt visibilitytFalseRt cdef_flagRt typedef_flagtapitnogilRRR(((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR s  sExpected an identifiercCs7|jdkr&|j}|j|S|j|dS(NtIDENT(tsytsystringtnextR(tstmessagetname((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_ident+s   cCsWg}xJ|jdkrR|j|j|j|jdkrEPn|jq W|S(NR!t,(R"tappendR#R$(R%tnames((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyt p_ident_list3s cCsi||}xV|j|krd|j}|j}|j||}tj||||}qW|S(N(R"tpositionR$t ExprNodest binop_node(R%topst p_sub_exprtn1topRtn2((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyt p_binop_exprCs     cCst|dtS(Ntor(sor(tp_rassoc_binop_exprt p_and_test(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyt p_simple_exprOscCsk||}|j|krg|j}|j}|jt|||}tj||||}n|S(N(R"R-R$R7R.R/(R%R0t p_subexprR2RR3R4((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR7Rs    cCst|dtS(Ntand(sand(R7t p_not_test(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR8^scCsL|jdkr>|j}|jtj|dt|St|SdS(Ntnottoperand(R"R-R$R.tNotNodeR<t p_comparison(R%R((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR<ds   cCst|}|jtkr|j}t|}t|}tj|d|d|d|}|jtkrt||_qn|S(Ntoperatortoperand1toperand2( t p_bit_exprR"tcomparison_opsR-tp_cmp_opR.tPrimaryCmpNodetp_cascaded_cmptcascade(R%R2RR3R4((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR@os     cCsd|j}t|}t|}tj|d|d|}|jtkr`t||_n|S(NRARC( R-RFRDR.tCascadedCmpNodeR"RERHRI(R%RR3R4tresult((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRH{s    cCs|jdkr/|j|jdd}nW|jdkrs|j|jdkrj|jd}qd}n|j}|j|dkrd}n|S(NR=tintnot_intistis_nots<>s!=(R"R$texpect(R%R3((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRFs           ts==s>=s<=s<>s!=RLRNR=cCst|dtS(Nt|(RS(R5t p_xor_expr(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRDscCst|dtS(Nt^(RU(R5t p_and_expr(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRTscCst|dtS(Nt&(RW(R5t p_shift_expr(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRVscCst|dtS(Ns<>(s<>(R5t p_arith_expr(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRXscCst|dtS(Nt+t-(RZR[(R5tp_term(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRYscCst|dtS(Nt*t/t%(R]R^R_(R5tp_factor(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR\scCs|j}|d krM|j}|j}|jtj||t|S|dkr|j}|jt|}tj|d|S|dkrt|S|dkr|jdkrt |St |SdS( NRZR[t~RWR>RQR!tsizeof(RZR[Ra( R"R-R$R.t unop_nodeR`t AmpersandNodet p_typecastR#tp_sizeoftp_power(R%R"R3Rtarg((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR`s             cCsl|j}|jt|}t|dd}|jdt|}tj|d|d|d|S(NtemptyiRRt base_typet declaratorR>(R-R$t p_c_base_typetp_c_declaratorRPR`R.t TypecastNode(R%RRjRkR>((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRes      cCs|j}|j|jdt|rkt|}t|dd}tj|d|d|}n!t|}tj |d|}|jd|S(Nt(RiiRjRkR>t)( R-R$RPtlooking_at_typeRlRmR.tSizeofTypeNodeR9t SizeofVarNode(R%RRjRktnodeR>((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRfs        cCs\t|}|jdkrX|j}|jt|}tj|d||}n|S(Ns**(t p_primitiveR"R-R$R`R.R/(R%R2RR4((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRgs    cCs5t|}x"|jdkr0t||}qW|S(NRot[t.(RoRvRw(tp_atomR"t p_trailer(R%tn((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRus cCsw|j}|jdkr(t||S|jdkrDt||S|jt|}tj|d|d|SdS(NRoRvtobjt attribute(R-R"tp_calltp_indexR$R(R.t AttributeNode(R%tnode1RR'((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRys      c Cs|j}|jg}g}d}d}x|jdkrt|}|jdkr|j|js|jdd|jntj |jd|j }t|}|j ||fn,|r|jdd|jn|j ||jd krPn|jq1W|jdkrU|jt|}|jd krU|jqUn|jdkr|jt|}|jd kr|jqn|j d|p|p|stj |d |d |Sd} d} |s| rtj|d |} n|rPtj|d |} | rGtj|d dd| d| } qP| } n|rntj|d|} ntj|d |d| d| d|SdS(NR]s**Rpt=s!Expected an identifier before '='Rtvalues%Non-keyword arg following keyword argR)tfunctiontargsRhRARZRBRCtkey_value_pairstpositional_argst keyword_argst starstar_arg(R]s**Rp(R-R$tNoneR"R9tis_nameRRR.t StringNodeR'R*RPtSimpleCallNodet TupleNodet AsTupleNodeR/tDictNodetGeneralCallNode( R%RRRRtstar_argRRhtkeywordt arg_tuplet keyword_dicttstar_arg_tuple((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR}sv                            c Cs|j}|jt|}t|dkr~t|ddkr~|d\}}tj|d|d|d|}n^t||}t|dkr|d}ntj|d|}tj|d|d|}|j d |S( NiiitbasetstarttstopRtindext]( R-R$tp_subscript_listtlenR.tSliceIndexNodetmake_slice_nodesRt IndexNodeRP( R%RRt subscriptsRRRKtindexesR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR~Ts   (    cCsYt|g}xC|jdkrT|j|jdkr>Pn|jt|qW|S(NR)R(t p_subscriptR"R$R*(R%titems((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRhs cCs|j}|jdkr5t|tj|gSt|d}|jdkrZ|gS|jt|d}|jdkr||gS|jt|d}|||gSdS(NRwt:R)R(R(RR)R(RR)R(R-R"texpect_ellipsisR.t EllipsisNodetp_slice_elementR$(R%RRRtstep((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRss     cCs!|j|krt|SdSdS(N(R"R9R(R%t follow_set((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs cCs+|jd|jd|jddS(NRw(RP(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs  cCsWg}xJ|D]B}t|dkr9|j|dq |jt||q W|S(Nii(RR*tmake_slice_node(RRRKt subscript((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs  cCsg|stj|}n|s0tj|}n|sHtj|}ntj|d|d|d|S(NRRR(R.tNoneNodet SliceNode(RRRR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs cCs}|j}|j}|dkro|j|jdkrRtj|dg}n t|}|jd|S|dkrt|S|dkrt|S|dkrt |S|dkr|j }|jtj |d|S|d kr|j }|jtj |d|S|d krG|j }|jtj |d|S|d kr}|j d }|jtj|d|S|d ks|dkrt|\}}|dkrtj|d|Stj|d|Sn|dkrI|j }|j|dkrtj|S|dkr9|jdkr9t|St||Sn0|dkrl|jtj|S|jddS(NRoRpRRvt{t`tINTRtLONGtFLOATtIMAGitSTRINGt BEGIN_STRINGtcR!RtnewtNULLs!Expected an identifier or literal(R-R"R$R.Rtp_exprRPt p_list_makert p_dict_makertp_backquote_exprR#tIntNodetLongNodet FloatNodetImagNodetp_cat_string_literaltCharNodeRRt p_new_callt p_name_atomtNullNodeR(R%RR"RKRtkindR'((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRxs`                                  cCsAt|}t|tjr*d|_nt|jd|S(Nis0'new' must be followed by a C++ constructor call(Rut isinstanceR.Rtis_newRR-(R%Rt((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs   cCsR|jdkrA|j}|j}|jtj|d|S|jddS(NR!R'sExpected a variable name(R"R-R#R$R.tNameNodeR(R%RR'((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_names    cCs|j}|jsy|jj|}Wntk r>qXt|}t|trmtj |d|St|t rtj |d|St|t rtj |d|St|trtj|d|dd!St|d|jjntj|d|S(NRiis*Invalid type for compile-time constant: %sR'(R-tcompile_time_exprtcompile_time_envt lookup_heretKeyErrortreprRtintR.RtlongRtfloatRtstrRRt __class__RR(R%R'RRtrep((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs$     cCst|\}}|dkr|g}x]|jdksH|jdkrt|\}}|dkrvtjdn|j|q*Wdj|}n||fS(NRRRsCCannot concatenate char literal with another string or char literalt(tp_string_literalR"RRR*R(R%RRtstringst next_kindt next_value((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR s  !  cCs0|jdks|jdkr(t|SdSdS(NRR(R"RR(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_opt_string_literals cCsW|jdkr,t|j}|j|S|j}|jd j}|dkr`d}ng}x|j|j}|dkr|j}t|dkr|dkr|jdn|j|qi|dkr|j}|d krX|d kr |jd q|d kr(|jd q|dkrD|jdq|jd|q1|d}|dkr~|j|q1|dkr|jd|dq1|dkrq1|jd|dqi|dkr|jdqi|dkrPqi|dkr|jdd|qi|jd||jfqi|jt |d}||fS(NRitcrRtCHARSs'" s\tESCAPEtrs\ s\\\ns\"s\\\"s\\s\\\\s'"\abfnrtv01234567txs\x0is tNEWLINEs\nt END_STRINGtEOFsUnclosed string literalRs(Unexpected token %r:%r in string literal( R"tunquoteR#R$R-tlowerRR*RR(R%RRRtcharsR"tsystrR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs^                      cCsd}|d jdkr/d}|d}n|d }|dksQ|dkra|dd!}n |dd!}|r|jd d }|jd d }ntjd |}dG|GHg}x|D]}|dks|d kr|jd |q|d krq|d d krt|dkrZ|ddkrF|j|q|j|dq|dd!dkr|jd|dq|j|q|j|qWdj|}|S(NiiRis"""s'''iis\s\\s s\ sB((?:\\[0-7]{1,3})|(?:\\x[0-9A-Fa-f]{2})|(?:\\.)|(?:\\\n)|(?:\n)|")s unquote: l1 =t"is "\abfnrtvRs\x0R(RRtretsplitR*RR(R%tis_rawtqtl1tl2titem((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRZs<      cCsB|j}|jt|}|jdtj|d|S(NRR(R-R$tp_simple_expr_listRPR.tListNode(R%Rtexprs((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs     cCs|j}|jg}xh|jdkrt|}|jdt|}|j||f|jdkryPn|jqW|jdtj|d|S(Nt}RR)R(R-R$R"R9RPR*R.R(R%RRtkeyR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs      cCsB|j}|jt|}|jdtj|d|S(NRRh(R-R$RRPR.t BackquoteNode(R%RRh((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs     cCsPg}xC|jtkrK|jt||jdkr>Pn|jq W|S(NR)(R"texpr_terminatorsR*R9R$(R%R((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRscCs_|j}t|}|jdkrW|j|gt|}tj|d|S|SdS(NR)R(R-R9R"R$RR.R(R%RtexprR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs   RpRRRRRcCs5|j}|jt|}tj|d|S(NR+(R-R$R,tNodest GlobalNode(R%RR+((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_global_statements   s+=s-=s*=s/=s%=s**=s<<=s>>=s&=s^=s|=c Cs|j}t|}|jtkr4t||S|jdkr~t|tjretj |j Stj |j d|Sn|g}x0|jdkr|j |j t|qWg}t||g}x|D]|}|d }|d}t|dkr+tj|j d|dd|}ntj|j d|d|}|j |qWt|dkrt|dStj|dj d |SdS( NRRiitlhsitrhstlhs_listtstats(R-RR"tinplace_operatorstp_inplace_operationRR.RRt PassStatNodeRt ExprStatNodeR$R*tflatten_parallel_assignmentsRtSingleAssignmentNodetCascadedAssignmentNodetParallelAssignmentNode( R%RRt expr_listtexpr_list_listtnodesRRRt((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_expression_or_assignments6         cCsJ|j}|j}|jt|}tj|d|d|d|S(NRRAR(R-R"R$RRtAugmentedAssignmentNode(R%RRR3R((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs     cCspt|}|dkr_xQt|D]3}g|D]}|j|^q2}t||q%Wn |j|dS(Ni(tfind_parallel_assignment_sizetrangeRRR*(tinputtoutputtsizetiRt new_exprs((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs    cCsx|D]}|jsdSqW|d}t|j}xK|d D]?}t|j}||krBt|jd||fdSqBW|S(Nis6Unpacking sequence of wrong size (expected %d, got %d)(tis_sequence_constructorRRRR(RRRtrhs_sizeRtlhs_size((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR s     cCs|j}|j|jdkr5|jdng}d}|jd kr|jt|xL|jdkr|j|jd krd}Pn|jt|qfWntj|d|d |S( Ns>>s'print >>' not yet implementediRRR)iRtends_with_comma(sNEWLINEsEOF(sNEWLINEsEOF(R-R$R"RR*R9Rt PrintStatNode(R%RRtewc((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_print_statements     cCs5|j}|jt|}tj|d|S(NR(R-R$RRt DelStatNode(R%RR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_del_statement(s   icCs<|j}|jd|r/|jdntj|S(NtpasssExpected a newline(R-RPtexpect_newlineRR(R%t with_newlineR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_pass_statement/s   cCs#|j}|jtj|S(N(R-R$Rt BreakStatNode(R%R((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_break_statement6s  cCs#|j}|jtj|S(N(R-R$RtContinueStatNode(R%R((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_continue_statement<s  cCsM|j}|j|jtkr4t|}nd}tj|d|S(NR(R-R$R"tstatement_terminatorsRRRtReturnStatNode(R%RR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_return_statementBs   cCs|j}|jd}d}d}|jtkrt|}|jdkr|jt|}|jdkr|jt|}qqn|s|s|rtj|d|d|d|Stj|SdS(NR)texc_typet exc_valuetexc_tb( R-R$RR"R$R9Rt RaiseStatNodetReraiseStatNode(R%RR'R(R)((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_raise_statementLs&       c Csp|j}|j}|jt|ddg}x6|jdkrl|j|jt|ddq7Wg}x|D]\}}}}|dkrtj|d|d|}n|rd|krtj|dtj |d d g} nd} tj |d tj |d |p|d tj |dtj |d |d| }|j|qzWtj|d|S(Nt as_allowediR)tcimportt module_nametas_nameRwRRR]RR'Rt name_listR(R-R"R$t p_dotted_nameR*RtCImportStatNodeR.RRRRRt ImportNodet StatListNode( R%RRRRt target_namet dotted_nameR0tstatR1((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_import_statementcs4              c Cs)|j}|jt|dd\}}}}|jdkrY|j}|jn |jd|dkr|jdkr|jdn|jd kr|jd n|dk}t||g}x3|jd kr|j|jt||qW|dkrYx-|D]%} | jp,| j } |j | qWt j |d |d |Sg} g} xd|D]\} | jt j| jd| j | j| j t j| jd| jp| j fqlWt j|djd| } t j|dt j|d t j|d|d| d| SdS(NR-itimportR.sExpected 'import' or 'cimport'tmodulet module_pxds-cimport statement not allowed in this contextR]s'import *' not supportedR)R/timported_namesRR'RR1R(simportscimport(smoduleR<(R-R$R2R"RRtp_imported_nameR*R0R't add_type_nameRtFromCImportStatNodeR.RRRRtFromImportStatNodeR4(R%RRtdotted_name_post_R7Rt is_cimportR=timpt local_nametimported_name_stringsRt import_list((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_from_import_statementsP                t ImportedNamecBseZdZRS(cCs(||_||_||_||_dS(N(RR'R0R(RRR'R0R((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs   (RRR(((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRJstclasststructtunioncCsh|j}d}|r=|jtkr=|j}|jnt|}t|}t||||S(N(R-RR#timported_name_kindsR$R(t p_as_nameRJ(R%RDRRR'R0((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR>s     cCs|j}t|}d}|g}x0|jdkrY|j|jt|q*W|rot|}n||t|d|fS(NRw(R-R(RR"R$R*ROR(R%R-RR6R0R+((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR2s    cCs:|jdkr2|jdkr2|jt|SdSdS(NR!tas(R"R#R$R(R(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyROs  cCsi|j}|jt|}|jdkrJ|jt|}nd}tj|d|d|S(NR)tcondR(R-R$R9R"RRtAssertStatNode(R%RRQR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_assert_statements    t;RcCs}|j}|jt|g}x0|jdkrW|j|jt|q(Wt|}tj|d|d|S(Ntelift if_clausest else_clause(R-R$t p_if_clauseR"R*t p_else_clauseRt IfStatNode(R%RRVRW((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_if_statements     cCs=|j}t|}t|}tj|d|d|S(Nt conditiontbody(R-R9tp_suiteRt IfClauseNode(R%RttestR]((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRXs     cCs+|jdkr#|jt|SdSdS(Ntelse(R"R$R^R(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRYs  cCsY|j}|jt|}t|}t|}tj|d|d|d|S(NR\R]RW(R-R$R9R^RYRt WhileStatNode(R%RR`R]RW((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_while_statements       cCs|j}|jt|}|jdkr>t||S|jtkrZt||S|jdkrvt||S|jddS(NRLtfroms'Expected 'in' or an inequality relation( R-R$t p_for_exprR"tp_standard_for_statementtinequality_relationstp_integer_for_statementt!p_old_style_integer_for_statementR(R%RR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_for_statements      c CsV|jt|}t|}t|}tj|jd|d|d|d|S(NttargettiteratorR]RW(R$tp_for_iteratorR^RYRt ForInStatNodeR(R%RkRlR]RW((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRfs    c Cs|j}|j|j}t|}|j}t|}t|}|d|dkrst|dnt|}t|} t j |j d|d|d|d|d|d|d | S( Nis4Relation directions in integer for-loop do not matchtbound1t relation1Rkt relation2tbound2R]RW( R"R$R-Rtp_inequality_relationRDRR^RYRtIntegerForStatNodeR( R%Rotrel1tname_posRktrel2_postrel2RrR]RW((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRh)s(          c Cs|jt|}t|}|j}t|}|j}t|}t|}|jszt|jdn||jkrt|dn|d|dkrt|dnt |} t |} t j |jd|d|d|d|d |d | d | S( Ns4Target of for-from statement must be a variable names5Variable name in for-from range does not match targetis,Relation directions in for-from do not matchRoRpRkRqRrR]RW( R$RDRsR-R(RRRR'R^RYRRt( R%RkRoRut name2_postname2RwRxRrR]RW((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRi?s6               cCs7|jtkr&|j}|j|S|jddS(Ns#Expected one of '<', '<=', '>' '>='(R"RgR$R(R%R3((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs]s   cCs|j}t|}|jdkr|j|g}xC|jdkr|jt||jdkrrPn|jq=Wtj|d|S|SdS(NR)RLR(R-RDR"R$R*R.R(R%RRR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRegs    cCs+|j}t|}tj|d|S(Ntsequence(R-RR.t IteratorNode(R%RR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRmws  cCs|j}|jt|}g}d}|jd krx&|jdkre|jt|q@W|jdkr|jt|}ntj|d|d|d|S|jdkr|jt|}tj |d|d|S|j ddS( NtexceptRaR]texcept_clausesRWtfinallytfinally_clausesExpected 'except' or 'finally'(sexceptselse( R-R$R^RR"R*tp_except_clauseRtTryExceptStatNodetTryFinallyStatNodeR(R%RR]R~RWR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_try_statement|s(          c Cs|j}|jd}d}d}|jdkrt|}|jdkr|jt|}|jdkr|jt|}qqnt|}tj|d|d|d|d|S(NRR)tpatternt exc_targett tb_targetR](R-R$RR"R9R^RtExceptClauseNode(R%RR'R(ttb_valueR]((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs         c Cs|j}|jt|\}}|jd|jr|jj||}|r|jj|t |d}t ||d|}zt ||}Wd|j X|SdSn tj|SdS(Ns!Syntax error in include statementtrUtparent_scanner(R-R$RRtcompile_time_evaltcontexttfind_include_filetincluded_filesR*topenRtp_statement_listtcloseRRR( R%RRRCtinclude_file_nametinclude_file_pathtfts2ttree((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_include_statements      cCs}|j}|j|jdkrl|jdkrl|j}|jt|}tj|d|d|S|jddS(NR!R tstateR]sOnly 'with nogil' implemented(R-R$R"R#R^Rt GILStatNodeR(R%RRR]((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_with_statements     cCs|jdkrt|}nx|jdkr<t|}nZ|jdkrZt|}n<|jdkrxt|}n|jdkrt|}n|jdkrt|}n|jdkrt|}n|jdkr|jdkr|j d nt |}n|jd kr-t |}ni|jd krNt ||}nH|jdkrlt |}n*|jdkrt |}n t|}|S(NtglobaltprinttdeltbreaktcontinuetreturntraiseR.R;R<s-cimport statement not allowed in this contextR:RdtassertR(smodules module_pxd(R"RRRR!R#R&R,RRR9RIRSRR (R%RRt((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_simple_statements8 cCst||}|jdkr|g}xF|jdkro|j|jdkrVPn|jt||q*Wtj|djd|}n|jd|S(NRTRRiRs%Syntax error in simple statement list(sNEWLINEsEOF(RR"R$R*RR5RR(R%RR8R((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_simple_statement_lists   cCs+|j}d|_t|}||_|S(Ni(RR(R%toldR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_compile_time_exprs     cCsz|j}|j}|jt|}|jdt|}|j|}|j|||jt j |S(NR( R-RR$R(RPRtcompile_time_valuetdeclareRRR(R%RtdenvR'RR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_DEF_statements       c Cs|j}|j}|}|j}d}xq|jt|}|o[t|j||_t||}|jr|}d}n|j dkr-Pq-q-|j dkr|j||_t||}|r|}qn|st j |}n||_|S(NitELIFtELSE( R-RRRR$RtboolRR^R"RR( R%RRt saved_evalt current_evalRRKRR]((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_IF_statement s2           cCs|j}|j}|jdkrP|jdkrC|jdnt||S|jdkrit|S|jdkrt||S|jdkrd}|j|jd kr|d d}|jqn|r|jd kr|jdnt ||S|j r t|j dn|jdkrX|jd!krN|jdnt |S|jdkr|jdkr|jdnt |S|jdkrt||S|jd kr|jdkr|jdkrt|S|jdkr|jdkrt|ddS|jd"kr0|jdn|jdkrIt|S|jdkrbt|S|jdkr{t|S|jdkrt|S|jdkrt|St||SdS(#NtctypedefR;R<s#ctypedef statement not allowed heretDEFtIFtcdefiRZRRtc_classt c_class_pxdscdef statement not allowed heres%'api' not allowed with this statementtdefRKtpropertysdef statement not allowed heres!class definition not allowed heretincludeR!RRs%Executable statement not allowed heretiftwhiletforttrytwith(smodules module_pxd(smodules module_pxdsfunctionRR(smodulesclassRsproperty(RRsproperty(R-RR"RRtp_ctypedef_statementRRR$tp_cdef_statementRRtp_def_statementtp_class_statementRR#tp_property_declRR[RcRjRRR(R%RRR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyt p_statement%sb           -      cCso|j}g}x)|jdkr=|jt||qWt|dkrX|dStj|d|SdS(NtDEDENTRiiR(RsEOF(R-R"R*RRRR5(R%RRR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR`s cCs|j}|jdd}g}|jdkr|j|j|sT|rct|}nt||}|jnV|j rt |j dn|j d krt ||}nt|}|jd|r||fS|SdS( NRRs%'api' not allowed with this statementR;RKRR sSyntax error in declarations(smodulesclasssfunctionsother(R-RPRR"R$t expect_indentt p_doc_stringRt expect_dedentRRRRRRR(R%Rtwith_doctwith_pseudo_docRtdoctstmtsR]((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR^ks(          cCs*|jdkrt|St||SdS(NRo(R"tp_c_complex_base_typetp_c_simple_base_type(R%t self_flag((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRls cCs=|jdkr5|jtkr5|j}|j|SdSdS(NR!R(R"R#tcalling_convention_wordsR$(R%RK((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_calling_conventions   t __stdcallt__cdeclt __fastcallcCsZ|j}|jt|}t|dd}|jdtj|d|d|S(NRiiRpRjRk(R-R$RlRmRPRtCComplexBaseTypeNode(R%RRjRk((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs     cCs#d}d}d}g}|j}t|rd}t|\}}|jdkr||jtkr||j}|jqd}nm|jst|r|j}|jx?|jdkr|j ||jt |}qWnd}t j |d|d|d|d |d |d |S( NiiR!RRwR't module_pathtis_basic_c_typetsignedtlongnesst is_self_arg(R-tlooking_at_base_typetp_sign_and_longnessR"R#tbasic_c_type_namesR$tlooking_at_type_nametlooking_at_dotted_nameR*R(RRtCSimpleBaseTypeNode(R%Rtis_basicRRRRR'((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs0            cCst|p|jS(N(RR(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRqscCs|jdko|jtkS(NR!(R"R#tbase_type_start_words(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRscCsM|jdkrE|j}|j|jdk}|jd||SdSdS(NR!Rwi(R"R#R$tput_back(R%R'RK((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs  tvoidtcharRRtdoubletshortRRtunsignedcCsd}d}x|jdkr|jtkr|jdkrEd}nL|jdkr]d}n4|jdkrud}n|jd kr|d7}n|jqW||fS( NiiR!RRiRiR(R"R#tsign_and_longness_wordsR$(R%RR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs!    cCs+t|}|r!|\}}nd}|S(N(RR(R%tliteralRCtcname((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyt p_opt_cnames  c Csy|j}|jdkr|j|jdks@t|rvtj|dddd}t|||||} qt||d|d|d|d |d d } |j dnt ||||||} | r | j r |jdkr t |jd | j nxh|jdkrt|j}|jd krIt || } n"|jt|||| |} d}q W| S(NRoRpR'RRRitis_typet cmethod_flagtnonemptytcalling_convention_allowedis&%s on something that is not a functionRvi(RvRo(R-R"R$RqRtCNameDeclaratorNodeRtp_c_func_declaratorRmRPtp_c_simple_declaratortcalling_conventionRtp_c_array_declarator( R%RRiRRRRRRRK((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRms,       cCs`|j}|j|jdkr4t|}nd}|jdtj|d|d|S(NRRt dimension(R-R$R"RRRPRtCArrayDeclaratorNode(R%RRtdim((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs   c Cst||d|dd}t|}|jdt|}t|\}} t|} tj|d|d|d|d|d | d |p|jp| d | S( NRtnonempty_declaratorsiRpRRt has_varargstexception_valuetexception_checkR twith_gil( t p_c_arg_listtp_optional_ellipsisRPtp_nogiltp_exception_value_clauset p_with_gilRtCFuncDeclaratorNodeR ( R%RRRRRtellipsisR texc_valt exc_checkR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs       c Cs|j}t|}|jdkrp|jt||d|d|d|d|}tj|d|} n |jdkr|jt||d|d|d|d|}tj|dtj|d|} n|jdkr:|j} |r|j| n|r!t |jd n|jt |} n(|rVt |jd nd } d} tj |d | d | } || _ | S(NR]RiRRRRs**R!sDeclarator should be emptysEmpty declaratorRR'R(R-RR"R$RmRtCPtrDeclaratorNodeR#R?RRRRR( R%RRiRRRRRRRKR'R((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR(s>            cCs4|jdkr,|jdkr,|jdSdSdS(NR!R ii(R"R#R$(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRKs cCs2|jdkr*|j|jddSdSdS(NRtgilii(R"R$texpect_keyword(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRRs   cCsd}d}|jdkrx|j|jdkrGd}|jqx|jdkrid}|jnt|}n||fS(NiR}R]it?(RR"R$R9(R%RR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRZs   R]s**Rwc Csqg}|}x^|jtkrl|jt||||d|d||jdkrYPn|jd}qW|S(NRtkw_onlyR)i(R"tc_arg_list_terminatorsR*t p_c_arg_declR$(R%Rt in_pyfuncRRR RR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRks  cCs%|jdkrt|dSdSdS(NRwii(R"R(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRzs c Cs|j}d}d}t||} t||d|} |jdkr|j} |j|jdkr|jdkr|jn |jd|st|d| n| dk}n|jdkr|jt|}nt j |d | d | d |d |d |S(NRR6R=R!RsExpected 'None's*'%s None' only allowed in Python functionsRRjRkt allow_nonetdefaultR (sorsnot( R-RRlRmR"R$R#RR9Rt CArgDeclNode( R%RRRRR RRRRjRktor_not((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs.       cCs4|jdkr,|jdkr,|jdSdSdS(NR!Rii(R"R#R$(R%((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_apis cCs|dd}|j}t||j|_|jpBt||_|jrw|jdkrwt|dtqwn|jdkr|jdkrt|||St|rd|_ n|jdkrt ||S|jd kr|j dkrt|d nt |||S|jd kr|j tkr|j dkrTt|dn|j dkrst|||St|||Sn<|jdkrt|}|jd|St|||SdS(NRiR tpublicsCannot combine 'api' with '%s'texternRdRRKR;R<s*Extension type definition not allowed hereR!s/C struct/union/enum definition not allowed heretenumRsExpected a newline(sprivateR(smodules module_pxd(smodules module_pxd(R-t p_visibilityRRRRR"tp_cdef_extern_blockRR t p_cdef_blockRtp_c_class_definitionR#tstruct_union_or_enumtp_c_enum_definitiontp_c_struct_or_union_definitionRRtp_c_func_or_var_declaration(R%RRRt((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs8       cCst||ddS(NRi(R^(R%R((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRscCsd}|jd|jdkr/|jnt|\}}|dddddt}t|rtd|_nt||}t j |d|d |S( NRdR]RiRRRt include_fileR]( RRPR"R$RtTrueRR R^RtCDefExternNode(R%RRR RCR]((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs     RcCs |j|jdkrH|j}|j|j|t|}n d}d}d}|jdg}|jdkrt||nA|j|jx |jd krt||qW|j t j |d|d|d|d |j d |j d |jd kS(NR!RRRRR'RRRRtin_pxdR<(sDEDENTsEOF(R$R"R#R?RRRPt p_c_enum_lineRRRt CEnumDefNodeRRR(R%RRR'RR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs,          cCsz|jdkr_t||xJ|jdkr[|j|jdkrKPnt||qWn |j|jddS(NRR)RRsSyntax error in enum item list(sNEWLINEsEOF(R"t p_c_enum_itemR$R(R%R((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR$s   c Cs~|j}t|}t|}d}|jdkrR|jt|}n|jtj |d|d|d|dS(NRR'RR( R-R(RRR"R$R9R*RtCEnumDefItemNode(R%RRR'RR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR&s    c Cs|j||j}|jt|\}}g}|jdkr|jxC|jdkr|jt||jdkrPn|jqTW|jdn|r|j rt|dnt |}|j |d}|jdkr|j|jd|j g}t } x[|jdkr|jd krh|jt||j| q(|j|jd q(W|jn |jd tj|d |d |d|d|d|d|jd|jd|jdkd|jd| S(NRoR!R)RpsOnly C++ struct may have basesRRRRsExpected a newlines*Syntax error in struct or union definitionR'RRRt attributesRRR#R<Rtbases(RR#R$tp_qualified_nameR"R*RPRRRR?RRR RR-RRRtCStructOrUnionDefNodeRRR( R%RRRRR'R)RR(tbody_ctx((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRsP                   cCs||j}|}|jdkrx|jdkrx|j}|dkrk||krk|jd||fn|jn|S(NR!RRtreadonlyR s,Conflicting visibility options '%s' and '%s'(sexternspublicsreadonly(R-R"R#RR$(R%tprev_visibilityRR((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR>s    c Csi|jdk}t|}t||d|dd}|jdkr|jdkrd|jdnt|td d d d}tj|d |j d |d|d|d|j }n|g}xX|jdkr|j |jdkrPnt||d|dd}|j |qW|j dtj|d |j d |d|d|jdkd|j }|S(NRRRRiRR;s&C function definition not allowed hereRRRRRjRkR]RR)Rs&Syntax error in C variable declarationt declaratorsR#R<(sc_classs c_class_pxd(smodulesc_class(RRlRmR"RR^R Rt CFuncDefNodeRRR$R*Rt CVarDefNode( R%RRRRjRktsuiteRKR/((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRIs8         c Cs3|j}|jt||j}t|}|ddd|}|r[d|_n|jdkrzt|||S|jdkr|jdkr|jdkrt |||St |||Snet |}t ||d dd d}|j d tj|d |d |d|jd|jdkSdS(NRiRRKR!RLRMRRRs"Syntax error in ctypedef statementRjRkR#R<(RLsunionsenum(R-R$RRRRR"RR#RRRlRmRRt CTypeDefNodeR(R%RRRRRjRk((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRjs(         cCs|j}|jt|}|jdt|dddd}d}d}|jdkr|j|jdkrt|}n|jdkr|j|jt|ddddddq|jd kr|j d qn|jd kr|jt|}n|jd t |rAt |j d nt |t d ddd\}}tj|d|d|d|d|d|d|S(NRoRiRR]R!R)R Rps-Syntax error in Python function argument lists**s(Python function cannot be declared nogilRRRR'RRRRR](R-R$R(RPRRR"t p_py_arg_decltextendRRRR^R RtDefNode(R%RR'RRRRR]((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs6         $ cCs+|j}t|}tj|d|S(NR'(R-R(Rt PyArgDeclNode(R%RR'((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR4s  c Cs|j}|jt|}|jdkrW|jt|}|jdng}t|tdddd\}}tj |d|dt j |d |d |d |S( NRoRpRRKRiR'R)RRR]( R-R$R(R"RRPR^R RtPyClassDefNodeR.R(R%Rt class_namet base_listRR]((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs     $ cCsUg}t|}x6|jdkrJ|j|j|t|}qW||fS(NRw(R(R"R$R*(R%tpathR'((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR*s   t CClassOptionscBseZdZdZdZRS(iN(RRRtobjstruct_cnamet typeobj_cnametno_gc(((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR<sc Cs|jt|\}}|rY|jdkrY|jdkrY|jt|}n|}|j|t}d}d}|jdkr|jt|\} }|jdkr|jdn|j ddj | }n|jdkr t |||n|jd kr`|j d kr3d } nd } t |td | dd\} } n|jdd} d} |jdkr|st|dn|jrt|dqn]|jdkr|jst|dn|jst|dqn|jrt|dntj|d|jd|jd|jddj |d|d|d|d|d |d!|j d kd"| d#|  S($NR!RPRoR)s$C class may only have one base classRpRwRvRR<RRRRis"Syntax error in C class definitionRs)Module name required for 'extern' C classs?Type object name specification not allowed for 'extern' C classRs>Object struct name specification required for 'public' C classs<Type object name specification required for 'public' C classs+Only 'public' C class can be declared 'api'RRRR/R9R0tbase_class_moduletbase_class_nametoptionsR#RR](R$R*R"R#R(R?R<RRRPRtp_c_class_optionsRR^R RRR>R=RRt CClassDefNodeR( R%RRRR9R0RBR@RAtbase_class_patht body_levelRR]((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRsh $      '         cCs0|jdx |jdkr#Pn|jdkrs|jdkrWt|jdn|jt||_n|jdkr|jdkrt|jdn|jt||_ n9|jd kr|jd |_ n|jd |j|jd krPn|jq|jd ddS(NRvR!tobjectRRs@Object name option only allowed for 'public' or 'extern' C classttypes>Type name option only allowed for 'public' or 'extern' C classtnogcis Unrecognised C class option '%s'R)RsExpected a C class option(spublicsextern(spublicsextern( RPR"R#RRR-R$R(R=R>R?(R%RRB((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRCs,      cCse|j}|jt|}t|tdddd\}}tj|d|d|d|S(NRRRiR'RR](R-R$R(R^R Rt PropertyNode(R%RR'RR]((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRs    $cCs[|jdks|jdkrSt|\}}|jdkrO|jdn|SdSdS(NRRRsSyntax error in doc string(R"RRR(R%RCRK((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyR#s cCs|jd|j}t|}|r4d}nd}t|td|}|jdkr|jdt|jt|jfnt |d|d|S( NRGR<R;RRs!Syntax error in statement [%s,%s]RR]( R?R-RRR R"RRR#R(R%tpxdRRRR]((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pytp_module,s     #c Csd|}|r|j||r7|jd|nt|}|tkr|jd|d|dfx5tdt|D]}t||||dqW|jd|dSt|trgy |j}Wnt k r|j j }nX|jd||j fxO|j jD]>\}} |d kr!|d kr!t|| |d|q!q!WdS|tkr|jd x2tt|D]}t||||dqW|jd |dSn|jd ||fdS(Ns s%s: s (%s @ %s iiis%s) s%s @ %s ttagRs[ s%s] s%s%s (twriteRHRtxrangeRtprint_parse_treeRtNodeRMtAttributeErrorRRRR RR( RRtRRtindttRRMR'R((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyRP@s:        ( RQRRs==s>=s<=s<>s!=sinsissnot(RpRRRRsNEWLINE( s+=s-=s*=s/=s%=s**=s<<=s>>=s&=s^=s|=(sclasssstructsunion(RTsNEWLINEsEOF(RQs<=RRs>=(RRR(svoidscharsintsfloatR(sshortslongssignedsunsigned(R]s**RwRp(sstructsunionsenum((tosRtstringRRttypesRRtScanningRRR.RtErrorsRRRRGR R(R,R5R9R7R8R<R@RHRFRERDRTRVRXRYR\R`ReRfRgRuRyR}R~RRRRRRRRxRRRRRRRRRRRRRRRR RRR RRRR!R#R&R,R9RIRJRNR>R2RORSR$R[RXRYRcRjRfRhRiRsRgReRmRRRRRRRRRRRR^RlRRRRRqRRRRRRRRmRRRRRRR RRRRRRRRRR$R&RRRRRR4RR*R<RRCRRRLRP(((s:/usr/lib/python2.7/site-packages/Pyrex/Compiler/Parsing.pyts,                  E      6     ; (    !           .                   ;            #       &    - !      ;