ó
gÊù]c           @   sâ  d  d l  Z  d  d l Z d  d l Z d  d l m Z m Z m Z d  d l m Z m	 Z	 d e j
 f d „  ƒ  YZ d Z d Z e a d g Z e j rœ g  Z n  d	 Z d	 Z i
 d
 d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6Z e  j d e  j e  j Bƒ Z e  j d ƒ Z e  j d  ƒ Z e  j d! e  j ƒ Z e  j d" e  j ƒ Z e  j d# e  j e  j Bƒ Z g  e d$ d% ƒ D] \ Z  Z! d& e  e! f ^ q„Z" i
 d	 d' 6d( d) 6d* d+ 6d, d- 6d. d/ 6d0 d1 6d2 d3 6d4 d5 6d6 d7 6d8 d9 6Z# d: Z$ d; Z% d< Z& d= Z' d> Z( e$ e' e& e% g Z) d? d@ dA dB g Z* e  j d j+ g  e e) e* ƒ D] \ Z, Z- dC e, e- f ^ qPƒ e  j. ƒ Z/ d) Z0 d: Z1 dD Z2 d= Z3 dE „  Z4 dF „  Z5 i  Z6 dG dH dI dJ dK dL dM dN g Z7 xE e8 e9 e7 ƒ ƒ D]1 Z: e7 e: Z; x e; j< ƒ  D] Z= e: e6 e= <qüWqßWdO „  Z> dP „  Z? dQ „  Z@ dR „  ZA dS „  ZB dT „  ZC dU „  ZD g  dV „ ZE dW „  ZF dX „  ZG e  j dY ƒ ZH dZ „  ZI d[ „  ZJ d\ „  ZK e jL d] „  ƒ ZM e jL d^ „  ƒ ZN d_ eO f d` „  ƒ  YZP da „  ZQ d S(b   iÿÿÿÿN(   t   Logst   Utilst   Errors(   t   debugt   errort   PreprocErrorc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyR      s   t   -i–   s   /usr/includei    t   !t   nots   &&t   andt   &t   bitands   &=t   and_eqs   ||t   ort   |t   bitors   |=t   or_eqt   ^t   xors   ^=t   xor_eqt   ~t   complsa   ^[ 	]*(#|%:)[ 	]*(ifdef|ifndef|if|else|elif|endif|include|import|define|undef|pragma)[ 	]*(.*)*$s   ^[a-zA-Z_]\w*s   ^[a-zA-Z_][a-zA-Z0-9_]*[(]s   ^\s*once\s*s   \\*
s7   //.*?$|/\*.*?\*/|\'(?:\\.|[^\\\'])*\'|"(?:\\.|[^\\"])*"s	   =-/!'()<>s	   #~\|^[]{}s   ??t   0i   t   ai   t   bi	   t   ti
   t   ni   t   fi   t   vi   t   ri\   s   \i'   t   't   it   Ot   Tt   st   cs$  0[xX](?P<hex>[a-fA-F0-9]+)(?P<qual1>[uUlL]*)|L*?'(?P<char>(\\.|[^\\'])+)'|(?P<n1>\d+)[Ee](?P<exp0>[+-]*?\d+)(?P<float0>[fFlL]*)|(?P<n2>\d*\.\d+)([Ee](?P<exp1>[+-]*?\d+))?(?P<float1>[fFlL]*)|(?P<n4>\d+\.\d*)([Ee](?P<exp2>[+-]*?\d+))?(?P<float2>[fFlL]*)|(?P<oct>0*)(?P<n0>\d+)(?P<qual2>[uUlL]*)s   L?"([^"\\]|\\.)*"s   [a-zA-Z_]\w*s’   %:%:|<<=|>>=|\.\.\.|<<|<%|<:|<=|>>|>=|\+\+|\+=|--|->|-=|\*=|/=|%:|%=|%>|==|&&|&=|\|\||\|=|\^=|:>|!=|##|[\(\)\{\}\[\]<>\?\|\^\*\+&=:!#;,%/\-\?\~\.]s
   (?P<%s>%s)t   uc         C   s&   |  j  d ƒ } | j d ƒ r" d S| S(   Ni    t   /t    (   t   groupt
   startswith(   t   mR$   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt   repl'   s    c         C   s¦   t  j |  ƒ } t rG x/ t D]$ \ } } | j | ƒ j | ƒ } q Wn  t j d | ƒ } t j t	 | ƒ } g  t
 j t | ƒ D]$ } | j d ƒ | j d ƒ f ^ q~ S(   Nt    i   i   (   R   t   readft   use_trigraphst   trig_deft   splitt   joint   re_nlt   subt   re_cppR,   t   ret   finditert   re_linesR)   (   t   filenamet   codeR   R   R+   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt   filter_comments,   s     s   * / %s   + -s   << >>s	   < <= >= >s   == !=s   & | ^s   && ||t   ,c         C   sE   |  s
 d S|  j  ƒ  }  |  d d k rA |  d d k rA |  d d !S|  S(   NR-   i    R    iÿÿÿÿi   (   t   rstrip(   R$   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt
   trimquotes9   s       c         C   s�  y d |  } Wn t  k
 r- t |  ƒ } n Xy d | } Wn t  k
 r[ t | ƒ } n X| } | d k r{ | | } n| d k r” | | } nõ| d k r­ | | } nÜ| d k rÆ | | } nÃ| d k rß | | } nª| d k rø | | A} n‘| d k r| | B} nx| d	 k r2t | p)| ƒ } nW| d
 k rK| | @} n>| d k rlt | oc| ƒ } n| d k r�t | | k ƒ } nü | d k r®t | | k ƒ } nÛ | d k rÏt | | k ƒ } nº | d k rðt | | k  ƒ } n™ | d k rt | | k ƒ } nx | d k r2t | | k ƒ } nW | d k rQt | | Aƒ } n8 | d k rj| | >} n | d k rƒ| | ?} n d } | S(   Ni    t   %t   +R   t   *R'   R   R   s   ||R   s   &&s   ==s   !=s   <=t   <t   >s   >=s   <<s   >>(   t	   TypeErrort   int(   t   val_1t   val_2t   val_opR   R   t   dR%   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt   reduce_nums>   sb                           c         C   s!  |  s t  d ƒ ‚ n  |  d \ } } | t k rÙ| d k rd } d } x‘ | t |  ƒ k  rÌ |  | \ } } | t k r¿ | d k r£ | d 8} | d k r¼ Pq¼ q¿ | d k r¿ | d 7} q¿ n  | d 7} qL Wt  d |  ƒ ‚ t |  d | !ƒ \ } } | |  | d f S| d k r"t |  d ƒ S| d k rZt |  d ƒ \ } }  t d	 | d
 ƒ |  f S| d k r“t |  d ƒ \ } }  t t | ƒ ƒ |  f S| d k rÆt |  d ƒ \ } }  t | ƒ |  f St  d |  ƒ ‚ nD | t k ró| |  d f S| t k rd |  d f St  d |  ƒ ‚ d  S(   Ns   empty list for get_numi    t   (i   t   )s   rparen expected %rR@   R   s   -1RA   R	   R   s   Invalid op token %r for get_nums   Invalid token %r for get_num(	   R   t   OPt   lent   get_termt   get_numRJ   RE   t   NUMt   IDENT(   t   lstt   pR   t	   count_parR!   t   numt   _(    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyRP   Y   sJ     
c   
      C   ss  |  s t  d ƒ ‚ n  t |  ƒ \ } }  |  s7 | g  f S|  d \ } } | t k r_| d k rm t |  d ƒ S| d k rZd } d } x  | t |  ƒ k  r|  | \ } } | t k r
