usr/lib/python3.9/site-packages/ply/__pycache__/cpp.cpython-39.pyc000064400000037332151121504360020653 0ustar00a ԅZg @slddlmZddlZejjdkr*eefZneZeZ dZ dZ ddZ dZ d Zd Zd d ZeZd ZddZddZddZddZddZddlZddlZddlZddlZedZdddddddd d!d" Zd#d$Z Gd%d&d&e!Z"Gd'd(d(e!Z#e$d)krhddl%m&Z&e&&Z'ddlZe(ej)d*Z*e*+Z,e#e'Z-e-.e,ej)d*e-/Z0e0sXqhe1e-j2e0qFdS)+) generatorsN) ZCPP_ID CPP_INTEGERZ CPP_FLOATZ CPP_STRINGZCPP_CHARCPP_WSZ CPP_COMMENT1Z CPP_COMMENT2Z CPP_POUNDZ CPP_DPOUNDz+-*/%|&~^<>=!?()[]{}.,;:\'"cCs|jj|jd7_|S)z\s+ lexerlinenovaluecounttr+/usr/lib/python3.9/site-packages/ply/cpp.pyt_CPP_WS!srz\#z\#\#z[A-Za-z_][\w_]*cCs|S)zA(((((0x)|(0X))[0-9a-fA-F]+)|(\d+))([uU][lL]|[lL][uU]|[uU]|[lL])?)rr rrrr-srz?((\d+)(\.\d+)(e(\+|-)?(\d+))? | (\d+)e(\+|-)?(\d+))([lL]|[fF])?cCs|jj|jd7_|S)z\"([^\\\n]|(\\(.|\n)))*?\"rrr rrr t_CPP_STRING7srcCs|jj|jd7_|S)z(L)?\'([^\\\n]|(\\(.|\n)))*?\'rrr rrr t_CPP_CHAR=srcCs8|jd}|jj|7_d|_|r.d|nd|_|S)z(/\*(.|\n)*?\*/)rr )r r rr type)r Zncrrrrt_CPP_COMMENT1Cs rcCsd|_d|_|S)z (//.*?(\n|$))rr)rr r rrrt_CPP_COMMENT2Ls rcCs(|jd|_|jd|_|jd|SNr)r rrskipr rrrt_errorRs   rz\?\?[=/\'\(\)\!<>\-]#\^[]|{}~) =/'()!<>-cCstdd|S)NcSst|dSN) _trigraph_repgroup)grrr|ztrigraph..) _trigraph_patsub)inputrrrtrigraph{sr7c@seZdZdddZdS)MacroNFcCs0||_||_||_||_|r&|d|_d|_dSr-)namer arglistvariadicvarargsource)selfr9r r:r;rrr__init__s zMacro.__init__)NF)__name__ __module__ __qualname__r?rrrrr8sr8c@seZdZd&ddZddZddZdd Zd d Zd d ZddZ ddZ ddZ ddZ d'ddZ ddZd(ddZddZddZd d!Zdifd"d#Zd$d%ZdS)) PreprocessorNcCsl|durtj}||_i|_g|_g|_|t}|dt d||dt d|d|_ dS)Nz __DATE__ "%s"z%b %d %Yz __TIME__ "%s"z%H:%M:%S) lexrmacrospath temp_pathlexprobetime localtimedefinestrftimeparser)r>rZtmrrrr?szPreprocessor.__init__cCs0g}|j||j}|s q,||q|SN)rr6tokenappend)r>texttokenstokrrrtokenizes    zPreprocessor.tokenizecCstd|||fdS)Nz%s:%d %s)print)r>filelinemsgrrrerrorszPreprocessor.errorcCs|jd|j}|r$|jdkr.tdn|j|_|jd|j}|r^t|jdkrhtdn|j|_t|j|_ |jd|j}|r|jdkrtdn|j|_ |jd|j}|r|jdkrd|_ n|j|_ |jd |j}|r|jd krd|_ td n|j|_ |j |j f|_ gd }|D]:}|j||j}|rl|j|kr@td |q@dS) NZ identifierz"Couldn't determine identifier typeZ12345i90zCouldn't determine integer typez "filename"zCouldn't determine string typez rz%Couldn't determine token for newlines) r*r+r##rr'r(,.z,Unable to lex '%s' required for preprocessor)rr6rOr rUrt_IDint t_INTEGERt_INTEGER_TYPEt_STRINGZt_SPACEZ t_NEWLINEt_WS)r>rScharscrrrrHsD                 zPreprocessor.lexprobecCs|j|dSrN)rFrP)r>rFrrradd_path szPreprocessor.add_pathccs|j}dd|D}tt|D]T}|d}||dr(|t|kr(||dd||||<d||<|d7}q4q(d|}||d|_g}| }|sq| ||j |j vrd|j vr|Vg}q|r|VdS)NcSsg|] }|qSr)rstrip.0xrrr r3z,Preprocessor.group_lines..rrr.r)rZclone splitlinesxrangelenendswithjoinr6r rOrPrrbr )r>r6rDlinesijZ current_linerSrrr group_liness*     zPreprocessor.group_linescCstd}|t|kr*||j|jvr*|d7}q|d|=t|d}|dkrb||j|jvrb|d8}q@||dd=|Sr)rnrrb)r>rRrrrrr tokenstrip:s    zPreprocessor.tokenstripc Csg}g}g}d}t|}d}||kr>||j|jvr>|d7}q||krd||jdkrd||dn ||j|djddggfS|d7}||kr`||}|jdkr|||d7}n|jdkr|d8}|dkr|r||||||d||fS||nD|jdkrL|dkrL|||||dg}n |||d7}q||j|djddggfS) Nrrr'zMissing '(' in macro argumentsr(r[r.zMissing ')' in macro arguments) rnrrbr rPrYr=r ru) r>Z tokenlistargs positionsZ current_argZnestingZtokenlenrrr rrr collect_argsVsD            zPreprocessor.collect_argscCs$g|_g|_g|_d}|t|jkr |j|j|jkrt|j|j|jvrt|j|j|j}|dkr|j|djdkrt |j||j|<|j |j|_|j|d=|j ||dfqn|dkr|j|djdkr|j d||df|j|d=|d8}qn^|dt|jkr`|j|djdkr`|j d||f|j|d=qn|j d||fn|j|jdkr|j r|dkr|j|djdkr|dt|jkr|j|dj|jkr|j|dj|j kr|j |d|d7}q|jjdd d d dS) NrrrrZrder[cSs|dS)Nr)rirrrr2r3z,Preprocessor.macro_prescan..T)keyreverse)patch str_patchvar_comma_patchrnr rr]r:indexcopyrarPr;r<sort)r>macrorrargnumrrr macro_prescansD(   * ( zPreprocessor.macro_prescanc Cs dd|jD}i}|jD]X\}}||vrRdddd||Ddd||<t||||<||||_qd}|jr|d s|jD]}d||<d }qi}|jD]^\} }}| d kr|||||d <q| d kr||vr|||||<|||||d <q|rdd|D}|S)NcSsg|]}t|qSrrrhZ_xrrrrjr3z2Preprocessor.macro_expand_args..z"%s"rkcSsg|] }|jqSrr rgrrrrjr3rz\\Fr.TrdrrycSsg|] }|r|qSrrrhZ_irrrrjr3) r r~rpreplacerr;rr} expand_macros) r>rrvrepZ str_expansionrrrZ comma_patchexpandedZptyperrrmacro_expand_argss.( zPreprocessor.macro_expand_argscCs|dur i}d}|t|kr||}|j|jkr|j|jvr|j|vrd||j<|j|j}|js|dd|jD|}|D] }|j|_q||||d<|t|7}n|d}|t|kr||j|jvr|d7}q|t|kr||jdkr| ||d\} } } |j sbt| t|jkrb| |j |jd|jt|jf|| }q|j rt| t|jdkrt|jdkr| |j |jd |jt|jdfn&| |j |jd |jt|jdf|| }n|j rZt| t|jdkr| gnD||| t|jd|| d| t|jd<| t|jd=||| } || |} | D]} |j| _qv| |||| <|t| 7}n|d7}||j=qn"|jd kr|j|_||j|_|d7}q|S) NrTcSsg|]}t|qSrrrrrrrjr3z.Preprocessor.expand_macros..rr'zMacro %s requires %d argumentsrzz(Macro %s must have at least %d argumentsz'Macro %s must have at least %d argumentZ__LINE__)rnrr]r rEr:rr rbrxr;rYr=rPrr_r`)r>rRrrrr mexryrstokcountrvrwrrrrrrs^    "  (&  4     zPreprocessor.expand_macroscCsLd}|t|kr||j|jkr||jdkr|d}d}d}|t|kr||j|jvrl|d7}qDnn||j|jkr||j|jvrd}nd}|sqn<||jdkrd}n(||jd krqn||j||jd |d7}qD|j ||_| |||_||d|d=|d7}q| |}t |D]\}}|j|jkrpt |||<|j ||_| d||_n`|j|j kr.t |||<t||j||_||jd d vr.||jdd ||_qq.d dd|D}|dd}|dd}|dd}z t|}Wn.tyF||j|djdd}Yn0|S)NrZdefinedrFZ0LZ1Lr'Tr(zMalformed defined()r.Z0123456789abcdefABCDEFrkcSsg|]}t|jqSrstrr rgrrrrj\r3z)Preprocessor.evalexpr..z&&z and z||z or r)z not zCouldn't evaluate expression)rnrr]r rbrErYr=r r_r`r enumeraterrrpreval Exception)r>rRrrrsZ needparenresultr exprrrrevalexpr1s\"            zPreprocessor.evalexprccst|}||}|sd}|d|||_g}d}d}g}|D],} t| D]\} } | j|jvrPqjqP| jdkrb| D]$} | j|jvrzd| jvrz|| qz| | | dd} | r| dj} | | dd}nd} g}| d kr|r`| |D] } | Vqg}||qp| d krz|r`| |D] } | Vq2g}|j d }| |D] } | VqX||j d <||_qp| d kr|r`| |D] } | Vqg}| |qp| d kr|||f|r`|dj|j vrd}d}nd}qp| dkr8|||f|r`|dj|j vr0d}d}nd}qp| dkrv|||f|r`||}|spd}d}nd}n| dkr|r|ddr|rd}n|s||}|rd}d}n||j| djdn| dkr*|r|ddr(|rd}n|s(d}d}n||j| djdn6| dkrp|rH|\}}n||j| djdnqB|rB|| qB| |D] } | Vq|g}dS)Nrkz __FILE__ "%s"TFrrrrrKincludeZ__FILE__undefZifdefZifndefifelifr.zMisplaced #elifelsezMisplaced #elseZendifzMisplaced #endif)r7rtrKr=rrrbr rPrurrErrrrYr popextend)r>r6r=r rqchunkenableZ iftriggerZifstackrirrrSZ dirtokensr9rvZoldfilerrrrparsegenls                        zPreprocessor.parsegenc cs|sdS|r|djdkr4|dj|jkr4||}|djdkrd}|t|krl||jdkrbqx|d7}qFtddSddd|d|D}|jdg|j}nB|dj|jkr|djdd }|jdg|j}n td dS|D]}t j||}zbt |d  }t j |}|r0|j d||||D] } | Vq<|rX|jd=WqWqtyvYq0qtd |dS) Nrr*rr+zMalformed #include <...>rkcSsg|] }|jqSrrrgrrrrjr3z(Preprocessor.include..r.zMalformed #include statementrzCouldn't find '%s')r rrarrnrUrprFrGosopenreaddirnameinsertrIOError) r>rRrrfilenamerFpZinamedataZdnamerSrrrrsF      zPreprocessor.includecCst|tr||}|}zz|d}t|dkr:|d}nd}|s^t|jg}||j|j<n4|j|jvrt|j| |dd}||j|j<n|jdkr| |dd\}}}d} |D]} | rt dqd dd | D} | d kr d } |j | d_d | d_d } | dd=qnb| d dd kr| dj|j krd } | dd=| djd dd kr| djdd | d_qt| dks| dj|j krt dqq| |d|d} d} | t| krX| dt| krL| | j|jvr| | djdkr| | =qn0| | jdkrL| | dj|jvrL| | d=| d7} qt|j| dd |D| }||||j|j<nt dWntyt dYn0dS)Nrrrzr'Fz0No more arguments may follow a variadic argumentrkcSsg|]}t|jqSrrrrrrrj:r3z'Preprocessor.define..z...TZ __VA_ARGS__zInvalid macro argumentrZcSsg|]}|djqS)rrrgrrrrjXr3zBad macro definition) isinstance STRING_TYPESrTrnr8r rErrbrurxrUrpr]r LookupError)r>rRZlinetokr9Zmtyperrrvrwr;aZastrZmvaluerrrrrrK sl           $ &&    zPreprocessor.definecCs.|dj}z |j|=Wnty(Yn0dS)Nr)r rEr)r>rRidrrrrfs    zPreprocessor.undefcCs||_||||_dSrN)ignorerrM)r>r6r=rrrrparserszPreprocessor.parsecCsBz"t|j}|j|jvr|WSqWnty<d|_YdS0dSrN)nextrMrr StopIteration)r>rSrrrrO{s   zPreprocessor.token)N)N)N)r@rArBr?rTrYrHrertrurxrrrrrrrKrrrOrrrrrCs&  < !5,2 H; 1F  rC__main__r)3Z __future__rsys version_infomajorrZunicoderrangermrRliteralsrZ t_CPP_POUNDZ t_CPP_DPOUNDZt_CPP_IDrZ t_CPP_INTEGERZ t_CPP_FLOATrrrrrrerrIZos.pathrcompiler4r/r7objectr8rCr@Zply.lexrDrrargvfrr6rrrOrSrUr=rrrr sj      j