
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
ó
vWS`c        )   @   sf  d  Z  d d l Td d l Z d d l Z d d l Z d e f d „  ƒ  YZ d d l m Z m	 Z	 d d l m
 Z
 m Z m Z d „  Z d	 d
 „ Z d „  Z d „  Z d „  Z d f  d „  ƒ  YZ e j e j e j e j e j e j e j e j e j e j e j e j e j e j  e j! e j" g Z# i d e j$ 6d e j% 6d e j& 6d e j' 6d e j( 6d e j) 6d e j* 6Z+ e j, e j- e j. e j/ e j0 e j1 e j2 e j e j3 e j4 e j5 e j6 e j7 e j8 e j9 e j: e j; e j< e j= e j> e j? e j@ e jA e jB e jC e j e j e j e j e j e j e jD e j e j e j e j e j e j  e j! e j" e jE g) ZF eG e d ƒ r�eF jH e jI ƒ n  eG e d ƒ r±eF jH e jJ ƒ n  e j e j e j e j e j e j e j e j e j e j e j  e j! g ZK i  ZL x' e jM jN ƒ  D] \ ZO ZP eP eL eO <qWx' e jQ jN ƒ  D] \ ZO ZP eP eL eO <q?Wd „  ZR d S(   sî   Parse tree transformation module.

Transforms Python source code into an abstract syntax tree (AST)
defined in the ast module.

The simplest ways to invoke this module are via parse and parseFile.
parse(buf) -> AST
parseFile(path) -> AST
iÿÿÿÿ(   t   *Nt   WalkerErrorc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR   !   s   (   t
   CO_VARARGSt   CO_VARKEYWORDS(   t	   OP_ASSIGNt	   OP_DELETEt   OP_APPLYc         C   s3   t  |  d ƒ } | j ƒ  d } | j ƒ  t | ƒ S(   Nt   Us   
(   t   opent   readt   closet   parse(   t   patht   ft   src(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt	   parseFile'   s    
t   execc         C   sT   | d k s | d k r( t  ƒ  j |  ƒ S| d k rD t  ƒ  j |  ƒ St d ƒ ‚ d  S(   NR   t   singlet   evals4   compile() arg 3 must be 'exec' or 'eval' or 'single'(   t   Transformert
   parsesuitet	   parseexprt
   ValueError(   t   buft   mode(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR   1   s
    c         C   s¯   g  } x¢ |  D]š } t  | d ƒ r8 | j | j ƒ  ƒ q t | ƒ t d ƒ k rl | j t t | ƒ ƒ ƒ q t | ƒ t g  ƒ k rš | j t | ƒ ƒ q | j | ƒ q W| S(   Nt   asList(   NN(   t   hasattrt   appendR   t   typet   Nonet   tuple(   t   nodest   lt   item(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR   :   s    c         C   sb   t  |  d t ƒ s |  d Sx@ |  d D]4 } t  | t ƒ r& t | ƒ } | d  k	 rZ | Sq& q& Wd  S(   Ni   i   (   t
   isinstanceR    t   extractLineNoR   (   t   astt   childt   lineno(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR%   H   s    c          G   st   |  d } | t  k r] y t  | |  d Œ  SWqp t k
 rY t  | Gt |  ƒ G|  GH‚  qp Xn t d t |  ƒ ‚ d  S(   Ni    i   s$   Can't find appropriate Node type: %s(   R!   t	   TypeErrort   lenR   t   str(   t   argst   kind(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   NodeR   s    

R   c           B   sU  e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e Z d „  Z d „  Z e Z e Z e Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d „  Z$ d „  Z% d  „  Z& d! „  Z' d" „  Z( d# „  Z) d$ „  Z* d% „  Z+ d& „  Z, d' „  Z- d( „  Z. d) „  Z/ d* „  Z0 d+ „  Z1 d, „  Z2 d- „  Z3 d. „  Z4 d/ „  Z5 d0 „  Z6 d1 „  Z7 d2 „  Z8 d3 „  Z9 e9 Z: e9 Z; e9 Z< d4 „  Z= d5 „  Z> d6 „  Z? e? Z@ d7 „  ZA d8 „  ZB d9 „  ZC d: „  ZD d; „  ZE d< „  ZF d= „  ZG d> „  ZH d? „  ZI d@ „  ZJ dA „  ZK dB „  ZL dC „  ZM dD „  ZN dE „  ZO dF „  ZP dG „  ZQ dH „  ZR dI „  ZS dJ „  ZT dK „  ZU dL „  ZV dM „  ZW dN „  ZX dO „  ZY dP „  ZZ dQ „  Z[ dR „  Z\ dS „  Z] dT „  Z^ dU „  Z_ dV „  Z` dW „  Za dX „  Zb dY „  Zc dZ „  Zd d[ „  Ze d\ „  Zf d] „  Zg d^ „  Zh d_ „  Zi d` „  Zj da „  Zk db „  Zl dc „  Zm dd „  Zn de „  Zo df „  Zp dg „  Zq dh „  Zr di „  Zs dj „  Zt dk „  Zu dl „  Zv dm „  Zw dn „  Zx do „  Zy dp „  Zz dq „  Z{ dr „  Z| ds „  Z} du dt „ Z RS(v   sê   Utility object for transforming Python parse trees.

    Exposes the following methods:
        tree = transform(ast_tree)
        tree = parsesuite(text)
        tree = parseexpr(text)
        tree = parsefile(fileob | filename)
    c         C   sÕ   i  |  _  xE t j j ƒ  D]4 \ } } t |  | ƒ r t |  | ƒ |  j  | <q q W|  j |  j  t j <i |  j	 t j
 6|  j t j 6|  j t j 6|  j t j 6|  j t j 6|  j t j 6|  j t j 6|  _ d  |  _ d  S(   N(   t	   _dispatcht   symbolt   sym_namet   itemsR   t   getattrt   com_NEWLINEt   tokent   NEWLINEt	   atom_lpart   LPARt	   atom_lsqbt   LSQBt   atom_lbracet   LBRACEt   atom_backquotet	   BACKQUOTEt   atom_numbert   NUMBERt   atom_stringt   STRINGt	   atom_namet   NAMEt   _atom_dispatchR   t   encoding(   t   selft   valuet   name(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   __init__h   s    	c         C   sC   t  | t ƒ p t  | t ƒ s6 t j | d d ƒ} n  |  j | ƒ S(   s,   Transform an AST into a modified parse tree.t	   line_infoi   (   R$   R    t   listt   parsert   st2tuplet   compile_node(   RG   t   tree(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt	   transformx   s    c         C   s   |  j  t j | ƒ ƒ S(   s6   Return a modified parse tree for the given suite text.(   RQ   RM   t   suite(   RG   t   text(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR   ~   s    c         C   s   |  j  t j | ƒ ƒ S(   s;   Return a modified parse tree for the given expression text.(   RQ   RM   t   expr(   RG   RS   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR   ‚   s    c         C   s:   t  | ƒ t  d ƒ k r' t | ƒ } n  |  j | j ƒ  ƒ S(   s@   Return a modified parse tree for the contents of the given file.t    (   R   R
   R   R   (   RG   t   file(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt	   parsefile†   s    c         C   s  | d } | t  j k r= | d |  _ | d } | d } n  | t  j k r] |  j | d ƒ S| t  j k r} |  j | d ƒ S| t  j k r� |  j | d ƒ S| t  j k r½ |  j | d ƒ S| t  j k rÝ |  j | d ƒ S| t  j k rý |  j | d ƒ St	 d | f ‚ d  S(   Ni    i   i   s   unexpected node type(
   R0   t   encoding_declRF   t   single_inputt
   file_inputt
   eval_inputt   lambdeft   funcdeft   classdefR   (   RG   t   nodet   n(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRO   ‘   s$    

c         C   s5   | d d } | t  j k r. |  j | d ƒ St ƒ  S(   Ni    (   R5   R6   t   com_stmtt   Pass(   RG   R_   R`   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRY   ©   s    c         C   s—   |  j  | t j ƒ } | d  k	 r* d } n d } g  } xK | | D]? } | d t j k rA | d t j k rA |  j | | ƒ qA qA Wt | t	 | ƒ ƒ S(   Ni   i    (
   t   get_docstringR0   RZ   R   R5   t	   ENDMARKERR6   t   com_append_stmtt   Modulet   Stmt(   RG   t   nodelistt   doct   it   stmtsR_   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRZ   ³   s    	&c         C   s   t  |  j | d ƒ ƒ S(   Ni    (   t
   Expressiont   com_node(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR[   ¿   s    c         C   s]   t  | ƒ } |  j | ƒ } d } x5 | | k  rX t | | | d d ƒ } | d 7} q$ W| S(   Ni   i   (   R*   RC   t   Getattr(   RG   Rh   t   listlenR#   Rj   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   decorator_nameÄ   s    c         C   sL   |  j  | d d ƒ } t | ƒ d k rB |  j | | d ƒ } n | } | S(   Ni   i   (   Rp   R*   t   com_call_function(   RG   Rh   t   funcnameRT   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt	   decoratorÒ   s
    c         C   s;   g  } x( | D]  } | j  |  j | d ƒ ƒ q Wt | ƒ S(   Ni   (   R   Rs   t
   Decorators(   RG   Rh   R2   t   dec_nodelist(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt
   decoratorsã   s    c         C   s¢   | d d t  j k rC | d g t | d d ƒ } |  j | ƒ S| d d t  j k r• |  j | d d ƒ } |  j | d d ƒ } | | _ | St ƒ  ‚ d  S(   Ni   i    (   R0   R]   RL   R^   Rv   R   (   RG   Rh   R`   Rv   t   cls(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt	   decoratedë   s    	c      
   C   sÿ   t  | ƒ d k r, |  j | d d ƒ } n d  } | d d } | d d } | d d } | d t j k rŽ |  j | d ƒ \ } } } n d	 } } d } |  j | d ƒ }	 |  j | d ƒ }
 |	 d  k	 rÝ |
 j d =n  t	 | | | | | |	 |
 d | ƒS(
   Ni   i    i   iüÿÿÿi   iýÿÿÿiÿÿÿÿR(   (    (
   R*   Rv   R   R0   t   varargslistt   com_arglistRc   Rm   R!   t   Function(   RG   Rh   Rv   R(   RI   R,   t   namest   defaultst   flagsRi   t   code(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR]   ÷   s     
c         C   s~   | d d t  j k r: |  j | d d ƒ \ } } } n d } } d } |  j | d ƒ } t | | | | d | d d ƒS(   Ni   i    i   iÿÿÿÿR(   (    (   R0   Ry   Rz   Rm   t   Lambda(   RG   Rh   R|   R}   R~   R   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR\     s    #
c         C   sÁ   | d d } |  j  | d ƒ } | d d t j k rA g  } n3 | d d t j k ra g  } n |  j | d ƒ } |  j | d ƒ } | d  k	 r  | j d =n  t | | | | d | d d ƒS(   Ni   iÿÿÿÿi   i    i   R(   (	   Rc   R5   t   COLONt   RPARt	   com_basesRm   R   R!   t   Class(   RG   Rh   RI   Ri   t   basesR   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR^   &  s    		c         C   s   |  j  | d ƒ S(   Ni    (   Ra   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   stmt<  s    c         C   sG   g  } x4 t  d t | ƒ d ƒ D] } |  j | | | ƒ q Wt | ƒ S(   Ni    i   (   t   rangeR*   Re   Rg   (   RG   Rh   Rk   Rj   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   simple_stmtC  s    c         C   s
   t  ‚ d  S(   N(   R   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt
   parametersJ  s    c         C   s
   t  ‚ d  S(   N(   R   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRy   M  s    c         C   s
   t  ‚ d  S(   N(   R   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   fpdefP  s    c         C   s
   t  ‚ d  S(   N(   R   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   fplistS  s    c         C   s
   t  ‚ d  S(   N(   R   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   dotted_nameV  s    c         C   s
   t  ‚ d  S(   N(   R   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   comp_opY  s    c         C   s
   t  ‚ d  S(   N(   R   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   trailer\  s    c         C   s
   t  ‚ d  S(   N(   R   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   sliceop_  s    c         C   s
   t  ‚ d  S(   N(   R   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   argumentb  s    c         C   s  | d } |  j  | ƒ | d ƒ } t | ƒ d k rH t | d | j ƒS| d d t j k rÄ g  } xA t d t | ƒ d d ƒ D]# } | j |  j | | t	 ƒ ƒ q‚ Wt
 | | d | d d ƒS|  j | d ƒ } |  j | d ƒ } t | | d | d | d ƒSt d ‚ d  S(   Niÿÿÿÿi   R(   i    i   s   can't get here(   t   lookup_nodeR*   t   DiscardR(   R5   t   EQUALR‡   R   t
   com_assignR   t   Assignt   com_augassignt   com_augassign_opt	   AugAssignR   (   RG   Rh   t   ent   exprNodet   nodeslRj   t   lvalt   op(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt	   expr_stmtj  s    
#!c         C   sð   g  } t  | ƒ d k r' d } d  } n? | d d t j k rZ |  j | d ƒ } d } n d  } d } x: t | t  | ƒ d ƒ D]  } | j |  j | | ƒ ƒ q W| d d t j k rÕ t | | d | d d ƒSt	 | | d | d d ƒS(   Ni   i    i   i   iÿÿÿÿR(   (
   R*   R   R5   t
   RIGHTSHIFTRm   R‡   R   t   COMMAt   Printt   Printnl(   RG   Rh   R2   t   startt   destRj   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt
   print_stmt{  s    		c         C   s   |  j  | d t ƒ S(   Ni   (   R”   R   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   del_stmt�  s    c         C   s   t  d | d d ƒ S(   NR(   i    i   (   Rb   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt	   pass_stmt’  s    c         C   s   t  d | d d ƒ S(   NR(   i    i   (   t   Break(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt
   break_stmt•  s    c         C   s   t  d | d d ƒ S(   NR(   i    i   (   t   Continue(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   continue_stmt˜  s    c         C   sU   t  | ƒ d k  r0 t t d  ƒ d | d d ƒSt |  j | d ƒ d | d d ƒS(   Ni   R(   i    i   (   R*   t   Returnt   ConstR   Rm   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   return_stmt›  s    c         C   s&   |  j  | d ƒ } t | d | j ƒS(   Ni    R(   (   Rm   R’   R(   (   RG   Rh   RT   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt
   yield_stmt¡  s    c         C   sL   t  | ƒ d k r( |  j | d ƒ } n t d  ƒ } t | d | d d ƒS(   Ni   R(   i    i   (   R*   Rm   R­   R   t   Yield(   RG   Rh   RH   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt
   yield_expr¥  s    c         C   s¨   t  | ƒ d k r( |  j | d ƒ } n d  } t  | ƒ d k rV |  j | d ƒ } n d  } t  | ƒ d k r„ |  j | d ƒ } n d  } t | | | d | d d ƒS(   Ni   i   i   R(   i    i   (   R*   Rm   R   t   Raise(   RG   Rh   t   expr3t   expr2t   expr1(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt
   raise_stmt¬  s    c         C   s   |  j  | d ƒ S(   Ni    (   Rm   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   import_stmt¼  s    c         C   s%   t  |  j | d ƒ d | d d ƒS(   Ni   R(   i    i   (   t   Importt   com_dotted_as_names(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   import_nameÁ  s    c         C   s   d } x" | | d d k r* | d 7} q	 W| d } | | d t  j k rl |  j | | ƒ } | d 7} n d } | | d d t j k r® t | d g | d | d d ƒS| | d | | d d t j k } t | |  j | ƒ | d | d d ƒSd  S(	   Ni   t   .i    RU   R    R(   i   (   R    N(	   R0   RŒ   t   com_dotted_nameR5   t   STARt   FromR   R8   t   com_import_as_names(   RG   Rh   t   idxt   levelt   fromnameR_   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   import_fromÆ  s    
'c         C   sV   g  } x5 t  d t | ƒ d ƒ D] } | j | | d ƒ q Wt | d | d d ƒS(   Ni   i   R(   i    (   R‡   R*   R   t   Global(   RG   Rh   R|   Rj   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   global_stmtÜ  s    c         C   s‘   |  j  | d ƒ } t | ƒ d k ri |  j  | d ƒ } t | ƒ d k r` |  j  | d ƒ } qs d  } n
 d  } } t | | | d | d d ƒS(	   Ni   i   i   i   i   R(   i    i   (   Rm   R*   R   t   Exec(   RG   Rh   Rµ   R´   R³   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt	   exec_stmtã  s    	
c         C   s\   |  j  | d ƒ } t | ƒ d k r; |  j  | d ƒ } n d  } t | | d | d d ƒS(   Ni   i   i   R(   i    i   (   Rm   R*   R   t   Assert(   RG   Rh   Rµ   R´   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   assert_stmtñ  s
    c         C   s»   g  } xe t  d t | ƒ d d ƒ D]G } |  j | | d ƒ } |  j | | d ƒ } | j | | f ƒ q# Wt | ƒ d d k rš |  j | d ƒ } n d  } t | | d | d d ƒS(   Ni    i   i   i   iÿÿÿÿR(   i   (   R‡   R*   Rm   R   R   t   If(   RG   Rh   t   testsRj   t   testNodet	   suiteNodet   elseNode(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   if_stmtú  s    #c         C   sr   |  j  | d ƒ } |  j  | d ƒ } t | ƒ d k rN |  j  | d ƒ } n d  } t | | | d | d d ƒS(   Ni   i   i   i   R(   i    i   (   Rm   R*   R   t   While(   RG   Rh   RÌ   t   bodyNodeRÎ   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt
   while_stmt	  s    c         C   s‹   |  j  | d t ƒ } |  j | d ƒ } |  j | d ƒ } t | ƒ d k rd |  j | d ƒ } n d  } t | | | | d | d d ƒS(   Ni   i   i   i   R(   i    i   (   R”   R   Rm   R*   R   t   For(   RG   Rh   t
   assignNodet   listNodeRÑ   RÎ   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   for_stmt  s    c         C   s   |  j  | ƒ S(   N(   t   com_try_except_finally(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   try_stmt%  s    c         C   s   |  j  | ƒ S(   N(   t   com_with(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt	   with_stmt(  s    c         C   s   |  j  | ƒ S(   N(   t   com_with_var(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   with_var+  s    c         C   sj   t  | ƒ d k r# |  j | d ƒ Sg  } x4 | D], } | d t j k r0 |  j | | ƒ q0 q0 Wt | ƒ S(   Ni   i    (   R*   Ra   R0   R†   Re   Rg   (   RG   Rh   Rk   R_   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRR   .  s    c         C   s   |  j  t | ƒ S(   N(   t
   com_binaryt   Tuple(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   testlist>  s    c         C   s]   t  | ƒ d k rP | d d t j k rP |  j | d ƒ } |  j | | d ƒ S|  j | ƒ S(   Ni   i   i    (   R*   R0   t   comp_forRm   t   com_generator_expressionRß   (   RG   Rh   t   test(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   testlist_compH  s    )c         C   s§   t  | ƒ d k r: | d d t j k r: |  j | d ƒ S|  j | d ƒ } t  | ƒ d k r£ |  j | d ƒ } |  j | d ƒ } t | | | d | d d ƒS| S(   Ni   i    i   i   R(   (   R*   R0   R\   Rm   t   IfExp(   RG   Rh   t   thenRâ   t   else_(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRâ   P  s    )c         C   sJ   t  | ƒ d k r: | d d t j k r: |  j | d ƒ S|  j t | ƒ S(   Ni   i    (   R*   R0   R\   RÝ   t   Or(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   or_test^  s    )c         C   s   |  j  t | ƒ S(   N(   RÝ   t   And(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   and_teste  s    c         C   sA   |  j  | d ƒ } t | ƒ d k r= t | d | d d ƒS| S(   Niÿÿÿÿi   R(   i    (   Rm   R*   t   Not(   RG   Rh   t   result(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   not_testi  s    c   	      C   s	  |  j  | d ƒ } t | ƒ d k r) | Sg  } xÄ t d t | ƒ d ƒ D]ª } | | d } | d } | d t j k r¶ | d } t | ƒ d k rÄ | d k rª d } q³ d } qÄ n t | d } | d d } | j | |  j  | | ƒ f ƒ qH Wt | | d | ƒS(	   Ni    i   i   i   t   nots   not ins   is notR(   (   Rm   R*   R‡   R5   RD   t
   _cmp_typesR   t   Compare(	   RG   Rh   R_   t   resultsRj   t   nlR`   R   R(   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt
   comparisonp  s"    

	$c         C   s   |  j  t | ƒ S(   N(   RÝ   t   Bitor(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRT   ‘  s    c         C   s   |  j  t | ƒ S(   N(   RÝ   t   Bitxor(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   xor_expr•  s    c         C   s   |  j  t | ƒ S(   N(   RÝ   t   Bitand(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   and_expr™  s    c         C   sâ   |  j  | d ƒ } xÈ t d t | ƒ d ƒ D]® } |  j  | | ƒ } | | d d t j k rƒ t | | g d | d d ƒ} q, | | d d t j k rÁ t | | g d | d d ƒ} q, t d | | d d ‚ q, W| S(   Ni    i   i   R(   s   unexpected token: %s(	   Rm   R‡   R*   R5   t	   LEFTSHIFTt	   LeftShiftRŸ   t
   RightShiftR   (   RG   Rh   R_   Rj   t   right(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt
   shift_expr�  s    ##c         C   sâ   |  j  | d ƒ } xÈ t d t | ƒ d ƒ D]® } |  j  | | ƒ } | | d d t j k rƒ t | | g d | d d ƒ} q, | | d d t j k rÁ t | | g d | d d ƒ} q, t d | | d d ‚ q, W| S(   Ni    i   i   R(   s   unexpected token: %s(	   Rm   R‡   R*   R5   t   PLUSt   Addt   MINUSt   SubR   (   RG   Rh   R_   Rj   Rü   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt
   arith_exprª  s    ##c         C   s  |  j  | d ƒ } xó t d t | ƒ d ƒ D]Ù } |  j  | | ƒ } | | d d } | t j k r{ t | | g ƒ } ny | t j k rŸ t | | g ƒ } nU | t j k rÃ t	 | | g ƒ } n1 | t j
 k rç t | | g ƒ } n t d | ‚ | d d | _ q, W| S(   Ni    i   i   s   unexpected token: %s(   Rm   R‡   R*   R5   R½   t   Mult   SLASHt   Divt   PERCENTt   Modt   DOUBLESLASHt   FloorDivR   R(   (   RG   Rh   R_   Rj   Rü   t   t(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   term¶  s    c         C   s§   | d } | d } |  j  | d ƒ | d d ƒ } | t j k rX t | d | d ƒS| t j k r{ t | d | d ƒS| t j k r£ t | d | d ƒ} n  | S(   Ni    iÿÿÿÿi   R(   i   (   R‘   R5   Rþ   t   UnaryAddR   t   UnarySubt   TILDEt   Invert(   RG   Rh   t   eltR
  R_   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   factorÈ  s    

!c         C   s‘   |  j  | d ƒ } xw t d t | ƒ ƒ D]` } | | } | d t j k rw t | |  j  | | d ƒ g d | d ƒS|  j | | ƒ } q) W| S(   Ni    i   R(   i   (   Rm   R‡   R*   R5   t
   DOUBLESTARt   Powert   com_apply_trailer(   RG   Rh   R_   Rj   R  (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   powerÕ  s    
 c         C   s   |  j  | d d | ƒ S(   Ni    (   RE   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   atomâ  s    c         C   s@   | d d t  j k r/ t d d | d d ƒS|  j | d ƒ S(   Ni   i    R(   i   (    (   R5   R‚   RÞ   Rm   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR7   å  s    c         C   s@   | d d t  j k r/ t d d | d d ƒS|  j | d ƒ S(   Ni   i    R(   i   (    (   R5   t   RSQBt   Listt   com_list_constructor(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR9   ê  s    c         C   s@   | d d t  j k r/ t d d | d d ƒS|  j | d ƒ S(   Ni   i    R(   i   (    (   R5   t   RBRACEt   Dictt   com_dictorsetmaker(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR;   ï  s    c         C   s   t  |  j | d ƒ ƒ S(   Ni   (   t	   BackquoteRm   (   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR=   ô  s    c         C   s,   t  | d d ƒ } t | d | d d ƒS(   Ni    i   R(   i   (   R   R­   (   RG   Rh   t   k(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR?   ÷  s    c         C   s[   |  j  rM |  j  d k r6 t | d ƒ j |  j  ƒ } n  t d |  j  | f ƒ St | ƒ Sd  S(   Ns   utf-8s
   iso-8859-1s   # coding: %s
%s(   s   utf-8s
   iso-8859-1(   RF   t   unicodet   encodeR   (   RG   t   lit(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   decode_literalü  s
    	c         C   sF   d } x% | D] } | |  j  | d ƒ 7} q Wt | d | d d ƒS(   NRU   i   R(   i    i   (   R"  R­   (   RG   Rh   R  R_   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRA     s    c         C   s    t  | d d d | d d ƒS(   Ni    i   R(   i   (   t   Name(   RG   Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRC     s    c         C   s   |  j  | d S(   Ni    (   R/   (   RG   R_   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR‘     s    c         C   s   |  j  | d | d ƒ S(   Ni    i   (   R/   (   RG   R_   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRm      s    c         G   s   t  t d  ƒ ƒ S(   N(   R’   R­   R   (   RG   R,   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR4   '  s    c         C   sÒ  g  } g  } d } d } xª| t  | ƒ k  rÄ| | } | d t j k s] | d t j k r+| d t j k r¼ | | d } | d t j k r¼ | j | d ƒ | t B} | d } q¼ n  | t  | ƒ k  r'| | d } | t j k rü | | d } n t d | ‚ | j | d ƒ | t B} n  Pn  | j |  j	 | ƒ ƒ | d } | t  | ƒ k  rŸ| | d t j
 k rŸ| j |  j | | d ƒ ƒ | d } n t  | ƒ r·t d ‚ n  | d } q W| | | f S(   Ni    i   i   s   unexpected token: %si   s-   non-default argument follows default argument(   R*   R5   R½   R  RD   R   R   R   R   t	   com_fpdefR“   Rm   t   SyntaxError(   RG   Rh   R|   R}   R~   Rj   R_   R
  (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRz   -  s<    
&

)c         C   s4   | d d t  j k r( |  j | d ƒ S| d d S(   Ni   i    i   (   R5   R8   t
   com_fplist(   RG   R_   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR$  _  s    c         C   sp   t  | ƒ d k r# |  j | d ƒ Sg  } x: t d t  | ƒ d ƒ D]  } | j |  j | | ƒ ƒ qB Wt | ƒ S(   Ni   i   (   R*   R$  R‡   R   R    (   RG   R_   RL   Rj   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR&  e  s    c         C   s\   d } xK | D]C } t  | ƒ t  d ƒ k r | d d k r | | d d } q q W| d  S(   NRU   i    i   R»   iÿÿÿÿ(    (   R   (   RG   R_   RI   R`   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR¼   n  s
    (c         C   sO   | d } |  j  | d d ƒ } t | ƒ d k r= | d  f S| | d d f S(   Ni   i    i   (   R¼   R*   R   (   RG   R_   t   dot(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   com_dotted_as_namev  s
    

c         C   sa   | d } |  j  | d ƒ g } x: t d t | ƒ d ƒ D]  } | j |  j  | | ƒ ƒ q9 W| S(   Ni   i    i   (   R(  R‡   R*   R   (   RG   R_   R|   Rj   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR¹   €  s
    
c         C   sH   | d } t  | ƒ d k r. | d d d  f S| d d | d d f S(   Ni   i    i   (   R*   R   (   RG   R_   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   com_import_as_nameˆ  s    
c         C   sa   | d } |  j  | d ƒ g } x: t d t | ƒ d ƒ D]  } | j |  j  | | ƒ ƒ q9 W| S(   Ni   i    i   (   R)  R‡   R*   R   (   RG   R_   R|   Rj   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR¿   ’  s
    
c         C   sG   g  } x: t  d t | ƒ d ƒ D]  } | j |  j | | ƒ ƒ q W| S(   Ni   i   (   R‡   R*   R   Rm   (   RG   R_   R…   Rj   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRƒ   š  s    c   
      C   së  | d d t  j k rL t |  j | d ƒ |  j | d ƒ d | d d ƒSg  } d  } d  } x4t d t | ƒ d ƒ D]} | | } | d t j k r't | ƒ d k ró |  j | d ƒ } t | ƒ d k rê |  j	 | d t
 ƒ } qý d  } n
 d  } } | j | | |  j | | d ƒ f ƒ n  | d t  j k rw | d d k rd|  j | | d ƒ } q‘| d d	 k r‘|  j | | d ƒ } q‘qw qw Wt |  j | d ƒ | | d | d d ƒ}	 | rãt |	 | d | d d ƒS|	 Sd  S(
   Ni   i    i   i   R(   i   i   t   elset   finally(   R5   RD   t
   TryFinallyRm   R   R‡   R*   R0   t   except_clauseR”   R   R   t	   TryExcept(
   RG   Rh   t   clausesRÎ   t   finallyNodeRj   R_   Rµ   R´   t
   try_except(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR×      s6    
	
*!c         C   su   |  j  | d ƒ } x[ t t | ƒ d d d ƒ D]= } |  j | | | | d d ƒ } | d k rg | S| } q0 Wd  S(   Niÿÿÿÿi   i    iþÿÿÿi   i   (   Rm   R‡   R*   t   com_with_item(   RG   Rh   t   bodyRj   t   ret(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRÙ   É  s    #!c         C   sZ   t  | ƒ d k r+ |  j | d t ƒ } n d  } |  j | d ƒ } t | | | d | ƒS(   Ni   i   i   R(   (   R*   R”   R   R   Rm   t   With(   RG   Rh   R3  R(   t   varRT   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR2  Ò  s
    c         C   s   | d S(   Ni   (    (   RG   R_   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR—   Û  s    c         C   sE   |  j  | ƒ } | j t t t t f k r. | St d | j j ‚ d S(   s…   Return node suitable for lvalue of augmented assignment

        Names, slices, and attributes are the only allowable nodes.
        s   can't assign to %sN(   Rm   t	   __class__R#  t   Slicet	   SubscriptRn   R%  R   (   RG   R_   R"   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR–   ß  s    c         C   sU  xN| d } | t  j t  j t  j t  j f k r` t | ƒ d k rS |  j | | ƒ S| d } q | t k r— t | ƒ d k rŠ t d ‚ n  | d } q | t  j	 k rq| d d t  j
 k rÉ t d ‚ n  t | ƒ d k rd|  j | d ƒ } x\ t d t | ƒ d ƒ D]A } | | } | d t j k r7t d ‚ n  |  j | | ƒ } qW|  j | | d | ƒ S| d } q | t  j
 k r@| d d } | t j k rÉ| d } | d t j k r=t d ‚ q=qM| t j k r| d } | d t j k rt d ‚ n  |  j | | ƒ S| t j k r4|  j | d | ƒ St d ‚ q t d	 | ‚ q Wd  S(
   Ni    i   i   s   can't assign to operatoriÿÿÿÿs   can't assign to ()s   can't assign to []s   can't assign to literals   bad assignment (%s)(   R0   t   exprlistRß   t   testlist_safeRã   R*   t   com_assign_tuplet   _assign_typesR%  R  R  Rm   R‡   R5   R  R  t   com_assign_trailerR8   R‚   R:   R  t   com_assign_listRD   t   com_assign_name(   RG   R_   t	   assigningR
  t   primaryRj   t   ch(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR”   é  sL    
$ 


c         C   s\   g  } x= t  d t | ƒ d ƒ D]# } | j |  j | | | ƒ ƒ q Wt | d t | ƒ ƒS(   Ni   i   R(   (   R‡   R*   R   R”   t   AssTupleR%   (   RG   R_   RA  t   assignsRj   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR<    s    !c         C   sœ   g  } x} t  d t | ƒ d ƒ D]c } | d t | ƒ k  re | | d d t j k re t d ‚ qe n  | j |  j | | | ƒ ƒ q Wt | d t | ƒ ƒS(   Ni   i   i    s"   can't assign to list comprehensionR(   (	   R‡   R*   R0   t   list_forR%  R   R”   t   AssListR%   (   RG   R_   RA  RE  Rj   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR?    s    !c         C   s   t  | d | d | d ƒS(   Ni   R(   i   (   t   AssName(   RG   R_   RA  (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR@  %  s    c         C   s†   | d d } | t  j k r4 |  j | | d | ƒ S| t  j k rZ |  j | | d | ƒ S| t  j k ru t d ‚ n  t d | ‚ d  S(   Ni   i    i   s   can't assign to function calls   unknown trailer type: %s(   R5   t   DOTt   com_assign_attrR:   t   com_subscriptlistR8   R%  (   RG   RB  R_   RA  R
  (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR>  (  s    c         C   s   t  | | d | d | d ƒS(   Ni   R(   iÿÿÿÿ(   t   AssAttr(   RG   RB  R_   RA  (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRJ  2  s    c         C   sœ   t  | ƒ } | d k r9 | d } |  j | ƒ | d ƒ Sg  } xD t d | d ƒ D]0 } | | } | j |  j | ƒ | d ƒ ƒ qR W| | d t | ƒ ƒS(   s=   Compile 'NODE (OP NODE)*' into (type, [ node1, ..., nodeN ]).i   i    i   R(   (   R*   R‘   R‡   R   R%   (   RG   t   constructorRh   R"   R`   R2   Rj   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRÝ   5  s    

$c         C   s9   |  j  | ƒ | d ƒ } t | t ƒ r, | St | g ƒ S(   Ni   (   R‘   R$   Rg   (   RG   R_   Rì   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRa   A  s    c         C   sL   |  j  | ƒ | d ƒ } t | t ƒ r; | j | j ƒ n | j | ƒ d  S(   Ni   (   R‘   R$   Rg   t   extendR!   R   (   RG   Rk   R_   Rì   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRe   H  s    c         C   s£   g  } xƒ t  d t | ƒ ƒ D]l } | | d t j k rQ |  j | d | | ƒ S| | d t j k rn q n  | j |  j | | ƒ ƒ q Wt	 | d | d j
 ƒS(   Ni   i    R(   (   R‡   R*   R0   RF  t   com_list_comprehensionR5   R    R   Rm   R  R(   (   RG   Rh   t   valuesRj   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR  P  s    c         C   s   |  j  | d  | d ƒ S(   NRL   (   t   com_comprehensionR   (   RG   RT   R_   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRO  ]  s    c         C   s  | d d } g  } x| r•| d d } | d k rã |  j  | d t ƒ } |  j | d ƒ }	 t | |	 g  ƒ }
 | d d |
 _ | j |
 ƒ t | ƒ d k r« d  } q’| d k rÍ |  j | d ƒ } q’|  j	 | d ƒ } q | d k r|  j | d ƒ } t
 | d | d d ƒ} |
 j j | ƒ t | ƒ d	 k rGd  } q’| d k ri|  j | d	 ƒ } q’|  j	 | d	 ƒ } q t d
 | | f ‚ q W| d k rµt | | d | ƒS| d k rÔt | | d | ƒS| d k röt | | | d | ƒSt d t | ƒ ƒ ‚ d  S(   Ni   i   t   fori   i   RL   t   ifR(   i   s'   unexpected comprehension element: %s %dt   sett   dicts   unexpected comprehension type: (   R”   R   Rm   t   ListCompForR(   R   R*   R   t   com_list_itert   com_comp_itert
   ListCompIft   ifsR%  t   ListCompt   SetCompt   DictCompR   t   repr(   RG   Rµ   R´   R_   R   R(   t   forsR
  RÔ   t   compNodet   newforRâ   t   newif(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRQ  `  sD    
			c         C   s   | d S(   Ni   (    (   RG   R_   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRW  ‘  s    c         C   s   | d S(   Ni   (    (   RG   R_   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRX  •  s    c         C   su  | d d } g  } x8| rN| d d } | d k r¾ |  j  | d t ƒ } |  j | d ƒ } t | | g  d | d d ƒ} | j | ƒ t | ƒ d k r¨ d  } qK|  j | d ƒ } q | d k r8|  j | d ƒ }	 t |	 d | d d ƒ}
 | j	 j |
 ƒ t | ƒ d k r"d  } qK|  j | d ƒ } q t
 d	 | | f ‚ q Wt | d
 _ t t | | ƒ d | ƒS(   Ni   i   RR  i   R(   i   RS  i   s.   unexpected generator expression element: %s %di    (   R”   R   Rm   t
   GenExprForR   R*   R   RX  t	   GenExprIfRZ  R%  t   Truet
   is_outmostt   GenExprt   GenExprInner(   RG   RT   R_   R(   R_  R
  RÔ   t   genNodeRa  Râ   Rb  (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRá   ™  s2    			c         C   s³  | d } t  | ƒ d k s3 | d d t j k r� g  } x: t d t  | ƒ d ƒ D]  } | j |  j | | ƒ ƒ qR Wt | d | d j ƒS| d d t j	 k rÑ |  j | d ƒ } |  j
 | d  | d d ƒ St  | ƒ d k r:| d d t j	 k r:|  j | d ƒ } |  j | d ƒ } |  j
 | | | d d ƒ Sg  } xQ t d t  | ƒ d ƒ D]7 } | j |  j | | ƒ |  j | | d ƒ f ƒ qYWt | d | d d j ƒSd  S(	   Ni   i    i   R(   RT  i   RU  i   (   R*   R5   R    R‡   R   Rm   t   SetR(   R0   Rà   RQ  R   R  (   RG   Rh   R2   Rj   RT   t   keyRH   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR  »  s$    
))c         C   s‹   | d d } | t  j k r1 |  j | | d ƒ S| t  j k rT |  j | | d ƒ S| t  j k rz |  j | | d t ƒ St d | ‚ d  S(   Ni   i    i   s   unknown node type: %s(	   R5   R8   Rq   RI  t   com_select_memberR:   RK  R   R%  (   RG   t   primaryNodeRh   R
  (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR  Ø  s    c         C   s:   | d t  j k r t d ‚ n  t | | d d | d ƒS(   Ni    s   member must be a namei   R(   i   (   R5   RD   R%  Rn   (   RG   Rm  Rh   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRl  ã  s    c         C   s¶  | d t  j k r, t | g  d t | ƒ ƒSg  } d } d  } } t | ƒ } d } x@| | k  r–| | }	 |	 d t  j k r¿ | d  k	 r˜ t d ‚ n  |  j | | d ƒ } | d } qW nR |	 d t  j	 k r| d  k	 rê t d ‚ n  |  j | | d ƒ } | d } qW n  |  j
 |	 | | ƒ \ } }
 | d k r|t |
 t ƒ r|t |	 ƒ d k r||	 d d t j k r|t d ‚ n  | j |
 ƒ | d } qW Wt | | | | d t | ƒ ƒS(	   Ni    R(   i   s$   already have the varargs indentifieri   s#   already have the kwargs indentifieri   s&   generator expression needs parenthesis(   R5   R‚   t   CallFuncR%   R   R*   R½   R%  Rm   R  t   com_argumentR$   Rg  R0   Rà   R   (   RG   Rm  Rh   R,   t   kwt	   star_nodet
   dstar_nodet   len_nodelistRj   R_   Rì   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRq   è  s:    



)c         C   sD  t  | ƒ d k rV | d d t j k rV |  j | d ƒ } d |  j | | d ƒ f St  | ƒ d k r£ | rz t d ‚ n  | rŒ t d ‚ n  d |  j | d ƒ f S|  j | d ƒ } | d } x3 t  | ƒ d k rõ | d t j k rõ | d } qÃ W| d t j k rt d | d ‚ n  t | d | d | d ƒ} d | f S(	   Ni   i   i    i   s!   non-keyword arg after keyword args+   only named arguments may follow *expressions#   keyword can't be an expression (%s)R(   (	   R*   R0   Rà   Rm   Rá   R%  R5   RD   t   Keyword(   RG   Rh   Rp  Rq  Râ   Rì   R`   R_   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRo    s"    )
(c         C   sè   t  | ƒ d k r‰ | d } | d d t j k s\ t  | ƒ d k r‰ | d d t j k r‰ | d d t j k r‰ |  j | | | ƒ Sn  g  } x: t d t  | ƒ d ƒ D]  } | j |  j | | ƒ ƒ q¨ Wt	 | | | d t
 | ƒ ƒS(   Ni   i   i    iÿÿÿÿR(   (   R*   R5   R�   R0   R�   t	   com_sliceR‡   R   t   com_subscriptR9  R%   (   RG   RB  Rh   RA  t   subt
   subscriptsRj   (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRK  "  s    
)c         C   s|   | d } | d } | t  j k rA | d d t  j k rA t ƒ  S| t  j k sb t | ƒ d k ro |  j | ƒ S|  j | ƒ S(   Ni   i    i   (   R5   RI  t   EllipsisR�   R*   t   com_sliceobjRm   (   RG   R_   RC  R
  (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRv  6  s    

&!c         C   s>  g  } | d d t  j k r9 | j t d  ƒ ƒ d } n  | j |  j | d ƒ ƒ d } | t | ƒ k  r© | | d t j k r© | j |  j | | ƒ ƒ | d } n | j t d  ƒ ƒ xi t	 | t | ƒ ƒ D]R } | | } t | ƒ d k r
| j t d  ƒ ƒ qÒ | j |  j | d ƒ ƒ qÒ Wt
 | d t | ƒ ƒS(   Ni   i    i   i   R(   (   R5   R�   R   R­   R   Rm   R*   R0   Râ   R‡   t   SliceobjR%   (   RG   R_   R2   Rj   t   jRC  (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRz  @  s     
	)
c         C   s¹   d  } } t | ƒ d k r_ | d d t j k rI |  j | d ƒ } qš |  j | d ƒ } n; t | ƒ d k rš |  j | d ƒ } |  j | d ƒ } n  t | | | | d t | ƒ ƒS(   Ni   i   i    i   i   R(   (   R   R*   R5   R�   Rm   R8  R%   (   RG   RB  R_   RA  t   lowert   upper(    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRu  d  s    
c         C   s˜  | d  k r# | d } | d } n  | t j k rŠ t | ƒ d k rU |  j | d ƒ Sx. | D]& } | d t j k r\ |  j | ƒ Sq\ Wd  S| t j k rÎ x. | D]& } | d t j k r  |  j | ƒ Sq  Wd  S| t j k r'| d d t j	 k r#d } x" | D] } | t
 | d ƒ } qW| Sd  S| t j k sT| t j k sT| t j k re|  j | d ƒ S| t k r”t | ƒ d k r”|  j | d ƒ Sd  S(   Ni    i   RU   (   R   R0   RR   R*   Rc   R†   RZ   R  R5   RB   R   Rˆ   t
   small_stmtt
   _doc_nodes(   RG   R_   R`   Rw  t   sR
  (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRc   r  s8    
N(€   R   R   t   __doc__RJ   RQ   R   R   RW   RO   RY   RZ   R[   Rp   Rs   Rv   Rx   R]   R\   t   old_lambdefR^   R†   R  t	   flow_stmtt   compound_stmtRˆ   R‰   Ry   RŠ   R‹   RŒ   R�   RŽ   R�   R�   Rž   R¥   R¦   R§   R©   R«   R®   R¯   R±   R¶   R·   Rº   RÃ   RÅ   RÇ   RÉ   RÏ   RÒ   RÖ   RØ   RÚ   RÜ   RR   Rß   R;  t	   testlist1R:  Rã   Râ   Rè   t   old_testRê   Rí   Ró   RT   Rö   Rø   Rý   R  R  R  R  R  R7   R9   R;   R=   R?   R"  RA   RC   R‘   Rm   R4   Rz   R$  R&  R¼   R(  R¹   R)  R¿   Rƒ   R×   RÙ   R2  R—   R–   R”   R<  R?  R@  R>  RJ  RÝ   Ra   Re   R  RO  RQ  RW  RX  Rá   R  R  Rl  Rq   Ro  RK  Rv  Rz  Ru  R   Rc   (    (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyR   ^   sú   							
							!																																												!																					2					
		
			)						
	,		
		
							1			"				'			
	$	t   <t   >s   ==s   <=s   >=s   !=R¯   R±   c         C   s~   g  } xq |  D]i } t  | t t f ƒ rD | j t j | | ƒ ƒ q t  | t ƒ rc | j | ƒ q | j t | ƒ ƒ q W| S(   N(   R$   t   intt   longR   t   _namest   getR+   t
   debug_tree(   RP   R"   R  (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyRŽ  ö  s    (S   R‚  t   compiler.astRM   R0   R5   t   StandardErrorR   t   compiler.constsR   R   R   R   R   R   R   R   R%   R.   R   Rž   Rß   R;  Râ   Rè   Rê   Rí   Ró   RT   Rö   Rø   Rý   R  R  R  R  R€  t   LESSt   GREATERt   EQEQUALR“   t	   LESSEQUALt   GREATEREQUALt   NOTEQUALRï   R]   R^   R†   R  R„  Rˆ   R…  R¥   R¦   R§   R©   R«   R®   R¶   R·   RÅ   RÇ   RÉ   RÏ   RÒ   RÖ   RØ   RÚ   RR   R:  R  t   _legal_node_typesR   R   R¯   R±   R=  RŒ  R1   R2   R  t   vt   tok_nameRŽ  (    (    (    s9   /opt/alt/python27/lib64/python2.7/compiler/transformer.pyt   <module>	   sÒ   
	
			
	ÿ ÿ ÿ ÿ ÿ 9





