+
    %ig  c                   s   ^ RI Ht ^ RIt]P                  P                  ^8  d   ]]3tM]t]t	R(t
RtR tRtRtRtR t]tR	tR
 tR tR tR tR t^ RIt^ RIt^ RIt^ RIt]P:                  ! R4      tRRRRRRRRRRRRRRRRR R!/	tR" t  ! R# R$]!4      t" ! R% R&]!4      t#]$R'8X  d   ^ RI%H&t& ]&PL                  ! 4       t'^ RIt](! ]PR                  ^,          4      t*]*PW                  4       t,]#! ]'4      t-]-P]                  ],]PR                  ^,          4        ]-P_                  4       t0]0'       g   R# ]1! ]-Pd                  ]04       K0  R# ))    )
generatorsNz+-*/%|&~^<>=!?()[]{}.,;:\'"c                ~    V P                   ;P                  V P                  P                  R4      ,          un        V # )z\s+
lexerlinenovaluecountt   &,/usr/lib/python3.14/site-packages/ply/cpp.pyt_CPP_WSr   !   &    GGNNaggmmD))NH    z\#z\#\#z[A-Za-z_][\w_]*c                s    V # )zA(((((0x)|(0X))[0-9a-fA-F]+)|(\d+))([uU][lL]|[lL][uU]|[uU]|[lL])?) r	   r   r   CPP_INTEGERr   -   s    Hr   z?((\d+)(\.\d+)(e(\+|-)?(\d+))? | (\d+)e(\+|-)?(\d+))([lL]|[fF])?c                r   )z\"([^\\\n]|(\\(.|\n)))*?\"r   r   r	   r   r   t_CPP_STRINGr   7   r   r   c                r   )z(L)?\'([^\\\n]|(\\(.|\n)))*?\'r   r   r	   r   r   
t_CPP_CHARr   =   r   r   c                s    V P                   P                  R4      pV P                  ;P                  V,          un        RV n        V'       d   RV,          V n         V # RV n         V # )z(/\*(.|\n)*?\*/)r   CPP_WSZ )r   r   r   r   type)r
   Zncr   & r   t_CPP_COMMENT1r   C   sL    
''--
CGGNNcNAFsqwH 9<qwHr   c                s"    RV n         RV n        V # )z(//.*?(\n|$))r   r   )r   r   r	   r   r   t_CPP_COMMENT2r   L   s     AFqwHr   c                 s    V P                   ^ ,          V n        V P                   ^ ,          V n         V P                  P                  ^4       V # )r    )r   r   r   Zskipr	   r   r   t_errorr   R   s4    WWQZAFggajAGGGLLOHr   z\?\?[=/\'\(\)\!<>\-]Z=#Z/\Z'Z^(Z[)Z]!Z|<Z{>Z}Z-Z~c                 s0    \         P                  R  V 4      # )c                 sF    \         V P                  4       R,          ,          # )   )_trigraph_repZgroup)Zgr   r   <lambda>Ztrigraph.<locals>.<lambda>|   s    }QWWYr]'Cr   )_trigraph_patZsub)inputr   r   trigraphr'   {   s    CEJJr   c                   s*   a  ] tR t^t o RR ltRtV tR# )MacroNc                sp    Wn         W n        W0n        W@n        V'       d   VR,          V n        RV n        R# )r!   Nr"   )namer   arglistvariadicvarargsource)selfr)   r   r*   r+   s   &&&&&r   __init__ZMacro.__init__   s+    	
 !"+DKr   )r*   r)   r-   r   r,   r+   )NF)__name__
