ó
¦xxTc           @   sø  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z d  d l m Z m	 Z	 m
 Z
 m Z d  d l m Z m Z m Z m Z d  d l m Z m Z m Z m Z m Z d  d l m Z m Z m Z m Z m Z m Z m Z m Z m Z d  d l m  Z  y e j! d Z" Wn e# k
 r2d	 Z" n Xi d
 d d f 6d d	 d f 6d d d	 f 6d d	 d	 f 6Z$ d	 Z% d Z& d Z' d Z( d d „ Z) e* e* d „ Z+ d f  d „  ƒ  YZ, d e, f d „  ƒ  YZ- d e, f d „  ƒ  YZ. d e, f d „  ƒ  YZ/ d f  d „  ƒ  YZ0 d „  Z1 d f  d „  ƒ  YZ2 d  f  d! „  ƒ  YZ3 d" e3 e2 f d# „  ƒ  YZ4 d$ e3 e2 f d% „  ƒ  YZ5 d& e3 e2 f d' „  ƒ  YZ6 d( f  d) „  ƒ  YZ7 d* e3 e7 e2 f d+ „  ƒ  YZ8 d, e3 e7 e2 f d- „  ƒ  YZ9 d. f  d/ „  ƒ  YZ: d0 e3 e: e2 f d1 „  ƒ  YZ; d2 „  Z< d3 „  Z= d4 f  d5 „  ƒ  YZ> d6 f  d7 „  ƒ  YZ? d8 e? f d9 „  ƒ  YZ@ d: e? f d; „  ƒ  YZA d< e? f d= „  ƒ  YZB d> e? f d? „  ƒ  YZC i e@ e jD 6eA e jE 6eB e jF 6eC e jG 6ZH d@ „  ZI eJ dA k rôx e jK d	 D] ZL e) eL ƒ qÝWn  d S(B   iÿÿÿÿN(   t   StringIO(   t   astt   parset   walkt   syntax(   t   pyassemt   misct   futuret   symbols(   t   SC_LOCALt   SC_GLOBAL_IMPLICITt   SC_GLOBAL_EXPLICITt   SC_FREEt   SC_CELL(	   t
   CO_VARARGSt   CO_VARKEYWORDSt   CO_NEWLOCALSt	   CO_NESTEDt   CO_GENERATORt   CO_FUTURE_DIVISIONt   CO_FUTURE_ABSIMPORTt   CO_FUTURE_WITH_STATEMENTt   CO_FUTURE_PRINT_FUNCTION(   t   TupleArgi    i   t   CALL_FUNCTIONt   CALL_FUNCTION_VARt   CALL_FUNCTION_KWt   CALL_FUNCTION_VAR_KWi   i   i   c         C   sŠ   t  |  d ƒ } | j ƒ  } | j ƒ  t | |  ƒ } y | j | ƒ Wn t k
 r[ ‚  n+ Xt  |  d d ƒ } | j | ƒ | j ƒ  d  S(   Nt   Ut   ct   wb(   t   opent   readt   closet   Modulet   compilet   SyntaxErrort   dump(   t   filenamet   displayt   ft   buft   mod(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   compileFile%   s    
c         C   s›   | d k	 s | d k	 r$ t d ‚ n  | d k rB t |  | ƒ } nH | d k r` t |  | ƒ } n* | d k r~ t |  | ƒ } n t d ƒ ‚ | j ƒ  | j S(   s*   Replacement for builtin compile() functions   not implemented yett   singlet   exect   evals6   compile() 3rd arg must be 'exec' or 'eval' or 'single'N(   t   Nonet   RuntimeErrort   InteractiveR"   t
   Expressiont
   ValueErrorR#   t   code(   t   sourceR&   t   modet   flagst   dont_inheritt   gen(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR#   3   s    
t   AbstractCompileModec           B   s2   e  Z d Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s   | |  _  | |  _ d  |  _ d  S(   N(   R5   R&   R/   R4   (   t   selfR5   R&   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   __init__H   s    		c         C   s9   t  |  j |  j ƒ } t j |  j | ƒ t j | ƒ | S(   N(   R   R5   R6   R   t   set_filenameR&   R   t   check(   R;   t   tree(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt	   _get_treeM   s    c         C   s   d  S(   N(    (   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR#   S   s    c         C   s   |  j  S(   N(   R4   (   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   getCodeV   s    N(   t   __name__t
   __module__R/   R6   R<   R@   R#   RA   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR:   D   s
   			R2   c           B   s   e  Z d  Z d „  Z RS(   R.   c         C   s+   |  j  ƒ  } t | ƒ } | j ƒ  |  _ d  S(   N(   R@   t   ExpressionCodeGeneratorRA   R4   (   R;   R?   R9   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR#   ]   s    (   RB   RC   R6   R#   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR2   Y   s   R1   c           B   s   e  Z d  Z d „  Z RS(   R,   c         C   s+   |  j  ƒ  } t | ƒ } | j ƒ  |  _ d  S(   N(   R@   t   InteractiveCodeGeneratorRA   R4   (   R;   R?   R9   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR#   f   s    (   RB   RC   R6   R#   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR1   b   s   R"   c           B   s8   e  Z d  Z d d „ Z d „  Z e j ƒ  Z d „  Z RS(   R-   i    c         C   sN   |  j  ƒ  } t | ƒ } | r; d d  l } | j | ƒ GHn  | j ƒ  |  _ d  S(   Niÿÿÿÿ(   R@   t   ModuleCodeGeneratort   pprintRA   R4   (   R;   R'   R?   R9   RG   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR#   o   s    c         C   s*   | j  |  j ƒ  ƒ t j |  j | ƒ d  S(   N(   t   writet   getPycHeadert   marshalR%   R4   (   R;   R(   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR%   w   s    c         C   s2   t  j j |  j ƒ } t j d | ƒ } |  j | S(   Ns   <i(   t   ost   patht   getmtimeR&   t   structt   packt   MAGIC(   R;   t   mtime(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRI   }   s    (	   RB   RC   R6   R#   R%   t   impt	   get_magicRP   RI   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR"   k   s
   	t   LocalNameFinderc           B   sk   e  Z d  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z RS(   s   Find local names in scopec         C   sC   t  j ƒ  |  _ t  j ƒ  |  _ x | D] } |  j j | ƒ q% Wd  S(   N(   R   t   Sett   namest   globalst   add(   R;   RV   t   name(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR<   ˆ   s    c         C   sF   x< |  j  j ƒ  D]+ } |  j j | ƒ r |  j j | ƒ q q W|  j S(   N(   RW   t   elementsRV   t   has_eltt   remove(   R;   t   elt(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt	   getLocals�   s    c         C   s   d  S(   N(    (   R;   t   node(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt	   visitDict–   s    c         C   s(   x! | j  D] } |  j j | ƒ q
 Wd  S(   N(   RV   RW   RX   (   R;   R_   RY   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitGlobal™   s    c         C   s   |  j  j | j ƒ d  S(   N(   RV   RX   RY   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitFunction�   s    c         C   s   d  S(   N(    (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitLambda    s    c         C   s4   x- | j  D]" \ } } |  j  j | p( | ƒ q
 Wd  S(   N(   RV   RX   (   R;   R_   RY   t   alias(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitImport£   s    c         C   s4   x- | j  D]" \ } } |  j  j | p( | ƒ q
 Wd  S(   N(   RV   RX   (   R;   R_   RY   Rd   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt	   visitFrom§   s    c         C   s   |  j  j | j ƒ d  S(   N(   RV   RX   RY   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt
   visitClass«   s    c         C   s   |  j  j | j ƒ d  S(   N(   RV   RX   RY   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitAssName®   s    (    (   RB   RC   t   __doc__R<   R^   R`   Ra   Rb   Rc   Re   Rf   Rg   Rh   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRT   †   s   								c         C   s&   t  |  t j ƒ r" |  j s" d Sn  d S(   Ni   i    (   t
   isinstanceR   t   Constt   value(   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   is_constant_false±   s    	t   CodeGeneratorc           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 d „  Z d „  Z e d „ Z e Z d‚ Z d‚ Z d „  Z d „  Z d „  Z d „  Z d 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 d, „  Z6 d- „  Z7 d. „  Z8 d Z9 d/ „  Z: d0 „  Z; d1 „  Z< d2 „  Z= d3 „  Z> d4 „  Z? d5 „  Z@ d6 „  ZA d7 „  ZB d8 „  ZC d9 „  ZD d: „  ZE d; „  ZF d< „  ZG d= d> „ ZH eI d? k rveH ZJ eH ZK n d@ „  ZJ dA „  ZK dB „  ZL i dC dD 6dE dF 6dG dH 6dI dJ 6dK dL 6dM dN 6dO dP 6dQ dR 6dS dT 6dU dV 6dW dX 6dY dZ 6ZM d[ „  ZN d\ „  ZO d] „  ZP d^ „  ZQ d_ „  ZR d` „  ZS d da „ ZT db „  ZU dc „  ZV dd „  ZW d‚ de „ ZX d‚ df „ ZY dg „  ZZ dh „  Z[ di „  Z\ dj „  Z] dk „  Z^ dl „  Z_ dm „  Z` dn „  Za do „  Zb dp „  Zc dq „  Zd dr „  Ze ds „  Zf dt „  Zg du „  Zh dv „  Zi dw „  Zj dx „  Zk dy „  Zl dz „  Zm d{ „  Zn d| „  Zo d} „  Zp d~ „  Zq d „  Zr d€ „  Zs d� „  Zt RS(ƒ   sí  Defines basic code generator for Python bytecode

    This class is an abstract base class.  Concrete subclasses must
    define an __init__() that defines self.graph and then calls the
    __init__() defined in this class.

    The concrete class must also define the class attributes
    NameFinder, FunctionGen, and ClassGen.  These attributes can be
    defined in the initClass() method, which is a hook for
    initializing these methods after all the classes have been
    defined.
    i    c         C   s  |  j  d  k r( |  j ƒ  d |  j _  n  |  j ƒ  t j ƒ  |  _ t j ƒ  |  _ d  |  _	 |  j
 ƒ  d |  _ |  j ƒ  j } x“ | D]‹ } | d k r° |  j j t ƒ d |  _ q‚ | d k rÏ |  j j t ƒ q‚ | d k rî |  j j t ƒ q‚ | d k r‚ |  j j t ƒ q‚ q‚ Wd  S(   Ni   t   BINARY_DIVIDEt   divisiont   BINARY_TRUE_DIVIDEt   absolute_importt   with_statementt   print_function(   t   _CodeGenerator__initializedR/   t	   initClasst	   __class__t
   checkClassR   t   Stackt   localst   setupst   last_linenot   _setupGraphDelegationt   _div_opt
   get_modulet   futurest   grapht   setFlagR   R   R   R   (   R;   R€   t   feature(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR<   É   s(    

	
	c         C   s   d S(   s)   This method is called once for each classN(    (   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRv   á   s    c         C   s7   y Wn, t  k
 r2 } d |  j j } t  | ‚ n Xd S(   s*   Verify that class is constructed correctlys   Bad class construction for %sN(   t   AssertionErrorRw   RB   (   R;   t   msgt   intro(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRx   ä   s
    c         C   sO   |  j  j |  _ |  j  j |  _ |  j  j |  _ |  j  j |  _ |  j  j |  _ d  S(   N(   R�   t   emitt   newBlockt
   startBlockt	   nextBlockt   setDocstring(   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR}   ï   s
    c         C   s   |  j  j ƒ  S(   s   Return a code object(   R�   RA   (   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRA   ö   s    c         C   s*   |  j  d  k	 r" t j | |  j  ƒ S| Sd  S(   N(   t
   class_nameR/   R   t   mangle(   R;   RY   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR�   ú   s    c         C   s    t  j ƒ  } t | | ƒ | j S(   N(   R   t   SymbolVisitorR   t   scopes(   R;   R?   t   s(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   parseSymbols   s    c         C   s   t  d ‚ d  S(   Ns#   should be implemented by subclasses(   R0   (   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR     s    c         C   s   |  j  j ƒ  j | ƒ S(   N(   Rz   t   topR[   (   R;   RY   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   isLocalName
  s    c         C   s   |  j  d | ƒ d  S(   Nt   STORE(   t   _nameOp(   R;   RY   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt	   storeName  s    c         C   s   |  j  d | ƒ d  S(   Nt   LOAD(   R•   (   R;   RY   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   loadName  s    c         C   s   |  j  d | ƒ d  S(   Nt   DELETE(   R•   (   R;   RY   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   delName  s    c         C   s  |  j  | ƒ } |  j j | ƒ } | t k rd |  j sM |  j | d | ƒ q|  j | d | ƒ n¨ | t k r‡ |  j | d | ƒ n… | t k rÊ |  j s³ |  j | d | ƒ q|  j | d | ƒ nB | t k sâ | t	 k rù |  j | d | ƒ n t
 d | | f ‚ d  S(   Nt   _NAMEt   _FASTt   _GLOBALt   _DEREFs    unsupported scope for var %s: %d(   R�   t   scopet
   check_nameR	   t	   optimizedR‡   R   R
   R   R   R0   (   R;   t   prefixRY   RŸ   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR•     s     		c         C   s8   |  j  r  |  j | d | ƒ n |  j | d | ƒ d S(   sû   Emit name ops for names generated implicitly by for loops

        The interpreter generates names that start with a period or
        dollar sign.  The symbol table ignores these names because
        they aren't present in the program text.
        Rœ   R›   N(   R¡   R‡   (   R;   R¢   RY   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   _implicitNameOp+  s    	c         C   sT   t  | d d ƒ } | d k	 rP | |  j k s3 | rP |  j d | ƒ | |  _ t St S(   sø  Emit SET_LINENO if necessary.

        The instruction is considered necessary if the node has a
        lineno attribute and it is different than the last lineno
        emitted.

        Returns true if SET_LINENO was emitted.

        There are no rules for when an AST node should have a lineno
        attribute.  The transformer and AST code need to be reviewed
        and a consistent policy implemented and documented.  Until
        then, this method works around missing line numbers.
        t   linenot
   SET_LINENON(   t   getattrR/   R|   R‡   t   Truet   False(   R;   R_   t   forceR¤   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt
   set_lineno<  s    	c         C   sÃ   |  j  | ƒ |  _ |  j | |  _ |  j d d ƒ | j r^ |  j d | j ƒ |  j d ƒ n  t | j |  j ƒ  d d ƒ} |  j	 j
 | j ƒ  ƒ |  j | j ƒ |  j d d  ƒ |  j d ƒ d  S(   NR¥   i    t
   LOAD_CONSTRi   t   verboset   RETURN_VALUE(   R‘   R�   RŸ   R‡   t   docR–   R   R_   t
   NameFinderRz   t   pushR^   t   visitR/   (   R;   R_   t   lnf(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitModuleZ  s    	c         C   sP   |  j  | ƒ |  j | ƒ |  _ |  j | |  _ |  j | j ƒ |  j d ƒ d  S(   NR­   (   Rª   R‘   R�   RŸ   R±   R_   R‡   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitExpressiong  s
    c         C   sC   |  j  | d d ƒ| j r/ |  j | j ƒ n  |  j | j ƒ d  S(   Nt   isLambdai    (   t   _visitFuncOrLambdaR®   R‹   R–   RY   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRb   n  s    	c         C   s   |  j  | d d ƒd  S(   NRµ   i   (   R¶   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRc   t  s    c         C   s  | rI | j  rI x! | j  j D] } |  j | ƒ q Wt | j  j ƒ } n d } |  j | |  j | |  j |  j ƒ  ƒ } t | j	 | ƒ | j
 ƒ  |  j | ƒ x | j D] } |  j | ƒ q§ W|  j | t | j ƒ ƒ x$ t | ƒ D] } |  j d d ƒ qä Wd  S(   Ni    R   i   (   t
   decoratorst   nodesR±   t   lent   FunctionGenR�   RŒ   R   R   R4   t   finishRª   t   defaultst   _makeClosuret   rangeR‡   (   R;   R_   Rµ   t	   decoratort   ndecoratorsR9   t   defaultt   i(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR¶   w  s    
c         C   sÓ   |  j  | |  j |  j ƒ  ƒ } t | j | ƒ | j ƒ  |  j | ƒ |  j d | j ƒ x | j	 D] } |  j
 | ƒ qb W|  j d t | j	 ƒ ƒ |  j | d ƒ |  j d d ƒ |  j d ƒ |  j | j ƒ d  S(   NR«   t   BUILD_TUPLEi    R   t   BUILD_CLASS(   t   ClassGenR�   R   R   R4   R»   Rª   R‡   RY   t   basesR±   R¹   R½   R–   (   R;   R_   R9   t   base(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRg   Š  s    
c         C   sî   |  j  ƒ  } t | j ƒ } x£ t | ƒ D]• } | j | \ } } t | ƒ rS q( n  |  j | ƒ |  j | ƒ |  j  ƒ  } |  j d | ƒ |  j ƒ  |  j | ƒ |  j d | ƒ |  j	 | ƒ q( W| j
 rÝ |  j | j
 ƒ n  |  j | ƒ d  S(   Nt   POP_JUMP_IF_FALSEt   JUMP_FORWARD(   Rˆ   R¹   t   testsR¾   Rm   Rª   R±   R‡   RŠ   R‰   t   else_(   R;   R_   t   endt   numtestsRÂ   t   testt   suitet   nextTest(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitIf�  s"    
	c         C   s  |  j  | ƒ |  j ƒ  } |  j ƒ  } |  j ƒ  } |  j d | ƒ |  j | ƒ |  j j t | f ƒ |  j  | d t ƒ|  j | j	 ƒ |  j d | p™ | ƒ |  j ƒ  |  j | j
 ƒ |  j d | ƒ |  j | ƒ |  j d ƒ |  j j ƒ  | j r
|  j | j ƒ n  |  j | ƒ d  S(   Nt
   SETUP_LOOPR©   RÈ   t   JUMP_ABSOLUTEt	   POP_BLOCK(   Rª   Rˆ   R‡   RŠ   R{   R°   t   LOOPR§   R±   RÎ   t   bodyR‰   t   popRË   (   R;   R_   t   loopRË   t   after(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt
   visitWhile±  s&    
	c         C   s(  |  j  ƒ  } |  j  ƒ  } |  j  ƒ  } |  j j t | f ƒ |  j | ƒ |  j d | ƒ |  j | j ƒ |  j d ƒ |  j | ƒ |  j | d d ƒ|  j d | ƒ |  j | j	 ƒ |  j | j
 ƒ |  j d | ƒ |  j | ƒ |  j d ƒ |  j j ƒ  | j r|  j | j ƒ n  |  j | ƒ d  S(   NRÒ   t   GET_ITERR©   i   t   FOR_ITERRÓ   RÔ   (   Rˆ   R{   R°   RÕ   Rª   R‡   R±   t   listRŠ   t   assignRÖ   R×   RË   (   R;   R_   t   startt   anchorRÙ   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitForÌ  s(    	c         C   sC   |  j  s% t d | j | j f ‚ n  |  j | ƒ |  j d ƒ d  S(   Ns   'break' outside loop (%s, %d)t
   BREAK_LOOP(   R{   R$   R&   R¤   Rª   R‡   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt
   visitBreakä  s
    	c         C   s[  |  j  s% t d | j | j f ‚ n  |  j  j ƒ  \ } } | t k rp |  j | ƒ |  j d | ƒ |  j ƒ  nç | t	 k sˆ | t
 k r)|  j | ƒ t |  j  ƒ } x= | d k rã | d } |  j  | \ } } | t k r§ Pq§ q§ W| t k rt d | j | j f ‚ n  |  j d | ƒ |  j ƒ  n. | t k rWd } t | | j | j f ‚ n  d  S(   Ns    'continue' outside loop (%s, %d)RÓ   i    i   t   CONTINUE_LOOPs7   'continue' not allowed inside 'finally' clause (%s, %d)(   R{   R$   R&   R¤   R’   RÕ   Rª   R‡   RŠ   t   EXCEPTt   TRY_FINALLYR¹   t   END_FINALLY(   R;   R_   t   kindt   blockR’   t
   loop_blockR…   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitContinueë  s0    	
c         C   sp   |  j  ƒ  } x< | j d  D]- } |  j | ƒ |  j | | ƒ |  j ƒ  q W|  j | j d ƒ |  j | ƒ d  S(   Niÿÿÿÿ(   Rˆ   R¸   R±   R‡   RŠ   (   R;   R_   t   jumpRÌ   t   child(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt	   visitTest  s    c         C   s   |  j  | d ƒ d  S(   Nt   JUMP_IF_FALSE_OR_POP(   Rî   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitAnd  s    c         C   s   |  j  | d ƒ d  S(   Nt   JUMP_IF_TRUE_OR_POP(   Rî   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitOr  s    c         C   s†   |  j  ƒ  } |  j  ƒ  } |  j | j ƒ |  j d | ƒ |  j | j ƒ |  j d | ƒ |  j | ƒ |  j | j ƒ |  j | ƒ d  S(   NRÈ   RÉ   (   Rˆ   R±   RÎ   R‡   t   thenRŠ   RË   (   R;   R_   t   endblockt	   elseblock(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt
   visitIfExp  s    c         C   s3  |  j  | j ƒ |  j ƒ  } xl | j d  D]] \ } } |  j  | ƒ |  j d ƒ |  j d ƒ |  j d | ƒ |  j d | ƒ |  j ƒ  q* W| j rÇ | j d \ } } |  j  | ƒ |  j d | ƒ n  t | j ƒ d k r/|  j ƒ  } |  j d | ƒ |  j | ƒ |  j d ƒ |  j d	 ƒ |  j | ƒ n  d  S(
   Niÿÿÿÿt   DUP_TOPt	   ROT_THREEt
   COMPARE_OPRï   i   RÉ   t   ROT_TWOt   POP_TOP(   R±   t   exprRˆ   t   opsR‡   RŠ   R¹   R‰   (   R;   R_   t   cleanupt   opR4   RÌ   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitCompare   s(    	c   	      C   sF  |  j  | ƒ |  j d d ƒ g  } x¢ t t t | j ƒ ƒ | j ƒ D] \ } } |  j | ƒ \ } } d  } x< | j D]1 } | d  k r— |  j	 ƒ  } n  |  j | | ƒ qv W| j
 d | | | f ƒ qE W|  j | j ƒ |  j d t | j ƒ d ƒ xJ | D]B \ } } } | r!|  j | ƒ n  |  j d | ƒ |  j | ƒ qü Wd  S(   Nt
   BUILD_LISTi    t   LIST_APPENDi   RÓ   (   Rª   R‡   t   zipR¾   R¹   t   qualsR±   R/   t   ifsRˆ   t   insertRü   RŠ   R‰   (	   R;   R_   t   stackRÂ   t   for_Rß   Rà   t   contt   if_(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitListComp8  s$    .c   	      C   sF  |  j  | ƒ |  j d d ƒ g  } x¢ t t t | j ƒ ƒ | j ƒ D] \ } } |  j | ƒ \ } } d  } x< | j D]1 } | d  k r— |  j	 ƒ  } n  |  j | | ƒ qv W| j
 d | | | f ƒ qE W|  j | j ƒ |  j d t | j ƒ d ƒ xJ | D]B \ } } } | r!|  j | ƒ n  |  j d | ƒ |  j | ƒ qü Wd  S(   Nt	   BUILD_SETi    t   SET_ADDi   RÓ   (   Rª   R‡   R  R¾   R¹   R  R±   R/   R  Rˆ   R  Rü   RŠ   R‰   (	   R;   R_   R  RÂ   R  Rß   Rà   R	  R
  (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitSetCompP  s$    .c   	      C   sV  |  j  | ƒ |  j d d ƒ g  } x¢ t t t | j ƒ ƒ | j ƒ D] \ } } |  j | ƒ \ } } d  } x< | j D]1 } | d  k r— |  j	 ƒ  } n  |  j | | ƒ qv W| j
 d | | | f ƒ qE W|  j | j ƒ |  j | j ƒ |  j d t | j ƒ d ƒ xJ | D]B \ } } } | r1|  j | ƒ n  |  j d | ƒ |  j | ƒ qWd  S(   Nt	   BUILD_MAPi    t   MAP_ADDi   RÓ   (   Rª   R‡   R  R¾   R¹   R  R±   R/   R  Rˆ   R  Rl   t   keyRŠ   R‰   (	   R;   R_   R  RÂ   R  Rß   Rà   R	  R
  (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitDictComph  s&    .c         C   s‰   |  j  ƒ  } |  j  ƒ  } |  j | j ƒ |  j d ƒ |  j | ƒ |  j | d t ƒ|  j d | ƒ |  j ƒ  |  j | j ƒ | | f S(   NRÛ   R©   RÜ   (   Rˆ   R±   RÝ   R‡   RŠ   Rª   R§   RÞ   (   R;   R_   Rß   Rà   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitListCompFor�  s    
c         C   sA   |  j  | d t ƒ|  j | j ƒ |  j d | ƒ |  j ƒ  d  S(   NR©   RÈ   (   Rª   R§   R±   RÎ   R‡   Rˆ   (   R;   R_   t   branch(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitListCompIfŽ  s    c         C   s“   | j  j ƒ  } | ro x | D] } |  j d | ƒ q W|  j d t | ƒ ƒ |  j d | ƒ |  j d | ƒ n  |  j d | ƒ |  j d | ƒ d  S(   Nt   LOAD_CLOSURERÃ   R«   t   MAKE_CLOSUREt   MAKE_FUNCTION(   RŸ   t   get_free_varsR‡   R¹   (   R;   R9   t   argst   freesRY   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR½   ”  s    c         C   s“   t  | |  j |  j |  j ƒ  ƒ } t | j | ƒ | j ƒ  |  j | ƒ |  j | d ƒ |  j	 | j j
 d j ƒ |  j d ƒ |  j d d ƒ d  S(   Ni    RÛ   R   i   (   t   GenExprCodeGeneratorR�   RŒ   R   R   R4   R»   Rª   R½   R±   R  t   iterR‡   (   R;   R_   R9   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitGenExpr   s    
c   
      C   ss  |  j  | ƒ g  } x¨ t t t | j ƒ ƒ | j ƒ D]… \ } } |  j | ƒ \ } } } d  } x< | j D]1 }	 | d  k rŠ |  j ƒ  } n  |  j |	 | ƒ qi W| j	 d | | | | f ƒ q5 W|  j | j
 ƒ |  j d ƒ |  j d ƒ xt | D]l \ } } } } | r|  j | ƒ n  |  j d | ƒ |  j | ƒ |  j d ƒ |  j j ƒ  |  j | ƒ qï W|  j d d  ƒ d  S(   Ni    t   YIELD_VALUERû   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
  (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitGenExprInner¬  s,    . c         C   s×   |  j  ƒ  } |  j  ƒ  } |  j  ƒ  } |  j j t | f ƒ |  j d | ƒ | j rc |  j d ƒ n |  j | j ƒ |  j d ƒ |  j	 | ƒ |  j
 | d t ƒ|  j d | ƒ |  j	 ƒ  |  j | j ƒ | | | f S(   NRÒ   s   .0RÛ   R©   RÜ   (   Rˆ   R{   R°   RÕ   R‡   t
   is_outmostR˜   R±   R  RŠ   Rª   R§   RÞ   (   R;   R_   Rß   Rà   RÌ   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitGenExprForÉ  s    	
c         C   sA   |  j  | d t ƒ|  j | j ƒ |  j d | ƒ |  j ƒ  d  S(   NR©   RÈ   (   Rª   R§   R±   RÎ   R‡   Rˆ   (   R;   R_   R  (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitGenExprIfÞ  s    c         C   s   d  S(   N(    (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitAssertæ  s    c         C   s™   |  j  | ƒ d } | j r9 |  j | j ƒ | d } n  | j r_ |  j | j ƒ | d } n  | j r… |  j | j ƒ | d } n  |  j d | ƒ d  S(   Ni    i   t   RAISE_VARARGS(   Rª   t   expr1R±   t   expr2t   expr3R‡   (   R;   R_   t   n(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt
   visitRaiseû  s    			c         C   s9  |  j  ƒ  } |  j  ƒ  } |  j  ƒ  } | j r< |  j  ƒ  } n | } |  j | ƒ |  j d | ƒ |  j | ƒ |  j j t | f ƒ |  j | j	 ƒ |  j d ƒ |  j j
 ƒ  |  j d | ƒ |  j | ƒ t | j ƒ d } xt t | j ƒ ƒ D]ü } | j | \ } }	 } |  j | ƒ | rt|  j d ƒ |  j | ƒ |  j d d ƒ |  j  ƒ  }
 |  j d |
 ƒ |  j ƒ  n  |  j d	 ƒ |	 r—|  j |	 ƒ n |  j d	 ƒ |  j d	 ƒ |  j | ƒ |  j d | ƒ | rä|  j |
 ƒ qò |  j ƒ  qò W|  j d
 ƒ | j r(|  j | ƒ |  j | j ƒ n  |  j | ƒ d  S(   Nt   SETUP_EXCEPTRÔ   RÉ   i   R÷   Rù   s   exception matchRÈ   Rû   Rç   (   Rˆ   RË   Rª   R‡   RŠ   R{   R°   Rå   R±   RÖ   R×   R‰   R¹   t   handlersR¾   (   R;   R_   RÖ   R,  RÌ   t   lElset   lastRÂ   Rü   t   targett   next(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitTryExcept	  sR    		c         C   sã   |  j  ƒ  } |  j  ƒ  } |  j | ƒ |  j d | ƒ |  j | ƒ |  j j t | f ƒ |  j | j ƒ |  j d ƒ |  j j	 ƒ  |  j d d  ƒ |  j | ƒ |  j j t | f ƒ |  j | j ƒ |  j d ƒ |  j j	 ƒ  d  S(   Nt   SETUP_FINALLYRÔ   R«   Rç   (   Rˆ   Rª   R‡   RŠ   R{   R°   Ræ   R±   RÖ   R×   R/   Rç   t   final(   R;   R_   RÖ   R3  (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitTryFinally8  s    c         C   sÖ  |  j  ƒ  } |  j  ƒ  } |  j d 7_ d |  j } |  j | ƒ |  j | j ƒ |  j d ƒ |  j d d ƒ |  j d ƒ |  j d d ƒ |  j d d	 ƒ | j d  k rº |  j d
 ƒ n |  j d | ƒ |  j d | ƒ |  j	 | ƒ |  j
 j t | f ƒ | j d  k	 r?|  j d | ƒ |  j d | ƒ |  j | j ƒ n  |  j | j ƒ |  j d ƒ |  j
 j ƒ  |  j d d  ƒ |  j	 | ƒ |  j
 j t | f ƒ |  j d ƒ |  j d ƒ |  j
 j ƒ  |  j d 8_ d  S(   Ni   s   _[%d]R÷   t	   LOAD_ATTRt   __exit__Rú   t	   __enter__R   i    Rû   R”   R2  R—   R™   RÔ   R«   t   WITH_CLEANUPRç   (   Rˆ   t   _CodeGenerator__with_countRª   R±   Rü   R‡   t   varsR/   R£   RŠ   R{   R°   Ræ   RÖ   R×   Rç   (   R;   R_   RÖ   R3  t   valuevar(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt	   visitWithK  s>    c         C   s.   |  j  | ƒ |  j | j ƒ |  j d ƒ d  S(   NRû   (   Rª   R±   Rü   R‡   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitDiscardo  s    c         C   s   |  j  d | j ƒ d  S(   NR«   (   R‡   Rl   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt
   visitConstt  s    c         C   s'   |  j  d | j ƒ |  j | j ƒ d  S(   NR«   (   R‡   RY   R±   Rü   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitKeywordw  s    c         C   s   d  S(   N(    (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRa   {  s    c         C   s!   |  j  | ƒ |  j | j ƒ d  S(   N(   Rª   R˜   RY   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt	   visitName  s    c         C   s   |  j  | ƒ d  S(   N(   Rª   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt	   visitPassƒ  s    c         C   sË   |  j  | ƒ |  j j t ƒ r% d n d } x™ | j D]Ž \ } } t d k rp |  j d | ƒ |  j d d  ƒ n  |  j d | ƒ | j d ƒ d } | r¶ |  j	 | ƒ |  j
 | ƒ q5 |  j
 | ƒ q5 Wd  S(   Ni    iÿÿÿÿi   R«   t   IMPORT_NAMEt   .(   Rª   R�   t	   checkFlagR   RV   t   VERSIONR‡   R/   t   splitt   _resolveDotsR–   (   R;   R_   t   levelRY   Rd   R*   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRe   †  s    c         C   s9  |  j  | ƒ | j } | d k r> |  j j t ƒ r> d } n  t d „  | j Dƒ ƒ } t d k r† |  j d | ƒ |  j d | ƒ n  |  j d | j	 ƒ xŒ | j D]� \ } } t d k r| d k rá d |  _
 |  j d ƒ d  S|  j d	 | ƒ |  j | ƒ |  j | p| ƒ q£ |  j d	 | ƒ q£ W|  j d
 ƒ d  S(   Ni    iÿÿÿÿc         s   s   |  ] \ } } | Vq d  S(   N(    (   t   .0RY   Rd   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pys	   <genexpr>š  s    i   R«   RB  t   *t   IMPORT_STARt   IMPORT_FROMRû   (   Rª   RH  R�   RD  R   t   tupleRV   RE  R‡   t   modnamet	   namespaceRG  R–   (   R;   R_   RH  t   fromlistRY   Rd   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRf   •  s(    			c         C   sN   | j  d ƒ } t | ƒ d k r% d  Sx" | d D] } |  j d | ƒ q0 Wd  S(   NRC  i   R5  (   RF  R¹   R‡   (   R;   RY   t   eltsR]   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRG  ¯  s
    c         C   s0   |  j  | j ƒ |  j d |  j | j ƒ ƒ d  S(   NR5  (   R±   Rü   R‡   R�   t   attrname(   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitGetattr¶  s    c         C   sŸ   |  j  | ƒ |  j | j ƒ t | j ƒ d } xh t t | j ƒ ƒ D]Q } | j | } | | k  ru |  j d ƒ n  t | t j	 ƒ rF |  j | ƒ qF qF Wd  S(   Ni   R÷   (
   Rª   R±   Rü   R¹   R¸   R¾   R‡   Rj   R   t   Node(   R;   R_   t   dupsRÂ   R]   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitAssign¼  s    c         C   sa   | j  d k r" |  j | j ƒ n; | j  d k rQ |  j | ƒ |  j | j ƒ n d G| j  GHd  S(   Nt	   OP_ASSIGNt	   OP_DELETEt   oops(   R7   R–   RY   Rª   Rš   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRh   Ç  s    c         C   s�   |  j  | j ƒ | j d k r> |  j d |  j | j ƒ ƒ n? | j d k rl |  j d |  j | j ƒ ƒ n d G| j GH| GHd  S(   NRW  t
   STORE_ATTRRX  t   DELETE_ATTRs   warning: unexpected flags:(   R±   Rü   R7   R‡   R�   RR  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitAssAttrÐ  s    t   UNPACK_SEQUENCEc         C   sS   t  | ƒ d k r. |  j | t | j ƒ ƒ n  x | j D] } |  j | ƒ q8 Wd  S(   NRX  (   t   findOpR‡   R¹   R¸   R±   (   R;   R_   Rÿ   Rí   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   _visitAssSequenceÚ  s    i   c         C   s   |  j  | d ƒ d  S(   Nt   UNPACK_TUPLE(   R_  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitAssTupleä  s    c         C   s   |  j  | d ƒ d  S(   Nt   UNPACK_LIST(   R_  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitAssListç  s    c         C   sg   |  j  | ƒ t | j ƒ } |  j | d ƒ |  j | j ƒ |  j |  j | j ƒ |  j | d ƒ d  S(   Nt   loadt   store(   Rª   t   wrap_augR_   R±   Rü   R‡   t   _augmented_opcodeRÿ   (   R;   R_   t   aug_node(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitAugAssignì  s    t   INPLACE_ADDs   +=t   INPLACE_SUBTRACTs   -=t   INPLACE_MULTIPLYs   *=t   INPLACE_DIVIDEs   /=t   INPLACE_FLOOR_DIVIDEs   //=t   INPLACE_MODULOs   %=t   INPLACE_POWERs   **=t   INPLACE_RSHIFTs   >>=t   INPLACE_LSHIFTs   <<=t   INPLACE_ANDs   &=t   INPLACE_XORs   ^=t
   INPLACE_ORs   |=c         C   sB   | d k r |  j  | j ƒ n | d k r> |  j | j ƒ n  d  S(   NRd  Re  (   R˜   RY   R–   (   R;   R_   R6   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitAugName  s    c         C   s„   | d k rH |  j  | j ƒ |  j d ƒ |  j d |  j | j ƒ ƒ n8 | d k r€ |  j d ƒ |  j d |  j | j ƒ ƒ n  d  S(   NRd  R÷   R5  Re  Rú   RZ  (   R±   Rü   R‡   R�   RR  (   R;   R_   R6   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitAugGetattr	  s    c         C   sº   | d k r |  j  | d ƒ n— | d k r¶ d } | j rG | d B} n  | j r] | d B} n  | d k ry |  j d ƒ n) | d k r• |  j d ƒ n |  j d	 ƒ |  j d
 | ƒ n  d  S(   NRd  i   Re  i    i   Rú   i   t   ROT_FOURRø   s   STORE_SLICE+%d(   t
   visitSlicet   lowert   upperR‡   (   R;   R_   R6   t   slice(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitAugSlice  s    		c         C   sL   | d k r |  j  | d ƒ n) | d k rH |  j d ƒ |  j d ƒ n  d  S(   NRd  i   Re  Rø   t   STORE_SUBSCR(   t   visitSubscriptR‡   (   R;   R_   R6   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitAugSubscript#  s
    c         C   s‚   |  j  | j ƒ | j d  k r2 |  j d d  ƒ n |  j  | j ƒ | j d  k ra |  j d ƒ n |  j  | j ƒ |  j d ƒ d  S(   NR«   R÷   t	   EXEC_STMT(   R±   Rü   Rz   R/   R‡   RW   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt	   visitExec*  s    c         C   s  d } d } |  j  | ƒ |  j | j ƒ xG | j D]< } |  j | ƒ t | t j ƒ re | d } q3 | d } q3 W| j d  k	 r• |  j | j ƒ n  | j	 d  k	 r· |  j | j	 ƒ n  | j d  k	 } | j	 d  k	 } t
 | | f } |  j | | d >| Bƒ d  S(   Ni    i   i   (   Rª   R±   R_   R  Rj   R   t   Keywordt	   star_argsR/   t
   dstar_argst   callfunc_opcode_infoR‡   (   R;   R_   t   post   kwt   argt	   have_start
   have_dstart   opcode(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitCallFunc6  s"    c         C   sº   |  j  | ƒ | j r) |  j | j ƒ n  xj | j D]_ } | j rR |  j d ƒ n  |  j | ƒ | j r… |  j d ƒ |  j d ƒ q3 |  j d ƒ q3 W| j r¶ | r¶ |  j d ƒ n  d  S(   NR÷   Rú   t   PRINT_ITEM_TOt
   PRINT_ITEMRû   (   Rª   t   destR±   R¸   R‡   (   R;   R_   t   newlineRí   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt
   visitPrintJ  s    			c         C   s=   |  j  | d d ƒ| j r, |  j d ƒ n |  j d ƒ d  S(   NR‘  i   t   PRINT_NEWLINE_TOt   PRINT_NEWLINE(   R’  R�  R‡   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitPrintnlZ  s    	c         C   s.   |  j  | ƒ |  j | j ƒ |  j d ƒ d  S(   NR­   (   Rª   R±   Rl   R‡   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitReturna  s    c         C   s.   |  j  | ƒ |  j | j ƒ |  j d ƒ d  S(   NR  (   Rª   R±   Rl   R‡   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt
   visitYieldf  s    c         C   s2  |  j  | j ƒ d } | j r< |  j  | j ƒ | d B} n  | j rb |  j  | j ƒ | d B} n  | r¶ | d k r„ |  j d ƒ q¶ | d k r£ |  j d d ƒ q¶ |  j d d ƒ n  | j d k rÙ |  j d | ƒ nU | j d	 k rü |  j d
 | ƒ n2 | j d k r|  j d | ƒ n d G| j GH‚  d  S(   Ni    i   i   R÷   i   t   DUP_TOPXt   OP_APPLYs   SLICE+%dRW  s   STORE_SLICE+%dRX  s   DELETE_SLICE+%ds   weird slice(   R±   Rü   Rz  R{  R‡   R7   (   R;   R_   t   aug_flagR|  (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRy  m  s,    		c         C   sÜ   |  j  | j ƒ x | j D] } |  j  | ƒ q Wt | j ƒ d k rb |  j d t | j ƒ ƒ n  | r{ |  j d d ƒ n  | j d k rš |  j d ƒ n> | j d k r¹ |  j d ƒ n | j d	 k rØ |  j d
 ƒ n  d  S(   Ni   RÃ   R˜  i   R™  t   BINARY_SUBSCRRW  R~  RX  t   DELETE_SUBSCR(   R±   Rü   t   subsR¹   R‡   R7   (   R;   R_   Rš  t   sub(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR  ˆ  s    c         C   s1   |  j  | j ƒ |  j  | j ƒ |  j | ƒ d  S(   N(   R±   t   leftt   rightR‡   (   R;   R_   Rÿ   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   binaryOp™  s    c         C   s   |  j  | d ƒ S(   Nt
   BINARY_ADD(   R¡  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitAddž  s    c         C   s   |  j  | d ƒ S(   Nt   BINARY_SUBTRACT(   R¡  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitSub¡  s    c         C   s   |  j  | d ƒ S(   Nt   BINARY_MULTIPLY(   R¡  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitMul¤  s    c         C   s   |  j  | |  j ƒ S(   N(   R¡  R~   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitDiv§  s    c         C   s   |  j  | d ƒ S(   Nt   BINARY_FLOOR_DIVIDE(   R¡  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitFloorDivª  s    c         C   s   |  j  | d ƒ S(   Nt   BINARY_MODULO(   R¡  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitMod­  s    c         C   s   |  j  | d ƒ S(   Nt   BINARY_POWER(   R¡  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt
   visitPower°  s    c         C   s   |  j  | d ƒ S(   Nt   BINARY_LSHIFT(   R¡  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitLeftShift³  s    c         C   s   |  j  | d ƒ S(   Nt   BINARY_RSHIFT(   R¡  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitRightShift¶  s    c         C   s!   |  j  | j ƒ |  j | ƒ d  S(   N(   R±   Rü   R‡   (   R;   R_   Rÿ   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   unaryOp»  s    c         C   s   |  j  | d ƒ S(   Nt   UNARY_INVERT(   R³  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitInvert¿  s    c         C   s   |  j  | d ƒ S(   Nt   UNARY_NEGATIVE(   R³  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitUnarySubÂ  s    c         C   s   |  j  | d ƒ S(   Nt   UNARY_POSITIVE(   R³  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitUnaryAddÅ  s    c         C   s   |  j  | d ƒ S(   NR´  (   R³  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitUnaryInvertÈ  s    c         C   s   |  j  | d ƒ S(   Nt	   UNARY_NOT(   R³  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitNotË  s    c         C   s   |  j  | d ƒ S(   Nt   UNARY_CONVERT(   R³  (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitBackquoteÎ  s    c         C   sD   |  j  | d ƒ x, | d D]  } |  j  | ƒ |  j | ƒ q Wd  S(   Ni    i   (   R±   R‡   (   R;   R¸   Rÿ   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   bitOpÓ  s    c         C   s   |  j  | j d ƒ S(   Nt
   BINARY_AND(   R¿  R¸   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitBitandÙ  s    c         C   s   |  j  | j d ƒ S(   Nt	   BINARY_OR(   R¿  R¸   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt
   visitBitorÜ  s    c         C   s   |  j  | j d ƒ S(   Nt
   BINARY_XOR(   R¿  R¸   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitBitxorß  s    c         C   s   |  j  d t ƒ d  S(   NR«   (   R‡   t   Ellipsis(   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitEllipsisä  s    c         C   sK   |  j  | ƒ x | j D] } |  j | ƒ q W|  j d t | j ƒ ƒ d  S(   NRÃ   (   Rª   R¸   R±   R‡   R¹   (   R;   R_   R]   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt
   visitTupleç  s    c         C   sK   |  j  | ƒ x | j D] } |  j | ƒ q W|  j d t | j ƒ ƒ d  S(   NR  (   Rª   R¸   R±   R‡   R¹   (   R;   R_   R]   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt	   visitListí  s    c         C   sK   |  j  | ƒ x | j D] } |  j | ƒ q W|  j d t | j ƒ ƒ d  S(   NR  (   Rª   R¸   R±   R‡   R¹   (   R;   R_   R]   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitSetó  s    c         C   s>   x | j  D] } |  j | ƒ q
 W|  j d t | j  ƒ ƒ d  S(   Nt   BUILD_SLICE(   R¸   R±   R‡   R¹   (   R;   R_   Rí   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   visitSliceobjù  s    c         C   s|   |  j  | ƒ |  j d d ƒ xX | j D]M \ } } |  j d ƒ |  j | ƒ |  j | ƒ |  j d ƒ |  j d ƒ q' Wd  S(   NR  i    R÷   Rø   R~  (   Rª   R‡   t   itemsR±   (   R;   R_   t   kt   v(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR`   þ  s    N(u   RB   RC   Ri   R¡   R/   Ru   RŒ   R<   Rv   Rx   R}   RA   R�   R‘   R   R“   R–   R˜   Rš   R•   R£   R¨   Rª   RT   R¯   Rº   RÅ   R³   R´   Rb   Rc   R¶   Rg   RÑ   RÚ   Rá   Rã   Rë   Rî   Rð   Rò   Rö   R   R  R  R  R  R  R½   R  R   R"  R#  R$  R*  R1  R4  R9  R<  R=  R>  R?  Ra   R@  RA  Re   Rf   RG  RS  RV  Rh   R\  R_  RE  Ra  Rc  Ri  Rg  Rv  Rw  R}  R€  R‚  R�  R’  R•  R–  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`   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRn   ·   sü   																																											/		$														
				
																																				t   NestedScopeMixinc           B   s   e  Z d  Z d „  Z RS(   s>   Defines initClass() for nested scoping (Python 2.2-compatible)c         C   s(   t  |  j _ t |  j _ t |  j _ d  S(   N(   RT   Rw   R¯   t   FunctionCodeGeneratorRº   t   ClassCodeGeneratorRÅ   (   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRv   
  s    (   RB   RC   Ri   Rv   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRÐ    s   RF   c           B   s)   e  Z e j Z d Z d  „  Z d „  Z RS(   c         C   sE   t  j d | j ƒ |  _ t j | ƒ |  _ |  j ƒ  t | |  ƒ d  S(   Ns   <module>(	   R   t   PyFlowGraphR&   R�   R   t   find_futuresR€   t    _ModuleCodeGenerator__super_initR   (   R;   R?   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR<     s    
c         C   s   |  S(   N(    (   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR     s    N(   RB   RC   Rn   R<   RÕ  R/   R�   R   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRF     s   		RD   c           B   s/   e  Z e j Z d Z d Z d  „  Z d „  Z RS(   c         C   s3   t  j d | j ƒ |  _ |  j ƒ  t | |  ƒ d  S(   Ns   <expression>(   R   RÓ  R&   R�   t$   _ExpressionCodeGenerator__super_initR   (   R;   R?   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR<   #  s    
c         C   s   |  S(   N(    (   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR   (  s    N(    (	   RB   RC   Rn   R<   RÖ  R/   R�   R€   R   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRD     s
   		RE   c           B   s8   e  Z e j Z d Z d Z d  „  Z d „  Z d „  Z	 RS(   c         C   sM   t  j d | j ƒ |  _ |  j ƒ  |  j | ƒ t | |  ƒ |  j d ƒ d  S(   Ns   <interactive>R­   (   R   RÓ  R&   R�   t%   _InteractiveCodeGenerator__super_initRª   R   R‡   (   R;   R?   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR<   2  s
    
c         C   s   |  S(   N(    (   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR   9  s    c         C   s!   |  j  | j ƒ |  j d ƒ d  S(   Nt
   PRINT_EXPR(   R±   Rü   R‡   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR=  <  s    N(    (
   RB   RC   Rn   R<   R×  R/   R�   R€   R   R=  (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRE   +  s   			t   AbstractFunctionCodec           B   sG   e  Z d  Z d Z d „  Z d „  Z d „  Z d „  Z d „  Z e Z	 RS(   i   i    c         C   sL  | |  _  | |  _ | r> t } d | j } | j d | _ n	 | j } t | j ƒ \ } }	 t j | | j	 | d d ƒ|  _
 | |  _ |  j ƒ  | r³ | j r³ |  j | j ƒ n  t | j |  j | ƒ d d ƒ}
 |  j j |
 j ƒ  ƒ | j r|  j
 j t ƒ n  | j r"|  j
 j t ƒ n  |  j | ƒ |	 rH|  j | j ƒ n  d  S(   Ns   <lambda.%d>i   R¡   R¬   i    (   RŒ   t   moduleRÑ  t   lambdaCountRY   t   generateArgListt   argnamesR   RÓ  R&   R�   Rµ   t
   super_initR®   R‹   R   R4   R¯   Rz   R°   R^   t   varargsR‚   R   t   kwargsR   Rª   t   generateArgUnpack(   R;   t   funcR�   Rµ   RŒ   R*   t   klassRY   R  t   hasTupleArgR²   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR<   F  s.    				
!		c         C   s   |  j  S(   N(   RÚ  (   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR   c  s    c         C   s:   |  j  j ƒ  |  j s) |  j d d  ƒ n  |  j d ƒ d  S(   NR«   R­   (   R�   t   startExitBlockRµ   R‡   R/   (   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR»   f  s    	c         C   sb   x[ t  t | ƒ ƒ D]G } | | } t | t ƒ r |  j d d | d ƒ |  j | ƒ q q Wd  S(   Nt	   LOAD_FASTs   .%di   (   R¾   R¹   Rj   RM  R‡   t   unpackSequence(   R;   R  RÂ   R‰  (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRá  l  s
    
c         C   s   t  d k r% |  j d t | ƒ ƒ n |  j d t | ƒ ƒ x= | D]5 } t | t ƒ rg |  j | ƒ qB |  j d | ƒ qB Wd  S(   Ni   R]  R`  R”   (   RE  R‡   R¹   Rj   RM  Rç  R•   (   R;   t   tupR]   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRç  s  s    (
   RB   RC   R¡   RÛ  R<   R   R»   Rá  Rç  t   unpackTuple(    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRÙ  B  s   					RÑ  c           B   s)   e  Z e j Z d Z e j Z d  „  Z RS(   c         C   sŠ   | |  _  | | |  _ |  j | | | | | ƒ |  j j |  j j ƒ  ƒ |  j j |  j j ƒ  ƒ |  j j d  k	 r† |  j j
 t ƒ n  d  S(   N(   R�   RŸ   t"   _FunctionCodeGenerator__super_initR�   t   setFreeVarsR  t   setCellVarst   get_cell_varst	   generatorR/   R‚   R   (   R;   Râ  R�   Rµ   RŒ   R*   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR<   ‡  s    	N(	   RB   RC   Rn   R<   RÞ  R/   R�   RÙ  Rê  (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRÑ  €  s   		R  c           B   s)   e  Z e j Z d Z e j Z d  „  Z RS(   c         C   su   | |  _  | | |  _ |  j | | d | | ƒ |  j j |  j j ƒ  ƒ |  j j |  j j ƒ  ƒ |  j j t	 ƒ d  S(   Ni   (
   R�   RŸ   t!   _GenExprCodeGenerator__super_initR�   Rë  R  Rì  Rí  R‚   R   (   R;   t   gexpR�   RŒ   R*   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR<   —  s    	N(	   RB   RC   Rn   R<   RÞ  R/   R�   RÙ  Rï  (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR  �  s   		t   AbstractClassCodec           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   sª   | j  |  _ | |  _ t j | j  | j d d d d ƒ|  _ |  j ƒ  t | j	 |  j
 ƒ  d d ƒ} |  j j | j ƒ  ƒ |  j j t ƒ | j r¦ |  j | j ƒ n  d  S(   NR¡   i    Rã  i   R¬   (   RY   RŒ   RÚ  R   RÓ  R&   R�   RÞ  R   R4   R¯   Rz   R°   R^   R‚   R   R®   R‹   (   R;   Rã  R�   RÚ  R²   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR<   ¡  s    	
	c         C   s   |  j  S(   N(   RÚ  (   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR   ­  s    c         C   s+   |  j  j ƒ  |  j d ƒ |  j d ƒ d  S(   Nt   LOAD_LOCALSR­   (   R�   Rå  R‡   (   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR»   °  s    (   RB   RC   R<   R   R»   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRñ  Ÿ  s   		RÒ  c           B   s)   e  Z e j Z d Z e j Z d  „  Z RS(   c         C   sµ   | |  _  | | |  _ |  j | | | ƒ |  j j |  j j ƒ  ƒ |  j j |  j j ƒ  ƒ |  j | ƒ |  j	 d d ƒ |  j
 d ƒ | j r± |  j	 d | j ƒ |  j
 d ƒ n  d  S(   Nt   LOAD_GLOBALRB   RC   R«   Ri   (   R�   RŸ   t   _ClassCodeGenerator__super_initR�   Rë  R  Rì  Rí  Rª   R‡   R–   R®   (   R;   Rã  R�   RÚ  (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR<   »  s    		N(	   RB   RC   Rn   R<   RÞ  R/   R�   Rñ  Rô  (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRÒ  µ  s   		c         C   s¾   g  } g  } d } x› t  t |  ƒ ƒ D]‡ } |  | } t | t ƒ rT | j | ƒ q% t | t ƒ r  | j t | d | ƒ ƒ | j t j	 | ƒ ƒ | d } q% t
 d | ‚ q% W| | | f S(   s&   Generate an arg list marking TupleArgsi    i   i   s   unexpect argument type:(   R¾   R¹   Rj   t   strt   appendRM  R   t   extendR   t   flattenR3   (   t   arglistR  t   extrat   countRÂ   R]   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRÜ  È  s    
c         C   s#   t  ƒ  } t |  | d d ƒ| j S(   s5   Find the op (DELETE, LOAD, STORE) in an AssTuple treeR¬   i    (   t   OpFinderR   Rÿ   (   R_   RÏ  (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR^  Ù  s    	Rü  c           B   s&   e  Z d  „  Z d „  Z e Z e Z RS(   c         C   s   d  |  _ d  S(   N(   R/   Rÿ   (   R;   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR<   à  s    c         C   s@   |  j  d  k r | j |  _  n |  j  | j k r< t d ‚ n  d  S(   Ns   mixed ops in stmt(   Rÿ   R/   R7   R3   (   R;   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRh   â  s    (   RB   RC   R<   Rh   R\  R  (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRü  ß  s   		t	   Delegatorc           B   s    e  Z d  Z d „  Z d „  Z RS(   s  Base class to support delegation for augmented assignment nodes

    To generator code for augmented assignments, we use the following
    wrapper classes.  In visitAugAssign, the left-hand expression node
    is visited twice.  The first time the visit uses the normal method
    for that node .  The second time the visit uses a different method
    that generates the appropriate code to perform the assignment.
    These delegator classes wrap the original AST nodes in order to
    support the variant visit methods.
    c         C   s   | |  _  d  S(   N(   t   obj(   R;   Rþ  (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR<   õ  s    c         C   s   t  |  j | ƒ S(   N(   R¦   Rþ  (   R;   t   attr(    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   __getattr__ø  s    (   RB   RC   Ri   R<   R   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRý  ê  s   
	t
   AugGetattrc           B   s   e  Z RS(    (   RB   RC   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR  û  s   t   AugNamec           B   s   e  Z RS(    (   RB   RC   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR  þ  s   t   AugSlicec           B   s   e  Z RS(    (   RB   RC   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR    s   t   AugSubscriptc           B   s   e  Z RS(    (   RB   RC   (    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyR    s   c         C   s   t  |  j |  ƒ S(   N(   t   wrapperRw   (   R_   (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyRf    s    t   __main__(M   RR   RK   RJ   RN   t   syst	   cStringIOR    t   compilerR   R   R   R   R   R   R   R   t   compiler.constsR	   R
   R   R   R   R   R   R   R   R   R   R   R   R   t   compiler.pyassemR   t   version_infoRE  t   AttributeErrorR†  RÕ   Rå   Ræ   Rç   R+   R/   R#   R:   R2   R1   R"   RT   Rm   Rn   RÐ  RF   RD   RE   RÙ  RÑ  R  Rñ  RÒ  RÜ  R^  Rü  Rý  R  R  R  R  t   Getattrt   Namet   Slicet	   SubscriptR  Rf  RB   t   argvt   file(    (    (    s>   /opt/xtal/ccp4-6.5-linux32/lib/python2.7/compiler/pycodegen.pyt   <module>   s€   ""(@
		+	ÿ ÿ ÿ ÿ U>				


	