ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyc in qrscanner-0.3.1 vs ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyc in qrscanner-0.4

- old
+ new

@@ -1,153 +1,145 @@ -Ńň -âqLc@słdZdZddkZddkZddkZhdddddf6d d -d d f6d ddf6ddf6ddf6ZhaxDeiƒD]6\Z Z -ei e -ƒZ xe D]Z e te <qŻWqW[ [ [ hdd6ZgZtiƒD]Zeeieeƒqî[ZddieƒdZ ei e eiƒahdd6dd6dd6dd6dd 6dd!6d d"6Zd#„Zeeiƒd$d%„d&eƒZdieeieƒƒZ -ei e -ƒZd'd(gd)d(gd*d gd+d gd,d gd-d.ggZx%eD]Zei ed/ƒed/<q -Wd0„Z[ -[[d1e fd2„ƒYZ!ei d3ƒZ"ei d4ƒZ#ei d5ƒZ$d6e fd7„ƒYZ%d8e%fd9„ƒYZ&[dS(:s6src/engine/SCons/cpp.py 5023 2010/06/14 22:05:46 sconss +ó +âqLc@sŤdZdZddlZddlZddlZidddddf6d d +d d f6d ddf6ddf6ddf6ZiaxDejƒD]6\Z Z +ej e +ƒZ xe D]Z e te <qŻWqW[ [ [ idd6ZgtjƒD]Zejeeƒ^qęZddjeƒdZ ej e ejƒaidd6dd6dd6dd6dd 6dd!6d d"6Zd#„Zeejƒd$d%„d&eƒZdjeejeƒƒZ +ej e +ƒZd'd(gd)d(gd*d gd+d gd,d gd-d.ggZx%eD]Zej ed/ƒed/<qWd0„Z[ +[[d1efd2„ƒYZ ej d3ƒZ!ej d4ƒZ"ej d5ƒZ#d6efd7„ƒYZ$d8e$fd9„ƒYZ%[dS(:s6src/engine/SCons/cpp.py 5023 2010/06/14 22:05:46 sconss SCons C Pre-Processor module -i˙˙˙˙Ns\s+(.+)tifteliftifdeftifndefs\s*(.+)timporttincludet include_nextttelsetendifs/\s+([_A-Za-z][_A-Za-z0-9_]*)(\([^)]*\))?\s*(.*)tdefines\s+([_A-Za-z][A-Za-z0-9_]*)tundefs if(?!def)s ^\s*#\s*(t|s)(.*)$s not t!s != s!=s and s&&s or s||t?t:s cCst|idƒS(i(tCPP_to_Python_Ops_Dicttgroup(tm((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt<lambda>}stkeycCs -t|ƒS((tlen(ta((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR…streversesdefined\s+(\w+)s"\1" in __dict__sdefined\s*\((\w+)\)s/\*.*\*/s/\*.*s//.*s(0x[0-9A-Fa-f]*)[UL]+s\1icCs?tit|ƒ}x&tD]\}}|i||ƒ}qW|S(so +i˙˙˙˙Ns\s+(.+)tifteliftifdeftifndefs\s*(.+)timporttincludet include_nextttelsetendifs/\s+([_A-Za-z][_A-Za-z0-9_]*)(\([^)]*\))?\s*(.*)tdefines\s+([_A-Za-z][A-Za-z0-9_]*)tundefs if(?!def)s ^\s*#\s*(t|s)(.*)$s not t!s != s!=s and s&&s or s||t?t:s cCst|jdƒS(Ni(tCPP_to_Python_Ops_Dicttgroup(tm((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt<lambda>}stkeycCs +t|ƒS(N(tlen(ta((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR…streversesdefined\s+(\w+)s"\1" in __dict__sdefined\s*\((\w+)\)s/\*.*\*/s/\*.*s//.*s(0x[0-9A-Fa-f]*)[UL]+s\1icCs?tjt|ƒ}x&tD]\}}|j||ƒ}qW|S(so Converts a C pre-processor expression into an equivalent Python expression that can be evaluated. - (tCPP_to_Python_Ops_ExpressiontsubtCPP_to_Python_Ops_SubtCPP_to_Python_Eval_List(tstexprtrepl((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt CPP_to_PythonŸs - tFunctionEvaluatorcBs eZdZd„Zd„ZRS(s@ + (tCPP_to_Python_Ops_ExpressiontsubtCPP_to_Python_Ops_SubtCPP_to_Python_Eval_List(tstexprtrepl((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt CPP_to_PythonŸstFunctionEvaluatorcBs eZdZd„Zd„ZRS(s@ Handles delayed evaluation of a #define function call. - cCsQ||_ti|ƒ|_y|idƒ}Wntj -onX||_dS(sś + cCsO||_tj|ƒ|_y|jdƒ}Wntk +rAnX||_dS(sś Squirrels away the arguments and expansion value of a #define macro function for later evaluation when we must actually expand a value that uses it. - s##N(tnametfunction_arg_separatortsplittargstAttributeErrort expansion(tselfR!R$R&((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt__init__ľs cGsĎt|iƒt|ƒjotd|iƒ‚nh}x*t|i|ƒD]\}}|||<qLWg}x>|iD]3}||ijot|ƒ}n|i|ƒqvWdi|ƒ}t |t + s##N(tnametfunction_arg_separatortsplittargstAttributeErrort expansion(tselfR!R$R&((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt__init__ľs  cGsËt|jƒt|ƒkr1td|jƒ‚ni}x*t|j|ƒD]\}}|||<qJWg}x<|jD]1}||jkr˜t|ƒ}n|j|ƒqtWdj|ƒ}t |t ƒ|ƒS(so Evaluates the expansion of a #define macro function called with the specified values. s%Incorrect number of arguments to `%s's + ( RR$t -ValueErrorR!tzipR&treprtappendtjointevaltglobals(R'tvaluestlocalstktvtpartsRt statement((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt__call__Âs  -(t__name__t +ValueErrorR!tzipR&treprtappendtjointevaltglobals(R'tvaluestlocalstktvtpartsRt statement((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt__call__Âs(t__name__t __module__t__doc__R(R6(((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR ąs s\\ ? -s(\S+)\(([^)]*)\)s,\s*t PreProcessorcBs(eZdZeidhdd„Zd„Zd„Zdd„Z d„Z +s(\S+)\(([^)]*)\)s,\s*t PreProcessorcBs(eZdZejdidd„Zd„Zd„Zdd„Z d„Z d„Z d„Z d „Z d „Zd „Zd „Zd „Zd„Zdd„Zdd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZeZ d„Z!d„Z"RS( sA The main workhorse class for handling C pre-processing. - icCs˛t|ƒ}h|f|d6||fd6|_|iƒ|_|i|id<|o|i|_nh|id6}x+tiƒD]}t |d|ƒ||<q„W||_ + icCs°t|ƒ}i|f|d6||fd6|_|jƒ|_|j|jd<|re|j|_ni|jd6}x+tjƒD]}t |d|ƒ||<q‚W||_ dS(Nt"t<t__dict__tscons_current_filetdo_( ttuplet searchpathtcopyt cpp_namespacet all_includet -do_includeR>tTabletkeystgetattrt default_table(R'tcurrenttcpppathtdicttalltdtop((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR(îs    cCsftid|ƒ}ti|ƒ}g}|D]3}||dft|di|dƒiƒq,~S(s‰ +do_includeR>tTabletkeystgetattrt default_table(R'tcurrenttcpppathtdicttalltdtop((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR(îs   cCs^tjd|ƒ}tj|ƒ}g|D]2}|dft|dj|dƒjƒ^q(S(s‰ Turns the contents of a file into a list of easily-processed tuples describing the CPP lines in the file. The first element of each tuple is the line's preprocessor directive (#if, #include, #define, etc., minus the initial '#'). The remaining elements are specific to the type of directive, as pulled apart by the regular expression. - Rii(tline_continuationsRtCPP_ExpressiontfindallRFtmatchtgroups(R'tcontentst -cpp_tuplest_[1]R((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyttupleizes cCs"||_|i|i|ƒ|ƒS(sU + Rii(tline_continuationsRtCPP_ExpressiontfindallRFtmatchtgroups(R'tcontentst +cpp_tuplesR((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyttupleizes cCs"||_|j|j|ƒ|ƒS(sU Pre-processes a file. This is the main public entry point. - (t current_filetprocess_contentst read_file(R'tfile((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR6"s cCs‰g|_|iiƒ|_||_|i|ƒ|_|i|ƒx6|io+|iidƒ}|i|d|ƒqFW|i |ƒS(s` + (t current_filetprocess_contentst read_file(R'tfile((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR6"s cCs‡g|_|jjƒ|_||_|j|ƒ|_|j|ƒx4|jry|jjdƒ}|j|d|ƒqFW|j |ƒS(s` Pre-processes a file contents. This is the main internal entry point. i( -tstackRIRBtdispatch_tableRYRXttuplestinitialize_resulttpoptfinalize_result(R'RUtfnamett((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyRZ+s    -cCs)|ii|iƒ|iiƒ|_dS(s† +tstackRIRBtdispatch_tableRXRWttuplestinitialize_resulttpoptfinalize_result(R'RUtfnamett((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyRY+s    cCs)|jj|jƒ|jjƒ|_dS(s† Pushes the current dispatch table on the stack and re-initializes the current dispatch table to the default. - N(R]R,R^RIRB(R'((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytsaveAscCs0y|iiƒ|_Wntj -onXdS(sf + N(R\R,R]RIRB(R'((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytsaveAscCs.y|jjƒ|_Wntk +r)nXdS(sf Pops the previous dispatch table off the stack and makes it the current one. - N(R]RaR^t -IndexError(R'((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytrestoreIscCsdS(s + N(R\R`R]t +IndexError(R'((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytrestoreIs cCsdS(s Null method for when we explicitly want the action for a specific preprocessor directive to do nothing. - N((R'Rd((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt -do_nothingSscCs|d|_dS(Ni(RY(R'Rd((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR>ZscCsNtdi|dƒƒ}yt||iƒSWnttfj -odSXdS(s× + N((R'Rc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt +do_nothingSscCs|d|_dS(Ni(RX(R'Rc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR>ZscCsLtdj|dƒƒ}yt||jƒSWnttfk +rGdSXdS(s× Evaluates a C preprocessor expression. This is done by converting it to a Python equivalent and eval()ing it in the C preprocessor namespace we use to track #define values. - t iiN(RR-R.RCt NameErrort TypeError(R'Rd((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyteval_expression]s -cCs|g|_dS(N(tresult(R'Rc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR`iscCs |idS(Ni(Rm(R'Rc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyRblscCsq|d}x`|i|dD]M}|tijo -|}ntii||ƒ}tii|ƒo|SqWdS(sI + t iiN(RR-R.RCt NameErrort TypeError(R'Rc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyteval_expression]s +cCs|g|_dS(N(tresult(R'Rb((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR_iscCs |jdS(Ni(Rl(R'Rb((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyRalscCsm|d}x\|j|dD]I}|tjkr:|}ntjj||ƒ}tjj|ƒr|SqWdS(sI Finds the #include file for a given preprocessor tuple. - iiN(RAtostcurdirtpathR-tisfiletNone(R'RdRcRNtf((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytfind_include_fileos - - cCst|ƒiƒS(N(topentread(R'R\((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR[}scCs4|i}|i|d<|i|d<|i|d<dS(sX + iiN(RAtostcurdirtpathR-tisfiletNone(R'RcRbRNtf((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytfind_include_fileos + cCst|ƒjƒS(N(topentread(R'R[((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyRZ}scCs4|j}|j|d<|j|d<|j|d<dS(sX Causes the PreProcessor object to start processing #import, #include and #include_next lines. This method will be called when a #if, #ifdef, #ifndef or #elif evaluates True, or when we reach the #else in a #if, #ifdef, #ifndef or #elif block where a condition already evaluated False. - RRRN(R^t do_importRE(R'RdRN((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytstart_handling_includes‚s   cCs4|i}|i|d<|i|d<|i|d<dS(sN + RRRN(R]t do_importRE(R'RcRN((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytstart_handling_includes‚s   cCs4|j}|j|d<|j|d<|j|d<dS(sN Causes the PreProcessor object to stop processing #import, #include and #include_next lines. This method will be called when a #if, #ifdef, #ifndef or #elif evaluates False, or when we reach the #else in a #if, #ifdef, #ifndef or #elif block where a condition already evaluated True. - RRRN(R^Rh(R'RdRN((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytstop_handling_includes’s   cCsj|iƒ|i}|o(|iƒ|i|d<|i|d<n%|iƒ|i|d<|i|d<dS(sf + RRRN(R]Rg(R'RcRN((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytstop_handling_includes’s   cCsh|jƒ|j}|r@|jƒ|j|d<|j|d<n$|jƒ|j|d<|j|d<dS(sf Common logic for evaluating the conditions on #if, #ifdef and #ifndef lines. - RRN(ReR^RxRytdo_elif(R't conditionRN((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt_do_if_else_condition¤s -  -  - cCs|i|d|ijƒdS(s4 + RRN(RdR]RwRxtdo_elif(R't conditionRN((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt_do_if_else_condition¤s +  +  + cCs|j|d|jkƒdS(s4 Default handling of a #ifdef line. - iN(R|RC(R'Rd((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytdo_ifdef´scCs|i|d|ijƒdS(s5 + iN(R{RC(R'Rc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytdo_ifdef´scCs|j|d|jkƒdS(s5 Default handling of a #ifndef line. - iN(R|RC(R'Rd((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt do_ifndefşscCs|i|i|ƒƒdS(s1 + iN(R{RC(R'Rc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt do_ifndefşscCs|j|j|ƒƒdS(s1 Default handling of a #if line. - N(R|Rl(R'Rd((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytdo_ifŔscCsE|i}|i|ƒo(|iƒ|i|d<|i|d<ndS(s3 + N(R{Rk(R'Rc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytdo_ifŔscCsC|j}|j|ƒr?|jƒ|j|d<|j|d<ndS(s3 Default handling of a #elif line. - RRN(R^RlRxRy(R'RdRN((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyRzĆs -  + RRN(R]RkRwRx(R'RcRN((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyRyĆs +   cCsdS(s3 Default handling of a #else line. - N((R'Rd((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytdo_elseĐscCs|iƒdS(s4 + N((R'Rc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytdo_elseĐscCs|jƒdS(s4 Default handling of a #endif line. - N(Rg(R'Rd((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytdo_endifÖscCs€|\}}}}yt|ƒ}Wnttfj -onX|o*t||dd!|ƒ}||i|<n||i|<dS(s5 + N(Rf(R'Rc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytdo_endifÖscCs||\}}}}yt|ƒ}Wnttfk +r;nX|rkt||dd!|ƒ}||j|<n ||j|<dS(s5 Default handling of a #define line. - ii˙˙˙˙N(tintRkR)R RC(R'Rdt_R!R$R&t evaluator((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt do_defineÜscCs,y|i|d=Wntj -onXdS(s4 + ii˙˙˙˙N(tintRjR)R RC(R'Rct_R!R$R&t evaluator((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt do_defineÜscCs*y|j|d=Wntk +r%nXdS(s4 Default handling of a #undef line. - iN(RCtKeyError(R'Rd((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytdo_undefëscCsdS(s5 + iN(RCtKeyError(R'Rc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pytdo_undefës cCsdS(s5 Default handling of a #import line. - N((R'Rd((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyRwňscCs‰|i|ƒ}|i|ƒ}|o`|ii|ƒ|i|ƒ}d|fg|i|ƒd|ifg}||i|i(ndS(s6 + N((R'Rc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyRvňscCs‡|j|ƒ}|j|ƒ}|rƒ|jj|ƒ|j|ƒ}d|fg|j|ƒd|jfg}||j|j(ndS(s6 Default handling of a #include line. - R>N(tresolve_includeRtRmR,R[RXRYR_(R'Rdt include_fileRUt -new_tuples((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyREůscCsĚ|d}xŁ|ddjo‘y|i|}Wnmtj -oati|ƒ}|i|idƒ}t|ƒo(ti|idƒƒ}||Œ}qŸnX|pdSq W|d|d|dd!fS(sResolve a tuple-ized #include line. + R>N(tresolve_includeRsRlR,RZRWRXR^(R'Rct include_fileRUt +new_tuples((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyREůscCsÄ|d}x›|ddkr§y|j|}Wnitk +r™tj|ƒ}|j|jdƒ}t|ƒrštj|jdƒƒ}||Œ}qšnX|s dSq W|d|d|dd!fS(sResolve a tuple-ized #include line. This handles recursive expansion of values without "" or <> surrounding the name until an initial " or < is found, to handle #include FILE where FILE is a #define somewhere else. - iis<"ii˙˙˙˙N( RCR†t function_nametsearchRtcallableR"R#Rr(R'RdRRR$((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyRˆs -  -cCs|ii|i|ƒƒdS(s - N(RmR,Rˆ(R'Rd((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyRD2s(N(#R7R8R9RnRoR(RXR6RrRZReRgRhR>RlR`RbRtR[RxRyR|R}R~RRzR€RR…R‡RwREtdo_include_nextRˆRD(((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR:ęs<%    + iis<"ii˙˙˙˙N( RCR…t function_nametsearchRtcallableR"R#Rq(R'RcRRR$((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR‡s +  cCs|jj|j|ƒƒdS(s + N(RlR,R‡(R'Rc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyRD2s(N(#R7R8R9RmRnR(RWR6RqRYRdRfRgR>RkR_RaRsRZRwRxR{R|R}R~RyRR€R„R†RvREtdo_include_nextR‡RD(((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR:ęs<%                      tDumbPreProcessorcBseZdZd„ZRS(s“A preprocessor that ignores all #if/#elif/#else/#endif directives and just reports back *all* of the #include files (like the classic SCons scanner did). This is functionally equivalent to using a regular expression to find all of the #include lines, only slower. It exists mainly as an example of how the main PreProcessor class can be sub-classed to tailor its behavior. - cOsXti|||Ž|i}x5ddddddgD]}|i||<||<q5WdS(NRRRR RR(R:R(RIRh(R'R$tkwRNtfunc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR(As - (R7R8R9R((((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR7s ('t __revision__R9t SCons.compattSConsRntretcpp_lines_dictRFtitemstop_listRtcompileteROtoverrideRWRGtxtgettlR-tMRQRRtsortedtTruetmaptescapeRRRtobjectR RPR‹R"R:R(((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt<module>st     -   -3 - !      ,˙N + cOsXtj|||Ž|j}x5ddddddgD]}|j||<||<q5WdS(NRRRR RR(R:R(RIRg(R'R$tkwRNtfunc((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyR(As (R7R8R9R((((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyRŽ7s (&t __revision__R9t SCons.compattSConsRmtretcpp_lines_dictRFtitemstop_listRtcompileteROtoverrideRGtxtgettlR-tMRQRRtsortedtTruetmaptescapeRRRtobjectR RPRŠR"R:RŽ(((sY/home/als/proj/qrscanner/ext/qrscanner/zxing/scons/scons-local-2.0.0.final.0/SCons/cpp.pyt<module>sn     +   ++ + !       ,˙N \ No newline at end of file