__module____qualname____firstlineno__r/   __static_attributes____classdictcell__Z__classdict__   @r   r(   r(      s      r   r(   c                   s   a  ] tR t^t o RR ltR tR tR tR tR t	R t
R	 tR
 tR tRR ltR tRR ltR tR tR tR/ 3R ltR tRtV tR# )PreprocessorNc                sp   Vf   \         P                  pWn        / V n        . V n        . V n        V P                  4        \        P                  ! 4       pV P                  R\        P                  ! RV4      ,          4       V P                  R\        P                  ! RV4      ,          4       R V n
        R # )Nz__DATE__ "%s"z%b %d %Yz__TIME__ "%s"z%H:%M:%S)lexr   macrospath	temp_pathlexprobetimeZ	localtimedefineZstrftimeparser)r.   r   Ztm   && r   r/   ZPreprocessor.__init__   s    =IIE
	 	^^%j(DDE%j(DDEr   c                s    . pV P                   P                  V4        V P                   P                  4       pV'       g    V# VP                  V4       K9  )T)r   r&   tokenappend)r.   Ztexttokenstok   &&  r   tokenizeZPreprocessor.tokenize   sF    

**""$C MM#r   c                s.    \        R WV3,          4       R# )z%s:%d %sN)print)r.   ZfileZlineZmsg   &&&&r   errorZPreprocessor.error   s    jDc?*+r   c                s   V P                   P                  R 4       V P                   P                  4       pV'       d   VP                  R 8w  d   \	        R4       MVP
                  V n        V P                   P                  R4       V P                   P                  4       pV'       d   \        VP                  4      R8w  d   \	        R4       M+VP
                  V n        \        VP                  4      V n	        V P                   P                  R4       V P                   P                  4       pV'       d   VP                  R8w  d   \	        R4       MVP
                  V n
        V P                   P                  R4       V P                   P                  4       pV'       d   VP                  R8w  d	   RV n        MVP
                  V n        V P                   P                  R	4       V P                   P                  4       pV'       d   VP                  R	8w  d   RV n        \	        R
4       MVP
                  V n        V P                  V P                  3V n        . ROpV Fe  pV P                   P                  V4       V P                   P                  4       pV'       d   VP                  V8w  g   KS  \	        RV,          4       Kg  	  R# )Z
identifierz"Couldn't determine identifier typeZ12345i90  zCouldn't determine integer typez
"filename"zCouldn't determine string typez  Nr   z%Couldn't determine token for newlinesz,Unable to lex '%s' required for preprocessor)	r   r    r   ##r   r   r   ,Z.)r   r&   rB   r   rH   r   t_IDZint	t_INTEGERt_INTEGER_TYPEt_STRINGt_SPACE	t_NEWLINEt_WS)r.   rE   Zcharscs   &   r   r=   ZPreprocessor.lexprobe   s    	

&jj cii</67DI 	

!jj c#))n-34 XXDN"&syy/D 	

(jj cii>123HHDM 	

jj cii4'DL88DL 	

jj cii4'!DN9: XXDN\\4>>2	 9AJJQ**""$C#))q.DqHI	 r   c                s<    V P                   P                  V4       R # N)r;   rC   )r.   r;   s   &&r   add_pathZPreprocessor.add_path  s    		r   c              #  s  "   V P                   P                  4       pVP                  4        Uu. uF  q3P                  4       NK  	  pp\	        \        V4      4       Fd  pV^,           pWE,          P                  R4      '       g   K+  V\        V4      8  g   K=  WE,          RR WF,          ,           WE&   RWF&   V^,          pKZ  	  RP                  V4      pVP                  ! V4       ^Vn	        . p VP                  ! 4       pV'       g   MIVP                  V4       VP                  V P                  9   g   KI  RVP                  9   g   K\  Vx  . pKd  V'       d   Vx  R# R# u upi 5i)r!   r   N r   r"   )r   ZcloneZ
splitlinesZrstripxrangelenZendswithjoinr&   r   rB   rC   r   rS   r   )	r.   r&   r9   xlinesijZcurrent_linerE   	   &&       r   group_linesZPreprocessor.group_lines  s    jj %*%5%5%78%7%78E
#A!A(##D))q3u:~ 8CR=1Q $ 		% 		%
))+C$xx499$):""! - 9s5   -E*E%<E*E*A0E**E*:E*E*E*c                s,   ^ pV\        V4      8  d-   W,          P                  V P                  9   d   V^,          pK<  VRV1 \        V4      ^,
          pV^ 8  d-   W,          P                  V P                  9   d   V^,          pK3  W^,           R1 V# r    N)rY   r   rS   )r.   rD   r]   rA   r   
