Ñò
$8Zc           @   sš   d  Z  d d k l Z d d k l Z d d k l Z d d k l Z d d k l Z l	 Z	 l
 Z
 l Z l Z e i d ƒ Z d e i f d	 „  ƒ  YZ d
 S(   s  Fixer for print.

Change:
    'print'          into 'print()'
    'print ...'      into 'print(...)'
    'print ... ,'    into 'print(..., end=" ")'
    'print >>x, ...' into 'print(..., file=x)'

No changes are applied if print_function is imported from __future__

i   (   t   patcomp(   t   pytree(   t   token(   t
   fixer_base(   t   Namet   Callt   Commat   Stringt   is_tuples"   atom< '(' [atom|STRING|NAME] ')' >t   FixPrintc           B   s    e  Z d  Z d „  Z d „  Z RS(   sP   
              simple_stmt< any* bare='print' any* > | print_stmt
              c         C   sW  | p t  ‚ | i d ƒ } | o* | i t t d ƒ g  d | i ƒƒ d  S| i d t d ƒ j p t  ‚ | i d } t | ƒ d j o t i	 | d ƒ o d  Sd  } } } | o( | d t ƒ  j o | d  } d } n | oX | d t i t i d ƒ j o8 t | ƒ d	 j p t  ‚ | d i ƒ  } | d
 } n g  } | D] }	 | |	 i ƒ  qO~ }
 |
 o d |
 d _ n | d  j	 p | d  j	 p | d  j	 oˆ | d  j	 o# |  i |
 d t t | ƒ ƒ ƒ n | d  j	 o# |  i |
 d t t | ƒ ƒ ƒ n | d  j	 o |  i |
 d | ƒ q2n t t d ƒ |
 ƒ } | i | _ | S(   Nt   bareu   printt   prefixi    i   iÿÿÿÿt    u   >>i   i   u    u   sepu   endu   file(   t   AssertionErrort   gett   replaceR   R   R   t   childrent   lent   parend_exprt   matcht   NoneR   R   t   LeafR   t
   RIGHTSHIFTt   clonet	   add_kwargR   t   repr(   t   selft   nodet   resultst
   bare_printt   argst   sept   endt   filet   _[1]t   argt   l_argst   n_stmt(    (    s-   /usr/lib/python2.6/lib2to3/fixes/fix_print.pyt	   transform#   s>    !'

'''##c         C   st   d | _  t i |  i i t | ƒ t i t i d ƒ | f ƒ } | o | i	 t
 ƒ  ƒ d | _  n | i	 | ƒ d  S(   Nu    u   =u    (   R   R   t   Nodet   symst   argumentR   R   R   t   EQUALt   appendR   (   R   t   l_nodest   s_kwdt   n_exprt
   n_argument(    (    s-   /usr/lib/python2.6/lib2to3/fixes/fix_print.pyR   K   s    		(   t   __name__t
   __module__t   PATTERNR&   R   (    (    (    s-   /usr/lib/python2.6/lib2to3/fixes/fix_print.pyR	      s   	(N(   t   __doc__t    R    R   t   pgen2R   R   t
   fixer_utilR   R   R   R   R   t   compile_patternR   t   BaseFixR	   (    (    (    s-   /usr/lib/python2.6/lib2to3/fixes/fix_print.pyt   <module>   s   (	