| d k rÏ | d 8} q
| d k rè | d 7} q
| d k r
| d k rPqq
n  | d 7} qˆ Wt  d	 |  ƒ ‚ t | ƒ rEt |  d | !ƒ St |  | d ƒ Sq_t |  d ƒ \ } }  |  sŸt | | | ƒ } t t | f g |  ƒ S|  d \ } } | t k rÎt  d
 |  ƒ ‚ n  t | t | k rt | | | ƒ } t t | f g |  ƒ St |  d ƒ \ }	 }  t | |	 | ƒ }	 t t | f | | f t |	 f g |  ƒ Sn  t  d |  ƒ ‚ d  S(   Ns   empty list for get_termi    R<   i   t   ?RL   RK   t   :s   rparen expected %rs   op expected %rs   cannot reduce %r(	   R   RP   RM   RO   RN   RE   RJ   RQ   t   prec(
   RS   RV   RT   R   RU   R!   t   num2t   p2t   v2t   num3(    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyRO   �   sR     

,c         C   s   t  |  ƒ \ } }  t | f S(   N(   RO   RQ   (   RS   RV   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt   reduce_eval®   s    c         C   s2   g  |  D] \ } } t  | ƒ ^ q }  d j |  ƒ S(   NR-   (   t   strR2   (   RS   R\   R]   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt	   stringize±   s    %c         C   sÆ   d  } |  d t k r/ | d t k r/ t } nb |  d t k rh | d t k s_ | d t k rh t } n) |  d t k r‘ | d t k r‘ t } n  | s° t d |  | f ƒ ‚ n  | |  d | d f S(   Ni    s*   tokens do not make a valid paste %r and %ri   (   t   NoneRM   RR   RQ   R   (   t   t1t   t2t   p1(    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt   paste_tokens´   s     	0	 	c         C   s¼  d } x¯| t  |  ƒ k  r·|  | \ } } | t k r(| d k r(|  | =| t  |  ƒ k  rª|  | \ } } | t k rª | | k r— t d f |  | <q"t d f |  | <q%| t k r| d k r|  | =|  | \ } } |  | =| | k rÿ t d f |  | <q"t d f |  | <q%t d |  ƒ ‚ qªn‚| t k rª| | k rªt | | t ƒ rvt | | ƒ \ } }	 |	 | | <n  | | }
 |
 d } t |
 d t ƒ r |  | =| } t	 | | | | g ƒ xât
 t  | ƒ ƒ D]$ } |  j | | | ƒ | d 7} qÕWqªg  } |  | =| t  |  ƒ k r2t d | ƒ ‚ n  |  | \ } } | t k sZ| d k rmt d | ƒ ‚ n  |  | =g  } d } x9| t  |  ƒ k  r¯|  | \ } } |  | =| t k rg| d k rg| d k rð| j | | f ƒ | d 7} q¬| d k r| r| j | ƒ n  Pq¬| d	 k rQ| s;t d
 | ƒ ‚ n  | j | ƒ g  } q¬| j | | f ƒ qƒ| j | | f ƒ | d k r“| d 7} qƒ| d k rƒ| d 8} qƒqƒWt d ƒ ‚ g  } |
 d } d } x€| t  | ƒ k  rT| | \ } } | t k r«| d k r«| d t  | ƒ k  r•| | d d t k r•| | d d | k r•| | | | d d } | j t t | ƒ f ƒ | d 7} qG| j | | f ƒ nœ| t k rç| d k rç| rÑ| d t  | ƒ k  rÑ| d } | | d d t k r‡| | d d | k r‡| | | | d d } | rdt | | d ƒ | d <| j | d ƒ qÄ| j | | f ƒ | j | ƒ n=| | d d t k r©| | d d d k r©g  } t  |
 d ƒ } t  | ƒ } x: | | | d D]& } | j | ƒ | j t d	 f ƒ qìW| r)| j ƒ  n  t  | ƒ d k rœ| d \ } } | d \ } } | d k rœ| j ƒ  | d	 k r™| | k  r™| j ƒ  q™qœn  | | 7} n t | | | d ƒ | d <| d 7} qG| j | | f ƒ n` | t k r4| | k r4| | | } t	 | | | | g ƒ | j | ƒ n | j | | f ƒ | d 7} qÕWt	 | | | | g ƒ x; t
 t  | ƒ d d d ƒ D] } |  j | | | ƒ q‰Wn  | d 7} q	 Wd  S(   Ni    t   definedi   RK   s   Invalid define expression %rs#   expected '(' after %r (got nothing)s   expected '(' after %rRL   R<   s   empty param in funcall %ss   malformed macrot   #s   ##iÿÿÿÿt   __VA_ARGS__iþÿÿÿ(   RN   RR   RQ   RM   R   t
   isinstanceR`   t   extract_macrot   listt   reduce_tokenst   ranget   insertt   appendt   STRRa   Rf   t   extendt   pop(   RS   t   defst   banR!   RT   R   R\   R]   R   R   t	   macro_deft   to_addt   accut   xt   argst	   one_paramt   count_parent	   arg_tablet   jt   toksRc   t   va_tokst   stt   ptt   p3t   v3t   p4t   v4(    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyRm   ¿   sè    

  	  
F
00 
#c         C   sG   t  |  | g  ƒ |  s% t d ƒ ‚ n  t |  ƒ \ } } t | ƒ d k S(   Ns   missing tokens to evaluatei    (   Rm   R   R_   RE   (   RS   Rt   RT   R   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt
   eval_macro;  s
     c   	      C   s  t  |  ƒ } t j |  ƒ rñ| d \ } } | d \ } } | t k rV t d ƒ ‚ n  d } d } i  } d } xh| d 7} | | \ } } | d k rë | t k rÀ | | | <| d 7} | } qÕ| t k rÜ | d k rÜ PqÕt d ƒ ‚ qq | t k rC| t k r| d k r| } qÕ| t k r4| d k r4PqÕt d ƒ ‚ qq | d k r®| t k rx| | | <| d 7} | } qÕ| t k rŸ| d	 k rŸt d
 ƒ ‚ qÕt d ƒ ‚ qq | d	 k rÉt d ƒ ‚ qq t d ƒ ‚ qq W| | | | d g f S| d \ } } | g  | d g f Sd  S(   Ni    i   s   expected open parenthesisRK   RL   s   unexpected token (3)R<   s   comma or ... expecteds   ...s   not implemented (1)s   comma or ... expected (2)s   not implemented (2)s   unexpected else(   t   tokenizet   re_funt   searchRM   R   RR   (	   t   txtR   RT   t   nameR   R!   t   pindext   paramst   prev(    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyRk   @  sR     


		

	s   ^\s*(<(?P<a>.*)>|"(?P<b>.*)")c         C   s'  t  j |  ƒ } | r\ | j d ƒ r7 d | j d ƒ f S| j d ƒ r\ d | j d ƒ f Sn  t |  ƒ } t | | d g ƒ | s” t d |  ƒ ‚ n  t | ƒ d k rÏ | d d t k rd | d d f SnD | d d d k r| d	 d d
 k rt | ƒ j	 d ƒ j
 d
 ƒ St d |  ƒ ‚ d  S(   NR   RB   R   t   "t   waf_includes   could not parse include %si   i    iÿÿÿÿRC   s   could not parse include %s.(   t
   re_includeRŠ   R)   Rˆ   Rm   R   RN   Rq   Ra   t   lstripR=   (   R‹   Rt   R+   R   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt   extract_includeo  s       (c         C   sM  |  s t  d ƒ ‚ n  |  d d k r/ t |  ƒ S|  d } | d k rŒ t |  ƒ d k r{ |  d t j k r{ t |  d d	 ƒ St |  d d	 ƒ S| j ƒ  r| d
 k rº t |  ƒ d k rº d SxŒ d D]Q } t |  ƒ | k rÁ |  d d | !j ƒ  rÁ d | t |  d d | !d ƒ f SqÁ Wn0 y t | SWn! t k
 rHt  d |  ƒ ‚ n Xd  S(   Ns   attempted to parse a null chari    s   \i   Ry   i   i   i   i   R   i   s!   could not parse char literal '%s'(   i   i   i   (	   R   t   ordRN   t   stringt	   hexdigitsRE   t   isdigitt   chr_esct   KeyError(   R‹   R%   R!   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt
   parse_char  s&     

%  ))  c         C   s   t  |  ƒ S(   N(   t   tokenize_private(   R$   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyRˆ   �  s    c         C   sÚ  g  } xÍt  j |  ƒ D]¼} | j } xªt D]¢} | | ƒ } | r, | t k r½ y t | } t } Wq·t k
 r¹ | j ƒ  d k r• d } t	 } qº | j ƒ  d k rº d } t	 } qº q·Xnú | t	 k rb| d ƒ rç t
 | d ƒ } q·| d ƒ rt
 | d ƒ d ƒ } q·| d	 ƒ r&| d	 ƒ } q·| d
 ƒ } | rGt | ƒ } q·| d ƒ p\| d ƒ } nU | t k r›| d k rƒd } q·| d k r·d } q·n | t k r·| d d !} n  | j | | f ƒ Pq, q, Wq W| S(   Nt   truei   t   falsei    t   octi   t   hexi   t   n0t   chart   n2t   n4s   %:Rh   s   %:%:s   ##iÿÿÿÿ(   t	   re_clexerR7   R)   t	   tok_typesRR   t	   g_optransRM   Rš   t   lowerRQ   RE   R›   Rq   Rp   (   R$   t   rett   matchR+   RŒ   R   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyRœ   ‘  sL    	 
 
	     	 c         C   s   t  j |  ƒ j d ƒ S(   Ni    (   t   re_macRª   R)   (   t   line(    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt   define_name²  s    t   c_parserc           B   s;   e  Z d d d  „ Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   sˆ   g  |  _  | d  k r! i  |  _ n t | ƒ |  _ g  |  _ d |  _ g  |  _ | pT g  |  _ g  |  _ g  |  _	 d |  _
 t g  ƒ |  _ d  S(   Ni    R-   (   t   linesRb   Rt   t   dictt   statet   count_filest   currentnode_stackt	   nodepathst   nodest   namest   curfilet   sett   ban_includes(   t   selfR´   t   defines(    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt   __init__¶  s    							c         C   sÿ   y | j  j } Wn! t k
 r3 i  } | j  _ n X| | f } y | | SWn¬ t k
 rú | j | ƒ } | rì t | d d  ƒ rŒ d  } qì | j | j  j ƒ rì | j  j	 j
 | j | j  j ƒ ƒ } | ré t | d d  ƒ ré d  } qé qì n  | | | <| SXd  S(   Nt   children(   t   ctxt   cache_ndt   AttributeErrorRš   t   find_resourcet   getattrRb   t   is_child_oft   bldnodet   srcnodet   search_nodet	   path_from(   Rº   t   nodeR9   t   ndt   tupR©   t   tmp(    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt   cached_find_resourceÄ  s$    	$
c         C   sÀ   | |  _  |  j |  j d | ƒ } x- |  j D]" } | r< Pn  |  j | | ƒ } q, W| rš | |  j k rš |  j j | ƒ | d d k r¼ |  j | ƒ q¼ n" | |  j k r¼ |  j j | ƒ n  | S(   Niÿÿÿÿiüÿÿÿs   .moc(	   R·   RÌ   R³   R´   R¹   Rµ   Rp   t   addlinesR¶   (   Rº   R9   t   foundR   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt   tryfind×  s    	c         C   sA  |  j  j | j ƒ | j ƒ  } |  j d 7_ |  j t k rL t d ƒ ‚ n  |  j } t d | ƒ y | | } Wn t	 k
 rƒ n X|  j
 j | ƒ d  SyG t | ƒ } | j t d f ƒ | j ƒ  | | | <|  j
 j | ƒ Wn[ t k
 rt d | ƒ ‚ n; t k
 r<t j d k r=t d | ƒ t j ƒ  q=n Xd  S(   Ni   s   recursion limit exceededs   preproc: reading file %rR-   s   could not read the file %si    s   parsing %s failed(   R³   Rp   t   parentt   abspathR²   t   recursion_limitR   t   parse_cacheR   Rš   R¯   Rr   R;   t   POPFILEt   reverset   IOErrort	   ExceptionR    t   verboseR   t	   tracebackt	   print_exc(   Rº   RÈ   t   filepatht   pct   lnsR¯   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyRÍ   æ  s2    	

c         C   sc  t  d | j | j j ƒ | j } y | j |  _ Wn& t k
 rZ i  | _ | j |  _ n X| |  _ |  j | ƒ | d r#y‘ g  g  | d D] } | j d ƒ ^ qŒ D]- } d | d t	 d j
 | d ƒ ƒ f ^ q¥ } | j ƒ  |  j j g  | D] } d | f ^ qò ƒ Wq#t k
 rq#Xn  x9|  j r^|  j j ƒ  \ } } | t k rr|  j d 8_ |  j j ƒ  q&n  y®t j }	 |	 r�t  d | | |  j ƒ n  |  j }
 | d	  d
 k rÆ|
 j t ƒ n | d k rß|
 j ƒ  n  | d d k rt |  j k st |  j k rw&qn  | d
 k rZt t | ƒ |  j ƒ } | rMt |
 d <qt |
 d <nÅ| d k r­t j | ƒ } | r | j d ƒ |  j k r t |
 d <qt |
 d <nr| d k r t j | ƒ } | ró| j d ƒ |  j k rót |
 d <qt |
 d <n| d k s| d k r–t  | |  j ƒ \ } } |	 rIt  d | | ƒ n  | d k s\t! r|  j" | ƒ |  _ | d k r“|  j# j$ |  j ƒ q“qn‰| d k rú|
 d t k r¿t |
 d <q|
 d t k rt t | ƒ |  j ƒ r÷t |
 d <q÷qn%| d k rC|
 d t k r#t |
 d <q|
 d t k rt |
 d <qnÜ | d k r�y | |  j t% | ƒ <Wqt& k
 r‰t' d | ƒ ‚ qXn’ | d k råt j | ƒ } | r| j d ƒ |  j k r|  j j( | j d ƒ ƒ qn: | d k rt) j | j* ƒ  ƒ r|  j# j$ |  j ƒ qn  Wq&t& k
 rZ} t j r[t  d | | t+ j, ƒ  ƒ q[q&Xq&Wd  S(   Ns   preproc: scanning %s (in %s)t   DEFINESt   =s   %s %si    i   t   defines$   preproc: line is %s - %s state is %si   t   ift   endift   eiÿÿÿÿt   ifdeft   ifndeft   includet   imports"   preproc: include found %s    (%s) R�   t   elift   elses   Invalid define line %st   undeft   pragmas(   preproc: line parsing failed (%s): %s %s(-   R   RŒ   RÐ   R¾   RÓ   RÀ   t   current_fileRÍ   R1   R>   R2   RÕ   R¯   Rr   Rs   RÔ   R²   R³   R    RØ   R±   Rp   t	   undefinedt   skippedt   ignoredR‡   Rˆ   Rt   t   acceptedR«   Rª   R)   R”   t   strict_quotesRÏ   R¹   t   addR­   R×   R   t   __delitem__t   re_pragma_onceR¨   R   t   ex_stack(   Rº   RÈ   t   envt   bldt   yRy   RS   t   tokenR¬   t   veR±   R©   R+   t   kindt   incRã   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt   start  s¦    			
Z
-	 		      	N(   R   R   Rb   R¼   RÌ   RÏ   RÍ   Rý   (    (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyR®   µ  s
   			c         C   s  y |  j  j } Wn' t k
 r9 t j d |  j  ƒ ‚ n Xt rr | g  t D] } |  j  j j j	 | ƒ ^ qJ } nC g  | D]6 } | j
 | j j ƒ s© | j
 | j j ƒ ry | ^ qy } t | ƒ } | j |  j d |  j ƒ t j rt d |  j | j | j f ƒ n  | j | j f S(   Ns:   %r is missing a feature such as "c", "cxx" or "includes": i    s$   deps: deps for %r: %r; unresolved %r(   t	   generatort   includes_nodesRÀ   R   t   WafErrort   go_absolutet   standard_includesR÷   t   roott   find_dirRÃ   R¾   RÅ   RÄ   R®   Rý   t   inputsRö   R    RØ   R   Rµ   R¶   (   t   taskt   incnRy   R´   RË   (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt   scanN  s    2C	#(R   R6   R–   RÙ   t   waflibR    R   R   t   waflib.LogsR   R   R   R   RÔ   RÒ   t   FalseR  R  t   is_win32R/   Rñ   R§   t   compilet
   IGNORECASEt	   MULTILINER8   R«   R‰   Rô   R3   t   DOTALLR5   t   zipR   R   R0   R™   RQ   RM   RR   Rq   t   CHARR¦   t	   exp_typesR2   RŒ   t   partt   MR¥   Rð   Rï   Rí   Rî   R,   R;   RZ   t   opsRn   RN   Ry   t   symsR1   R&   R>   RJ   RP   RO   R_   Ra   Rf   Rm   R‡   Rk   R’   R”   R›   Rˆ   t   run_onceRœ   R­   t   objectR®   R  (    (    (    sX   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/Tools/c_preproc.pyt   <module>   st   $			L2LJ		
			(	-			|		.			!™