tokenstripZPreprocessor.tokenstrip:  su    #f+o&)..DII"=FA2A2JKM1f4994FAQ34Lr   c                s   . p. p. p^p\        V4      p^ pWv8  d-   W,          P                  V P                  9   d   V^,          pK2  Wv8  d1   W,          P                  R8X  d   VP	                  V^,           4       M3V P                  V P                  V^ ,          P                  R4       ^ . . 3# V^,          pWv8  Ed   W,          pVP                  R8X  d   VP	                  V4       V^,          pMVP                  R8X  dg   V^,          pV^ 8X  dE   V'       d2   VP	                  V P                  V4      4       VP	                  V4       V^,           W#3# VP	                  V4       MdVP                  R8X  dC   V^8X  d<   VP	                  V P                  V4      4       VP	                  V^,           4       . pMVP	                  V4       V^,          pEK"  V P                  V P                  VR,          P                  R4       ^ . . 3# )r!   r   zMissing '(' in macro argumentsr   rL   zMissing ')' in macro argumentsr"   )	rY   r   rS   r   rC   rJ   r-   r   rb   )	r.   Z	tokenlistargs	positionsZcurrent_argZnestingZtokenlenr]   r
   r_   r   collect_argsZPreprocessor.collect_argsV  s   	y> |),"3"3tyy"@FALy|11S8QqS!JJt{{9Q<#6#67WXb"9	QlAww#~""1%1C1a<"DOOK$@A!((+Q3t--""1%CGqLDOOK89  1% ""1%FA 	

4;;y}334TU"Rxr   c                s   . Vn         . Vn        . Vn        ^ pV\        VP                  4      8  Ed{   VP                  V,          P
                  V P                  8X  Ed5   VP                  V,          P                  VP                  9   Ed   VP                  P                  VP                  V,          P                  4      pV^ 8  d   VP                  V^,
          ,          P                  R8X  d   \        P                  ! VP                  V,          4      VP                  V&   V P                  VP                  V,          n        VP                  V^,
           VP                  P                  W2^,
          34       EKk  V^ 8  dn   VP                  V^,
          ,          P                  R8X  dE   VP                   P                  RW2^,
          34       VP                  V^,
           V^,          pEK  V^,           \        VP                  4      8  d^   VP                  V^,           ,          P                  R8X  d5   VP                   P                  RW234       VP                  V^,            EK]  VP                   P                  RW234       EMVP                  V,          P                  R8X  d   VP                  '       d   V^ 8  d   VP                  V^,
          ,          P                  R8X  d   V^,           \        VP                  4      8  d   VP                  V^,           ,          P
                  V P                  8X  dV   VP                  V^,           ,          P                  VP                  8X  d#   VP                  P                  V^,
          4       V^,          pEK  VP                   P                  R RR7       R	# )
r    r   rK   rT   erL   c                 s    V ^,          # )   r   )r[   r   r   r$   Z,Preprocessor.macro_prescan.<locals>.<lambda>  s    qtr   T)ZkeyZreverseN)patch	str_patchvar_comma_patchrY   r   r   rM   r*   ZindexcopyrP   rC   r+   r,   Zsort)r.   macror]   argnumrF   r   macro_prescanZPreprocessor.macro_prescan  s    "#ekk""{{1~""dii/EKKN4H4HEMM4Y,,U[[^-A-ABq5U[[1-33s:%)YYu{{1~%>EKKN*.--EKKN'AaC(OO**FQ3<8!eAaC 0 6 6$ >KK&&FQ3'78AaC(FAsc%++..5;;qs3C3I3IT3QKK&&F~6AE* KK&&F~6Q%%->>>q1u5;;qs3C3I3IS3PA#U[[!11AaC8H8M8MQUQZQZ8ZQqS)//5<<?))0015FA^D9r   c                sB   VP                    Uu. uF  p\        P                  ! V4      NK  	  pp/ pVP                   F  w  rgWe9  dJ   R RP                  W&,           Uu. uF  qP                   NK  	  up4      ,          P	                  RR4      WV&   \        P                  ! WG,          4      WG&   WV,          WG,          n         K  	  Rp	VP
                  '       d)   VR	,          '       g   VP                   F	  pRWG&   Rp	K  	  / p
