ó
‚¾^Yc           @   sM   d  d l  Z d  d l Z d „  Z d „  Z d „  Z e d k rI e ƒ  n  d S(   iÿÿÿÿNc         C   sŽ   t  |  ƒ } d | } d | } x- | D]% \ } } | j ƒ  j | ƒ r' Pq' q' Wx- | D]% \ } } | j ƒ  j | ƒ rW PqW qW W| d | f S(   Ns   #--! %s-starts   #--! %s-endi   (   t	   enumeratet   stript
   startswitht   endswith(   t   linest   tagt   srclinest	   start_tagt   end_tagt   start_indext   linet	   end_index(    (    s%   /tmp/pip-build-kpPAdC/ply/ply/ygen.pyt   get_source_range   s    

c         C   s`   g  } t  } d | } xC |  D]; } | j ƒ  j | ƒ rB | } q | r | j | ƒ q q W| S(   Ns   #--! %s(   t   TrueR   R   t   append(   R   R   t   filtered_linest   includet   tag_textR
   (    (    s%   /tmp/pip-build-kpPAdC/ply/ply/ygen.pyt   filter_section   s    

c          C   sW  t  j j t ƒ }  t j t  j j |  d ƒ t  j j |  d ƒ ƒ t t  j j |  d ƒ d ƒ  } | j ƒ  } Wd  QXt	 | d ƒ \ } } t	 | d ƒ \ } } t	 | d ƒ \ } } | | | !}	 t
 |	 d ƒ }
 t
 |
 d ƒ } | | | | +|
 | | | +g  | D] } | j ƒ  d	 ^ qþ } t t  j j |  d ƒ d
 ƒ  } | j | ƒ Wd  QXd GHd  S(   Ns   yacc.pys   yacc.py.bakt   rt
   parsedebugt   parseopts   parseopt-notrackt   DEBUGt   TRACKINGs   
t   ws   Updated yacc.py(   t   ost   patht   dirnamet   __file__t   shutilt   copy2t   joint   opent	   readlinesR   R   t   rstript
   writelines(   R   t   fR   t   parse_startt	   parse_endt   parseopt_startt   parseopt_endt   parseopt_notrack_startt   parseopt_notrack_endt
   orig_linest   parseopt_linest   parseopt_notrack_linesR
   (    (    s%   /tmp/pip-build-kpPAdC/ply/ply/ygen.pyt   main'   s     .!#!t   __main__(   t   os.pathR   R   R   R   R.   t   __name__(    (    (    s%   /tmp/pip-build-kpPAdC/ply/ply/ygen.pyt   <module>
   s   			