VP                   FY  w  rpVR8X  d   W&,          WGV^,           % K   VR8X  g   K)  Wj9  d   V P                  W&,          4      W&   W,          WGV^,           % K[  	  V	'       d   V Uu. uF  q'       g   K  VNK  	  ppV# u upi u upi u upi )
z"%s"rW   r   z\\FNTrT   rf   r"   )	r   rk   ri   rZ   replacer+   rj   rh   expand_macros)r.   rl   rc   _xrepZstr_expansionrm   r]   r[   Zcomma_patchexpandedZptype_is   &&&          r   macro_expand_argsZPreprocessor.macro_expand_args  s^   ',{{3{tyy}{3 IF*)/"''DL:YLq77L:Y2Z)Z(c(cdhio(p%YYsv&CF(0CFL	 ) >>>$r((**" +  %E1|!\ac
#)'+'9'9$,'GH$%-ac
 !,  #*"r22C*
K 4 ;Z8 +s   FF:	FFc           	     sx	   Vf   / p^ pV\        V4      8  Ed   W,          pVP                  V P                  8X  Edl   VP                  V P                  9   Ed   VP                  V9  Ed   RW$P                  &   V P                  VP                  ,          pVP
                  '       gy   T P                  VP                   Uu. uF  p\        P                  ! V4      NK  	  upV4      pV F  pVP                  Vn        K  	  WqW3^,           % V\        V4      ,          pEM7V^,           p	V	\        V4      8  d-   W,          P                  V P                  9   d   V	^,          p	K<  V	\        V4      8  Ed   W,          P                  R8X  Ed   V P                  WR  4      w  rpVP                  '       g{   \        V4      \        VP
                  4      8w  dX   V P                  V P                  VP                  RVP                  \        VP
                  4      3,          4       W,           pEM'VP                  '       d   \        V4      \        VP
                  4      ^,
          8  d   \        VP
                  4      ^8  dV   V P                  V P                  VP                  RVP                  \        VP
                  4      ^,
          3,          4       MTV P                  V P                  VP                  RVP                  \        VP
                  4      ^,
          3,          4       W,           pEMVP                  '       d   \        V4      \        VP
                  4      ^,
          8X  d   VP                  . 4       MnWV\        VP
                  4      ^,
          ,          ,           W,           ^,
           V\        VP
                  4      ^,
          &   V\        VP
                  4      R 1 V P                  W[4      pV P                  W4      pV F  pVP                  Vn        K  	  WW9V
,           % V\        V4      ,          pM	V^,          pW$P                   EK^  VP                  R8X  d2   V P                   Vn        V P#                  VP                  4      Vn        V^,          pEK  V# u upi )NTr   zMacro %s requires %d argumentsz(Macro %s must have at least %d argumentsz'Macro %s must have at least %d argumentZ__LINE__)rY   r   rM   r   r:   r*   rp   rk   r   rS   re   r+   rJ   r-   rC   ru   rN   rO   )r.   rD   rs   r]   r
   mrq   Zexrf   r^   tokcountrc   rd   rr   rs   &&&            r   rp   ZPreprocessor.expand_macros  s   H#f+o	Avv"77dkk)aggX.E(,HWW%AGG,A999!//0Q220QRZ[!#A'(xxAH "$(*q1SW E#f+o&)..DII2MFAs6{?vy#/E6:6G6Gr
6S3H)#$:::#d)AII2N $

4;;qxx@`dedkdklopqpypylzc{@{ |$%L!"D	C		N1<L0L#&qyy>A#5$(JJt{{188Dnrsryry{~  @A  @I  @I  |J  KL  |L  rM  EM  %N$(JJt{{188Dmqrqxqxz}~  H  H  {I  JK  {K  qL  EL  %M$%L#$:::'*4yC		N14D'D(,BAG)TWXYXaXaTbcdTdJeHefgfpqrfrAsS^A-=(>,0QYY,A '+&<&<Q&D&*&8&8&F),A/0xxAH *-7:q8 4 !SX
 FA )WW
*!^^AF"11!((;AGFAc 1Rs   R7c                s   ^ pV\        V4      8  Ed   W,          P                  V P                  8X  Edb   W,          P                  R8X  EdJ   V^,           pRpRpV\        V4      8  d   W,          P                  V P                  9   d   V^,          pK<  W,          P                  V P                  8X  d1   W,          P                  V P
                  9   d   RpMRpV'       g   MkM_W,          P                  R8X  d   RpMEW,          P                  R8X  d   M8V P                  V P                  W,          P                  R4       V^,          pK  V P                  W,          n        V P                  V4      W,          n        W^,           V^,           1 V^,          pEK  V P                  V4      p\        V4       EF  w  r&VP                  V P                  8X  dN   \        P                  ! V4      W&   V P                  W,          n        V P                  R4      W,          n        Kn  VP                  V P                  8X  g   K  \        P                  ! V4      W&   \        W,          P                  4      W,          n        W,          P                  R,          R	9  g   K  W,          P                  R
R W,          n        KB  	  RP                  V Uu. uF  p\        VP                  4      NK  	  up4      pVP!                  RR4      pVP!                  RR4      pVP!                  RR4      p \#        V4      pV# u upi   \$         d5    T P                  T P                  T^ ,          P                  R4       ^ p T# i ; i)r    ZdefinedFZ0LZ1Lr   Tr   zMalformed defined()Z0123456789abcdefABCDEFNrW   z&&z and z||z or r   z not zCouldn't evaluate expressionr"   )rY   r   rM   r   rS   r:   rJ   r-   r   rN   rO   rp   	enumeraterk   strrZ   ro   ZevalZ	Exception)	r.   rD   r]   r^   Z	needparenresultr
   r[   Zexprr_   r   evalexprZPreprocessor.evalexpr1  s    #f+oy~~*vy)/KE!	#f+oy~~2Q 4994!9??dkk9%)F%)F(%yC/$(	C/

4;;vy/?/?@UVFA!%	"&"5"5f"=	Q3qs7OFA##F+V$CAvv" IIaL	!%	"&"5"5d";	4>>) IIaL	"%fioo"6	ioob)1II&,ioocr&:FIO % wwf5fAGGf56||D)||D(||C(	$ZF  6  	JJt{{6!9#3#34RSF	s   M7M	 	;NNc              #  s	  "   \        V4      pV P                  V4      pV'       g   R pV P                  RV,          4       W n        . pRpRp. pV EFO  p	\	        V	4       F"  w  rVP
                  V P                  9  g   K"   M	  XP                  R8X  Ed   V	 FD  pVP
                  V P                  9   g   K   RVP                  9   g   K3  VP                  V4       KF  	  V P                  V	X
^,           R 4      pV'       d-   V^ ,          P                  pV P                  VR,          4      pMR p. pVR8X  d>   V'       d3   V P                  V4       F  pVx  K	  	  . pV P                  V4       EK%  EK(  VR	8X  dp   V'       de   V P                  V4       F  pVx  K	  	  . pV P                  R
,          pV P                  V4       F  pVx  K	  	  WP                  R
&   W n        EK  EK  VR8X  d>   V'       d3   V P                  V4       F  pVx  K	  	  . pV P                  V4       EK  EK  VR8X  dL   VP                  Wg34       V'       d/   V^ ,          P                  V P                  9   g   RpRpEK,  RpEK1  EK4  VR8X  dL   VP                  Wg34       V'       d/   V^ ,          P                  V P                  9   d   RpRpEK~  RpEK  EK  VR8X  dC   VP                  Wg34       V'       d&   V P                  V4      pV'       g   RpRpEK  RpEK  EK  VR8X  d   V'       dU   VR,          ^ ,          '       d<   V'       d   RpEK  V'       g$   V P                  V4      pV'       d   RpRpEK)  EK,  EK/  EK2  V P                  V P                  V^ ,          P                   R4       EKc  VR8X  dr   V'       d9   VR,          ^ ,          '       d    V'       d   RpEK  V'       g   RpRpEK  EK  EK  V P                  V P                  V^ ,          P                   R4       EK  VR8X  dO   V'       d   VP#                  4       w  rgEK  V P                  V P                  V^ ,          P                   R4       EK0  EK3  V'       g   EK>  VP%                  V	4       EKR  	  V P                  V4       F  pVx  K	  	  . pR# 5i)rW   z__FILE__ "%s"TFr   r   Nr!   NNr?   includeZ__FILE__undefZifdefZifndefZifZelifzMisplaced #elifZelsezMisplaced #elseZendifzMisplaced #endifr"   )r'   r`   r?   r-   ry   r   rS   r   rC   rb   rp   r:   r~   r   r|   rJ   r   ZpopZextend)r.   r&   r-   r
   r\   ZchunkZenableZ	iftriggerZifstackr[   r]   rE   Z	dirtokensr)   rc   Zoldfiler{   s   &&&              r   parsegenZPreprocessor.parsegenl  s     UO  #F%./	A"188499,e &yyC Cxx499,1BS)  !OOAacdG4	$Q<--D??9R=9DDD8##'#5#5e#<C"%I $= "D)	 
 Y&#'#5#5e#<C"%I $= ""&++j"9#'<<#5C"%I $629J/&,  W_#'#5#5e#<C"%I $= "

4(	 
 W_NNF#56#Aw}};%*F(-I(,I  X%NNF#567==DKK7%*F(-I(,I  T\NNF#56!%t!4%%*F(-I(,I  V^"2;q>>%).%.)-t)<#).2F04I $* &/ * 

4;;y|/B/BCTUV^"2;q>>%).%.)-,0	 &/ * 

4;;y|/B/BCTUW_+2;;=(y

4;;y|/B/BCUV  6LLOM P %%e,CI -sr   A;S3S:S7S>SASA5S>DSS/SSS3ASS!S.AS;AS6Sc              #  s  "   V'       g   R # V'       Edd   V^ ,          P                   R8w  d4   V^ ,          P                  V P                  8w  d   V P                  V4      pV^ ,          P                   R8X  d   ^pV\	        V4      8  d$   W,          P                   R8X  d   MV^,          pK3  \        R4       R # RP                  V^V  Uu. uF  q3P                   NK  	  up4      pV P                  R.,           V P                  ,           pMkV^ ,          P                  V P                  8X  d=   V^ ,          P                   ^R pV P                  R.,           V P                  ,           pM\        R4       R # X F  p\        P                  P                  VX4      p \        VR4      P                  4       p\        P                  P                  V4      p	V	'       d   V P                  P                  ^ V	4       V P                  W4       F  p
V
x  K	  	  V	'       d   V P                  ^   R # 	  \        RX,          4       R # u upi   \         d     K  i ; i5i)	Nr   r    zMalformed #include <...>rW   zMalformed #include statementrx   zCouldn't find '%s'r"   )r   r   rP   rp   rY   rH   rZ   r;   r<   osopenreadZdirnameZinsertr   ZIOError)r.   rD   r]   r[   Zfilenamer;   pZinameZdataZdnamerE   s   &&         r   r~   ZPreprocessor.include  s    6ay#%&)..DMM*I++F3ay#%#f+oy#-FA4577VAa[#A[GG[#AByyB4'$..84==0!!9??1R0~~,tyy845AGGLL8,EE#++-.NN))!E2==7CI 8q)  &12/ $B(  sC   IB7II!B=IB I I-IIIIIc           	     s   \        V\        4      '       d   V P                  V4      pTp V^ ,          p\        V4      ^8  d   V^,          pMRpV'       g1   \	        VP
                  . 4      pWPP                  VP
                  &   R# VP                  V P                  9   dG   \	        VP
                  V P                  VR,          4      4      pWPP                  VP
                  &   R# VP
                  R8X  Ed   V P                  VR,          4      w  rgpRp	V EF4  p
V	'       d   \        R4        R# RP                  V
 Uu. uF  p\        VP
                  4      NK  	  up4      pVR8X  d0   R	p	V P                  V
^ ,          n        R
V
^ ,          n        R	p	V
R K  VRR R8X  dg   V
^ ,          P                  V P                  8X  dE   R	p	V
R V
^ ,          P
                  RR R8X  d#   V
^ ,          P
                  RR V
^ ,          n        K  \        V
4      ^8  g&   V
^ ,          P                  V P                  8w  g   EK)  \        R4        R# 	  V P                  V^V,           R 4      p^ pV\        V4      8  d   V^,           \        V4      8  d   W,          P                  V P                  9   d#   W^,           ,          P
                  R8X  d   W Kj  W,          P
                  R8X  d2   W^,           ,          P                  V P                  9   d
   W^,            V^,          pK  \	        VP
                  Y Uu. uF  q^ ,          P
                  NK  	  upV	4      pV P                  V4       WPP                  VP
                  &   R# \        R4       R# u upi u upi   \          d    \        R4        R# i ; i)r    N:rg   NNr   r}   Fz0No more arguments may follow a variadic argumentrW   z...TZ__VA_ARGS__zInvalid macro argumentrK   zBad macro definitioni)Z
isinstanceSTRING_TYPESrG   rY   r(   r   r:   r   rS   rb   re   rH   rZ   rz   rM   rn   LookupError)r.   rD   Zlinetokr)   Zmtyperv   rw   rc   rd   r+   Zart   ZastrZmvaluer]   r[   s   &&              r   r?   ZPreprocessor.define   s   f\**]]6*F9	*1:D7|a
$**R(*+DJJ'tyy($**T__WR[%AB*+DJJ'#,0,=,=gbk,J)	 APQ77A#>AbCMA#>?Du}#'$(II!	%2!
#'bE bce+!		TYY0F#'bE Q4::bc?e3)*1CRAaDJ 1vzQqTYY$))%;67- 0 "__WQxZ[-ABFAc&k/Q3V,%y~~:vc{?P?PTX?X$*I (!'D!8VaC[=M=MQUQZQZ=Z$*Q3KQdjjT0JT1T0J8TA&&q)./KK

+,-E $?< 1K
  	*()	*s]   ,N& .N& AN& )A	N& 4N& N
!CN& N& C0N& N!1N& N& 
N& &O ?O c                sl    V^ ,          P                   p V P                  V R#   \         d     R# i ; ira   )r   r:   r   )r.   rD   ZidrA   r   r   ZPreprocessor.undeff  s1    AY__	B 		s   $ 33c                s>    W0n         V P                  W4      V n        R # rU   )ignorer   r@   )r.   r&   r-   r   rI   r   parseZPreprocessor.parser  s    mmE1r   c                s      \        V P                  4      pVP                  V P                  9  g   K3  V#   \         d    RT n         R# i ; i)TN)Znextr@   r   r   ZStopIteration)r.   rE   r   r   rB   ZPreprocessor.token{  sE    	4;;'884;;.s
 	DK	s   .7 7 AA)r   r   r:   r@   r;   r-   rM   rN   rO   rR   rQ   rP   rS   r<   rU   )r0   r1   r2   r3   r/   rG   rJ   r=   rV   r`   rb   re   rn   ru   rp   r|   r   r~   r?   r   r   rB   r4   r5   r6   r7   r   r8   r8      sw     ,,4JxB	8+j":X'd?P4v{F)3b>*L !%B 2 r   r8   Z__main__)
ZCPP_IDr   Z	CPP_FLOATZ
CPP_STRINGZCPP_CHARr   ZCPP_COMMENT1ZCPP_COMMENT2Z	CPP_POUNDZ
CPP_DPOUND)3Z
__future__r   ZsysZversion_infoZmajorrz   Zunicoder   ZrangerX   rD   Zliteralsr   Zt_CPP_POUNDZt_CPP_DPOUNDZt_CPP_IDr   Zt_CPP_INTEGERZt_CPP_FLOATr   r   r   r   r   Zrerk   r>   Zos.pathr   Zcompiler%   r#   r'   Zobjectr(   r8   r0   Zply.lexr9   r   r   ZargvZfr   r&   r   r   rB   rE   rH   r-   r   r   r   <module>r      s}   " 
 A>LLF
 ,
    Q 
   & 

67
K&F "c6 cJ zGGIE SXXa[AFFHEUAGGE#((1+
ggiEahh r   