-
<c       s     d  k  Z   d  k Z  d  k Z  d  k Z  d  k Z  d  k Z  d  k Z  d  k Z 	 d k l	 Z	  d k
 l Z l Z l Z l Z  d k
 l Z l Z l Z l Z  d k l Z l Z l Z l Z  d k l Z l Z l Z l Z l Z l Z l Z  d k l  Z   y  e i! d Z" Wn  e# j
 o  d Z" n X h  d	 d d f <d
 d d f <d d d f <d d d f <Z$   d Z% ! d Z& " d Z' # d Z( & d e i) f d     YZ* - d d  Z+ ; e, e, d  Z- L d f  d     YZ. a d e. f d     YZ/ j d e. f d     YZ0 s d e. f d     YZ1  d f  d     YZ2  d   Z3  d f  d      YZ4 sd! f  d"     YZ5 zd# e5 e4 f d$     YZ6 d% e5 e4 f d&     YZ7 d' e5 e4 f d(     YZ8 d) f  d*     YZ9 d+ e5 e9 e4 f d,     YZ: d- f  d.     YZ; d/ e5 e; e4 f d0     YZ< d1   Z= /d2   Z> 5d3 f  d4     YZ? @d5 f  d6     YZ@ Qd7 e@ f d8     YZA Td9 e@ f d:     YZB Wd; e@ f d<     YZC Zd= e@ f d>     YZD ]h  eA e iE <eB e iF <eC e iG <eD e iH <ZI dd?   ZJ geK d@ j o; hd  k Z jx% e iL d Dj] ZM ke+ eM  qWn d  S(A   N(   s   StringIO(   s   asts   parses   walks   syntax(   s   pyassems   miscs   futures   symbols(   s   SC_LOCALs	   SC_GLOBALs   SC_FREEs   SC_CELL(   s
   CO_VARARGSs   CO_VARKEYWORDSs   CO_NEWLOCALSs	   CO_NESTEDs   CO_GENERATORs   CO_GENERATOR_ALLOWEDs   CO_FUTURE_DIVISION(   s   TupleArgi    i   s   CALL_FUNCTIONs   CALL_FUNCTION_VARs   CALL_FUNCTION_KWs   CALL_FUNCTION_VAR_KWi   i   i   s
   BlockStackc      s&   & t  Z ' e i i Z ) d   Z RS(   Nc    s#   ) * |  i |   + t |  _ d  S(   N(   s   selfs   _BlockStack__super_inits   Nones   loop(   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   __init__) s   (   s   __name__s
   __module__s   miscs   Stacks   __init__s   _BlockStack__super_init(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   BlockStack& s   	c    s   - . t  |   } / | i   } 0 | i   1 t | |   } 2 y 3 | i |  Wn 4 t
 j
 o } 5   n5 X7 t  |  d d  } 8 | i |  9 | i   d  S(   Ns   cs   wb(   s   opens   filenames   fs   reads   bufs   closes   Modules   mods   compiles   displays   SyntaxErrors   errs   dump(   s   filenames   displays   errs   fs   bufs   mod(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   compileFile- s   c    s   ; < = | t j	 p
 | t j	 o > t d  n @ | d j o A t |  |  } n\ B | d j o C t	 |  |  } n6 D | d j o E t
 |  |  } n G t d   I | i   J | i Sd S(   s*   Replacement for builtin compile() functions   not implemented yets   singles   execs   evals6   compile() 3rd arg must be 'exec' or 'eval' or 'single'N(   s   flagss   Nones   dont_inherits   RuntimeErrors   modes   Interactives   sources   filenames   gens   Modules
   Expressions
   ValueErrors   compiles   code(   s   sources   filenames   modes   flagss   dont_inherits   gen(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   compile; s   s   AbstractCompileModec      sD   L t  Z N e Z P d   Z U d   Z [ d   Z ^ d   Z RS(   Nc    s+   P Q | |  _  R | |  _ S t |  _ d  S(   N(   s   sources   selfs   filenames   Nones   code(   s   selfs   sources   filename(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   __init__P s   c    sL   U V t  |  i |  i  } W t i |  i |  X t i	 |  Y | Sd  S(   N(
   s   parses   selfs   sources   modes   trees   miscs   set_filenames   filenames   syntaxs   check(   s   selfs   tree(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   _get_treeU s   c    s
   [ \ d  S(   N(    (   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   compile[ s   c    s   ^ _ |  i Sd  S(   N(   s   selfs   code(   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   getCode^ s   (   s   __name__s
   __module__s   Nones   modes   __init__s	   _get_trees   compiles   getCode(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   AbstractCompileModeL s
   		s
   Expressionc      s    a t  Z c d Z e d   Z RS(   Ns   evalc    s7   e f |  i   } g t |  } h | i   |  _ d  S(   N(   s   selfs	   _get_trees   trees   ExpressionCodeGenerators   gens   getCodes   code(   s   selfs   trees   gen(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   compilee s   (   s   __name__s
   __module__s   modes   compile(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   Expressiona s   		s   Interactivec      s    j t  Z l d Z n d   Z RS(   Ns   singlec    s7   n o |  i   } p t |  } q | i   |  _ d  S(   N(   s   selfs	   _get_trees   trees   InteractiveCodeGenerators   gens   getCodes   code(   s   selfs   trees   gen(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   compilen s   (   s   __name__s
   __module__s   modes   compile(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   Interactivej s   		s   Modulec      sJ   s t  Z u d Z w d d  Z  d   Z  e i   Z  d   Z RS(   Ns   execi    c    sb   w x |  i   } y t |  } z | o! { d  k } | | i |  GHn } | i   |  _ d  S(   N(	   s   selfs	   _get_trees   trees   ModuleCodeGenerators   gens   displays   pprints   getCodes   code(   s   selfs   displays   pprints   trees   gen(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   compilew s   
c    s3     | i |  i     t i |  i |  d  S(   N(   s   fs   writes   selfs   getPycHeaders   marshals   dumps   code(   s   selfs   f(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   dump s   c    sF     t  i |  i  t i }  t i d |  }  |  i | Sd  S(   Ns   i(	   s   oss   stats   selfs   filenames   ST_MTIMEs   mtimes   structs   packs   MAGIC(   s   selfs   mtime(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   getPycHeader s   (	   s   __name__s
   __module__s   modes   compiles   dumps   imps	   get_magics   MAGICs   getPycHeader(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   Modules s
   		s   LocalNameFinderc      s    t  Z d  Z   f  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    sU     t  i   |  _  t  i   |  _  x$ | D ] }  |  i i |  q1 Wd  S(   N(   s   miscs   Sets   selfs   namess   globalss   names   add(   s   selfs   namess   name(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   __init__ s
   
 	c    s^     xG |  i i   D ]3 }  |  i i |  o  |  i i |  n q W |  i Sd  S(   N(   s   selfs   globalss   elementss   elts   namess   has_elts   remove(   s   selfs   elt(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   getLocals s
    	c    s
     d  S(   N(    (   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   visitDict s   c    s4     x' | i D ] }  |  i i |  q Wd  S(   N(   s   nodes   namess   names   selfs   globalss   add(   s   selfs   nodes   name(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitGlobal s    	c    s     |  i i | i  d  S(   N(   s   selfs   namess   adds   nodes   name(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitFunction s   c    s
     d  S(   N(    (   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitLambda s   c    sA     x4 | i D ]& \ } }  |  i i | p |  q Wd  S(   N(   s   nodes   namess   names   aliass   selfs   add(   s   selfs   nodes   aliass   name(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitImport s    c    sA     x4 | i D ]& \ } }  |  i i | p |  q Wd  S(   N(   s   nodes   namess   names   aliass   selfs   add(   s   selfs   nodes   aliass   name(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   visitFrom s    c    s     |  i i | i  d  S(   N(   s   selfs   namess   adds   nodes   name(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   visitClass s   c    s     |  i i | i  d  S(   N(   s   selfs   namess   adds   nodes   name(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAssName s   (   s   __name__s
   __module__s   __doc__s   __init__s	   getLocalss	   visitDicts   visitGlobals   visitFunctions   visitLambdas   visitImports	   visitFroms
   visitClasss   visitAssName(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   LocalNameFinder s   c    sA     t  |  t i  o  |  i o  d Sn n  d Sd  S(   Ni   i    (   s
   isinstances   nodes   asts   Consts   value(   s   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   is_constant_false s   s   CodeGeneratorc      sP   t  Z d  Z   d 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 d  Z Re Z Se Z Te Z Vd   Z cd   Z jd   Z pd   Z sd d  Z d   Z d   Z  d   Z! d   Z" d   Z# d   Z$ d   Z% d   Z& d   Z' d   Z( 8d Z) :d    Z* `d!   Z+ md"   Z, v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 d0   Z: %d1   Z; 0d2   Z< 9d3   Z= Cd4 d5  Z> Ie? d6 j o Je> Z@ Ke> ZA n Md7   Z@ Pd8   ZA Ud9   ZB ]h  d: d; <d< d= <d> d? <d@ dA <dB dC <dD dE <dF dG <dH dI <dJ dK <dL dM <dN dO <dP dQ <ZC ldR   ZD rdS   ZE {dT   ZF dU   ZG dV   ZH dW   ZI d dX  ZJ dY   ZK dZ   ZL d[   ZM e d\  ZN e d]  ZO d^   ZP 	d_   ZQ d`   ZR da   ZS db   ZT dc   ZU dd   ZV de   ZW df   ZX !dg   ZY &dh   ZZ *di   Z[ -dj   Z\ 0dk   Z] 3dl   Z^ 6dm   Z_ 9dn   Z` >do   Za Ddp   Zb Gdq   Zc Jdr   Zd Ods   Ze Rdt   Zf Xdu   Zg ^dv   Zh cdw   Zi RS(x   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    s+    |  i t j o   |  i    d |  i _ n  |  i    t i   |  _  t i   |  _	  d |  _
  d |  _  t |  _  |  i    d |  _  |  i   i }  xk | D ]` }  | d j o#  |  i i t   d |  _ n(  | d j o  |  i i t  n q Wd  S(   Ni   i    s   BINARY_DIVIDEs   divisions   BINARY_TRUE_DIVIDEs
   generators(   s   selfs   _CodeGenerator__initializeds   Nones	   initClasss	   __class__s
   checkClasss   miscs   Stacks   localss   setupss   curStacks   maxStacks   last_linenos   _setupGraphDelegations   _div_ops
   get_modules   futuress   features   graphs   setFlags   CO_FUTURE_DIVISIONs   CO_GENERATOR_ALLOWED(   s   selfs   futuress   feature(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   __init__ s&   
 	c    s
     d S(   s)   This method is called once for each classN(    (   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   initClass s   c    s      y  t  o t |  d  p t   t  o t |  d  p t   t  o t |  d  p t   t  o t |  d  p t  Wn7  t j
 o( }  d |  i i }  t |  n Xd S(   s*   Verify that class is constructed correctlys   graphs
   NameFinders   FunctionGens   ClassGens   Bad class construction for %sN(	   s	   __debug__s   hasattrs   selfs   AssertionErrors   getattrs   msgs	   __class__s   __name__s   intro(   s   selfs   intros   msg(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   checkClass s   !!!%c    sa     |  i i |  _  |  i i |  _  |  i i |  _  |  i i |  _  |  i i |  _ d  S(   N(   s   selfs   graphs   emits   newBlocks
   startBlocks	   nextBlocks   setDocstring(   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   _setupGraphDelegation s
   c    s      |  i i   Sd S(   s   Return a code objectN(   s   selfs   graphs   getCode(   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   getCode s   c    s;    |  i t j	 o t i | |  i  Sn | Sd  S(   N(   s   selfs
   class_names   Nones   miscs   mangles   name(   s   selfs   name(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   mangle s   c    s0   t  i   } t | |  	| i Sd  S(   N(   s   symbolss   SymbolVisitors   ss   walks   trees   scopes(   s   selfs   trees   s(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   parseSymbolss   c    s   t  d  d  S(   Ns#   should be implemented by subclasses(   s   RuntimeError(   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   get_modules   c    s    |  i i   i |  Sd  S(   N(   s   selfs   localss   tops   has_elts   name(   s   selfs   name(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   isLocalNames   c    s   |  i d |  d  S(   Ns   STORE(   s   selfs   _nameOps   name(   s   selfs   name(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   storeNames   c    s   |  i d |  d  S(   Ns   LOAD(   s   selfs   _nameOps   name(   s   selfs   name(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   loadNames   c    s   |  i d |  d  S(   Ns   DELETE(   s   selfs   _nameOps   name(   s   selfs   name(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   delNames   c    s$  |  i |  } |  i i |  } | t j oD  |  i o !|  i | d |  n #|  i | d |  n $| t	 j oD %|  i o &|  i | d |  n (|  i | d |  nO )| t
 j p
 | t j o *|  i | d |  n ,t d | | f  d  S(   Ns   _NAMEs   _FASTs   _GLOBALs   _DEREFs    unsupported scope for var %s: %d(   s   selfs   mangles   names   scopes
   check_names   SC_LOCALs	   optimizeds   emits   prefixs	   SC_GLOBALs   SC_FREEs   SC_CELLs   RuntimeError(   s   selfs   prefixs   names   scope(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   _nameOps   c    sI   /56|  i o 7|  i | d |  n 9|  i | 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.
        s   _FASTs   _NAMEN(   s   selfs	   optimizeds   emits   prefixs   name(   s   selfs   prefixs   name(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   _implicitNameOp/s   c    sw   ;EFt  | d t  } G| t j	 o | |  i j p | o* I|  i d |  J| |  _ Kd Sn Ld Sd S(   s  Emit SET_LINENO if node has 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.
        s   linenos
   SET_LINENOi   i    N(   s   getattrs   nodes   Nones   linenos   selfs   last_linenos   forces   emit(   s   selfs   nodes   forces   lineno(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   set_lineno;s   
'c    s   VW|  i |  |  _ X|  i | |  _ Y|  i d d  Z| i o* [|  i d | i  \|  i d  n ]t | i |  i	   d d } ^|  i i | i    _|  i | i  `|  i d t  a|  i d  d  S(   Ns
   SET_LINENOi    s
   LOAD_CONSTs   __doc__s   verboses   RETURN_VALUE(   s   selfs   parseSymbolss   nodes   scopess   scopes   emits   docs	   storeNames   walks
   NameFinders   lnfs   localss   pushs	   getLocalss   visits   None(   s   selfs   nodes   lnf(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitModuleVs   !c    sb   cd|  i |  e|  i |  |  _ f|  i | |  _ g|  i | i  h|  i d  d  S(   Ns   RETURN_VALUE(   s   selfs
   set_linenos   nodes   parseSymbolss   scopess   scopes   visits   emit(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitExpressioncs
   c    sT   jk|  i | d d l| i o m|  i | i  n n|  i | i  d  S(   Ns   isLambdai    (   s   selfs   _visitFuncOrLambdas   nodes   docs   setDocstrings	   storeNames   name(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitFunctionjs   c    s   pq|  i | d d d  S(   Ns   isLambdai   (   s   selfs   _visitFuncOrLambdas   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitLambdaps   c    s6  st|  i | |  i | u|  i |  i    } vt | i	 |  w| i
   x|  i |  yx$ | i Dy] } z|  i |  qm W{| i i   } || o] }x$ | D}] } ~|  i d |  q W|  i d |  |  i d t | i   n0 |  i d |  |  i d t | i   d  S(   Ns   LOAD_CLOSUREs
   LOAD_CONSTs   MAKE_CLOSUREs   MAKE_FUNCTION(   s   selfs   FunctionGens   nodes   scopess   isLambdas
   class_names
   get_modules   gens   walks   codes   finishs
   set_linenos   defaultss   defaults   visits   scopes   get_free_varss   freess   names   emits   len(   s   selfs   nodes   isLambdas   freess   names   defaults   gen(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   _visitFuncOrLambdass"    	

 	 c    s  |  i | |  i |  i    } | i o* |  i d | i  |  i d  n t	 | i
 |  | i   |  i |  |  i d | i  x$ | i D] } |  i |  q W|  i d t | i   | i i   } x$ | D] } |  i d |  qW|  i d |  | o |  i d d  n |  i d d  |  i d d  |  i d	  |  i | i  d  S(
   Ns
   LOAD_CONSTs   __doc__s   BUILD_TUPLEs   LOAD_CLOSUREs   MAKE_CLOSUREi    s   MAKE_FUNCTIONs   CALL_FUNCTIONs   BUILD_CLASS(   s   selfs   ClassGens   nodes   scopess
   get_modules   gens   docs   emits	   storeNames   walks   codes   finishs
   set_linenos   names   basess   bases   visits   lens   scopes   get_free_varss   frees(   s   selfs   nodes   bases   names   freess   gen(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   visitClasss0    	
 	
c    sK  |  i   } t | i  } x t |  D] } | i | \ } } t |  o
 q4 n |  i |  |  i |  |  i   } |  i d |  |  i   |  i d  |  i |  |  i d |  |  i |  |  i d  q4 W| i o |  i | i  n |  i |  d  S(   Ns   JUMP_IF_FALSEs   POP_TOPs   JUMP_FORWARD(   s   selfs   newBlocks   ends   lens   nodes   testss   numtestss   ranges   is   tests   suites   is_constant_falses
   set_linenos   visits   nextTests   emits	   nextBlocks
   startBlocks   else_(   s   selfs   nodes   ends   is   nextTests   tests   suites   numtests(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitIfs(    	
c    sz  |  i |  |  i   } |  i   } |  i   } |  i d |  |  i |  |  i	 i
 t | f  |  i | d d |  i | i  |  i d | p |  |  i   |  i d  |  i | i  |  i d |  |  i |  |  i d  |  i d  |  i	 i   | i o |  i | i  n |  i |  d  S(   Ns
   SETUP_LOOPs   forcei   s   JUMP_IF_FALSEs   POP_TOPs   JUMP_ABSOLUTEs	   POP_BLOCK(   s   selfs
   set_linenos   nodes   newBlocks   loops   else_s   afters   emits	   nextBlocks   setupss   pushs   LOOPs   visits   tests   bodys
   startBlocks   pop(   s   selfs   nodes   afters   loops   else_(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   visitWhiles*   c    si  |  i   } |  i   } |  i   } |  i i t | f  |  i |  |  i
 d |  |  i | i  |  i
 d  |  i |  |  i | d d |  i
 d |  |  i | i  |  i | i  |  i
 d |  |  i |  |  i
 d  |  i i   | i o |  i | i  n |  i |  d  S(   Ns
   SETUP_LOOPs   GET_ITERs   forcei   s   FOR_ITERs   JUMP_ABSOLUTEs	   POP_BLOCK(   s   selfs   newBlocks   starts   anchors   afters   setupss   pushs   LOOPs
   set_linenos   nodes   emits   visits   lists	   nextBlocks   assigns   bodys   pops   else_(   s   selfs   nodes   starts   afters   anchor(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitFors(   c    sU   |  i o  t d | i | i f  n |  i |  |  i d  d  S(   Ns   'break' outside loop (%s, %d)s
   BREAK_LOOP(   s   selfs   setupss   SyntaxErrors   nodes   filenames   linenos
   set_linenos   emit(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   visitBreaks    c    s  |  i o  t d | i | i f  n |  i i   \ } } | t	 j o4 |  i
 |  |  i d |  |  i   n#| t j p
 | t j o |  i
 |   t |  i  } xP | d j o? | d } |  i | \ } } | t	 j o Pn q W| t	 j o  t d | i | i f  n 	|  i d |  
|  i   n: | t j o) d } t | | i | i f  n d  S(   Ns    'continue' outside loop (%s, %d)s   JUMP_ABSOLUTEi    i   s   CONTINUE_LOOPs7   'continue' not allowed inside 'finally' clause (%s, %d)(   s   selfs   setupss   SyntaxErrors   nodes   filenames   linenos   tops   kinds   blocks   LOOPs
   set_linenos   emits	   nextBlocks   EXCEPTs   TRY_FINALLYs   lens
   loop_blocks   END_FINALLYs   msg(   s   selfs   nodes   blocks   kinds
   loop_blocks   msgs   top(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitContinues.      	c    s   |  i   } xX | i d  D]F } |  i |  |  i | |  |  i	   |  i d  q# W|  i | i d  |  i	 |  d  S(   Nis   POP_TOP(
   s   selfs   newBlocks   ends   nodes   nodess   childs   visits   emits   jumps	   nextBlock(   s   selfs   nodes   jumps   ends   child(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   visitTests    	c    s   |  i | d  d  S(   Ns   JUMP_IF_FALSE(   s   selfs	   visitTests   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAnds   c    s   |  i | d  d  S(   Ns   JUMP_IF_TRUE(   s   selfs	   visitTests   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitOrs   c    s   |  i | i  !|  i   } "x | i d  D"] \ } } #|  i |  $|  i	 d  %|  i	 d  &|  i	 d |  '|  i	 d |  (|  i
   )|  i	 d  q6 W+| i o= ,| i d \ } } -|  i |  .|  i	 d |  n /t | i  d j of 0|  i   } 1|  i	 d |  2|  i |  3|  i	 d	  4|  i	 d  5|  i
 |  n d  S(
   Nis   DUP_TOPs	   ROT_THREEs
   COMPARE_OPs   JUMP_IF_FALSEs   POP_TOPi   s   JUMP_FORWARDs   ROT_TWO(   s   selfs   visits   nodes   exprs   newBlocks   cleanups   opss   ops   codes   emits	   nextBlocks   lens   ends
   startBlock(   s   selfs   nodes   codes   ends   cleanups   op(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitCompares,    c    sc  :;|  i |  =d |  i }
 >|  i d |  _ ?|  i d d  @|  i d  A|  i d d  B|  i d |
  Dg  }	 Ex t t	 t
 | i   | i  DE] \ } } F|  i |  \ } } Gt } HxJ | i DH]< } I| t j o J|  i   } n K|  i | |  q WL|	 i d | | | f  q WN|  i d	 |
  O|  i | i  P|  i d
 d  Q|  i d  Sx |	 DS] \ } } } T| oV U|  i   } V|  i d |  W|  i |  X|  i d  Y|  i |  n Z|  i d |  [|  i |  qW\|  i d |
  ^|  i d |  _ d  S(   Ns	   $append%di   s
   BUILD_LISTi    s   DUP_TOPs	   LOAD_ATTRs   appends   STOREs   LOADs   CALL_FUNCTIONs   POP_TOPs   JUMP_FORWARDs   JUMP_ABSOLUTEs   DELETE(   s   selfs
   set_linenos   nodes   _CodeGenerator__list_counts   appends   emits   _implicitNameOps   stacks   zips   ranges   lens   qualss   is   for_s   visits   starts   anchors   Nones   conts   ifss   if_s   newBlocks   inserts   exprs   skip_ones
   startBlocks	   nextBlock(   s   selfs   nodes   conts   is   if_s   anchors   starts   for_s   skip_ones   stacks   append(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitListComp:sD   	% 	 	 
 
c    s   `a|  i   } b|  i   } d|  i | i  e|  i d  f|  i |  g|  i d | i	  h|  i d |  i|  i   j|  i | i
  k| | f Sd  S(   Ns   GET_ITERs
   SET_LINENOs   FOR_ITER(   s   selfs   newBlocks   starts   anchors   visits   nodes   lists   emits	   nextBlocks   linenos   assign(   s   selfs   nodes   starts   anchor(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitListCompFor`s   c    s`   mn|  i | d d o|  i | i  p|  i d |  q|  i   r|  i d  d  S(   Ns   forcei   s   JUMP_IF_FALSEs   POP_TOP(   s   selfs
   set_linenos   nodes   visits   tests   emits   branchs   newBlock(   s   selfs   nodes   branch(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitListCompIfms
   c    s)  vy|  i   } z|  i |  ~|  i d d  |  i d |  |  i   |  i d  |  i | i  |  i d |  |  i   |  i d  |  i d d  | i	 o* |  i | i	  |  i d d  n |  i d d	  |  i |  |  i d  d  S(
   Ns   LOAD_GLOBALs	   __debug__s   JUMP_IF_FALSEs   POP_TOPs   JUMP_IF_TRUEs   AssertionErrors   RAISE_VARARGSi   i   (
   s   selfs   newBlocks   ends
   set_linenos   nodes   emits	   nextBlocks   visits   tests   fail(   s   selfs   nodes   end(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAssertvs"   c    s   |  i |  d } | i o$ |  i | i  | d } n | i o$ |  i | i  | d } n | i o$ |  i | i  | d } n |  i d |  d  S(   Ni    i   s   RAISE_VARARGS(	   s   selfs
   set_linenos   nodes   ns   expr1s   visits   expr2s   expr3s   emit(   s   selfs   nodes   n(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   visitRaises   	c    s  |  i   } |  i   } |  i   } | i o |  i   }
 n
 | }
 |  i |  |  i	 d |  |  i
 |  |  i i t | f  |  i | i  |  i	 d  |  i i   |  i	 d |
  |  i |  t | i  d }	 xt t | i   D]i} | i | \ } } } |  i |  | ov |  i	 d  |  i |  |  i	 d d  |  i   } |  i	 d |  |  i
   |  i	 d	  n |  i	 d	  | o |  i |  n |  i	 d	  |  i	 d	  |  i |  |  i	 d |  | o |  i
 |  n |  i
   | o |  i	 d	  n q*W|  i	 d
  | i o' |  i
 |
  |  i | i  n |  i
 |  d  S(   Ns   SETUP_EXCEPTs	   POP_BLOCKs   JUMP_FORWARDi   s   DUP_TOPs
   COMPARE_OPs   exception matchs   JUMP_IF_FALSEs   POP_TOPs   END_FINALLY(   s   selfs   newBlocks   bodys   handlerss   ends   nodes   else_s   lElses
   set_linenos   emits	   nextBlocks   setupss   pushs   EXCEPTs   visits   pops
   startBlocks   lens   lasts   ranges   is   exprs   targets   next(   s   selfs   nodes   bodys   ends   targets   handlerss   is   exprs   nexts   lasts   lElse(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitTryExceptsZ   	 	



c    s  |  i   } |  i   } |  i |  |  i d |  |  i |  |  i i	 t
 | f  |  i | i  |  i d  |  i i   |  i d t  |  i |  |  i i	 t | f  |  i | i  |  i d  |  i i   d  S(   Ns   SETUP_FINALLYs	   POP_BLOCKs
   LOAD_CONSTs   END_FINALLY(   s   selfs   newBlocks   bodys   finals
   set_linenos   nodes   emits	   nextBlocks   setupss   pushs   TRY_FINALLYs   visits   pops   Nones   END_FINALLY(   s   selfs   nodes   bodys   final(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitTryFinallys   c    s:   |  i |  |  i | i  |  i d  d  S(   Ns   POP_TOP(   s   selfs
   set_linenos   nodes   visits   exprs   emit(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitDiscards   c    s   |  i d | i  d  S(   Ns
   LOAD_CONST(   s   selfs   emits   nodes   value(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   visitConsts   c    s0   |  i d | i  |  i | i  d  S(   Ns
   LOAD_CONST(   s   selfs   emits   nodes   names   visits   expr(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitKeywords   c    s
   d  S(   N(    (   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitGlobals   c    s*   |  i |  |  i | i  d  S(   N(   s   selfs
   set_linenos   nodes   loadNames   name(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   visitNames   c    s   |  i |  d  S(   N(   s   selfs
   set_linenos   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   visitPasss   c    s   |  i |  x | i D]v \ } } t d j o |  i d t  n |  i d |  t	 i
 | d  d }  |  i | p |  q  Wd  S(   Ni   s
   LOAD_CONSTs   IMPORT_NAMEs   .i    (   s   selfs
   set_linenos   nodes   namess   names   aliass   VERSIONs   emits   Nones   strings   splits   mods	   storeName(   s   selfs   nodes   aliass   names   mod(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitImports    c    sa  |  i |  t d   | i  } t d j o |  i d t |   n |  i d | i	  x | i D] \ } } 	t d j o 
| d j oN d |  _ |  i d  t o t | i  d j p t  d  Sn; |  i d |  |  i |  |  i | p |  n |  i d |  q{ W|  i d	  d  S(
   Nc    s   |  \ } } | S(   N(   s   names   alias(   s   .0s   names   alias(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   <lambda>s    i   s
   LOAD_CONSTs   IMPORT_NAMEs   *i    s   IMPORT_STARs   IMPORT_FROMs   POP_TOP(   s   selfs
   set_linenos   nodes   maps   namess   fromlists   VERSIONs   emits   tuples   modnames   names   aliass	   namespaces	   __debug__s   lens   AssertionErrors   _resolveDotss	   storeName(   s   selfs   nodes   fromlists   names   alias(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   visitFroms$    'c    sk   t  i | d  } t |  d j o d  Sn x( | d D] } |  i d |  qG Wd  S(   Ns   .i   s	   LOAD_ATTR(   s   strings   splits   names   eltss   lens   elts   selfs   emit(   s   selfs   names   eltss   elt(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   _resolveDotss    	c    s9    |  i | i  !|  i d |  i | i   d  S(   Ns	   LOAD_ATTR(   s   selfs   visits   nodes   exprs   emits   mangles   attrname(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitGetattrs   c    s   %&|  i |  '|  i | i  (t | i  d } )x~ t t | i   D)]d } *| i | } +| | j  o ,|  i d  n -t | t i  o .|  i |  n qU Wd  S(   Ni   s   DUP_TOP(   s   selfs
   set_linenos   nodes   visits   exprs   lens   nodess   dupss   ranges   is   elts   emits
   isinstances   asts   Node(   s   selfs   nodes   elts   dupss   i(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAssign%s    	c    sz   01| i d j o 2|  i | i  nJ 3| i d j o' 4|  i |  5|  i | i  n 7d G| i GHd  S(   Ns	   OP_ASSIGNs	   OP_DELETEs   oops(   s   nodes   flagss   selfs	   storeNames   names
   set_linenos   delName(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAssName0s   c    s   9:|  i | i  ;| i d j o# <|  i d |  i | i   nN =| i d j o# >|  i d |  i | i   n @d G| i GHA| GHd  S(   Ns	   OP_ASSIGNs
   STORE_ATTRs	   OP_DELETEs   DELETE_ATTRs   warning: unexpected flags:(   s   selfs   visits   nodes   exprs   flagss   emits   mangles   attrname(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAssAttr9s   ##s   UNPACK_SEQUENCEc    sg   CDt  |  d j o  E|  i | t | i   n Fx$ | i DF] } G|  i |  qF Wd  S(   Ns	   OP_DELETE(	   s   findOps   nodes   selfs   emits   ops   lens   nodess   childs   visit(   s   selfs   nodes   ops   child(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   _visitAssSequenceCs
     	i   c    s   MN|  i | d  d  S(   Ns   UNPACK_TUPLE(   s   selfs   _visitAssSequences   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAssTupleMs   c    s   PQ|  i | d  d  S(   Ns   UNPACK_LIST(   s   selfs   _visitAssSequences   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAssListPs   c    s|   UV|  i |  Wt | i  } X|  i | d  Y|  i | i  Z|  i |  i | i	  [|  i | d  d  S(   Ns   loads   store(
   s   selfs
   set_linenos   nodes   wrap_augs   aug_nodes   visits   exprs   emits   _augmented_opcodes   op(   s   selfs   nodes   aug_node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAugAssignUs   s   INPLACE_ADDs   +=s   INPLACE_SUBTRACTs   -=s   INPLACE_MULTIPLYs   *=s   INPLACE_DIVIDEs   /=s   INPLACE_FLOOR_DIVIDEs   //=s   INPLACE_MODULOs   %=s   INPLACE_POWERs   **=s   INPLACE_RSHIFTs   >>=s   INPLACE_LSHIFTs   <<=s   INPLACE_ANDs   &=s   INPLACE_XORs   ^=s
   INPLACE_ORs   |=c    sU   lm| d j o n|  i | i  n( o| d j o p|  i | i  n d  S(   Ns   loads   store(   s   modes   selfs   loadNames   nodes   names	   storeName(   s   selfs   nodes   mode(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAugNamels   c    s   rs| d j oF t|  i | i  u|  i d  v|  i d |  i | i   nD w| d j o3 x|  i d  y|  i d |  i | i   n d  S(   Ns   loads   DUP_TOPs	   LOAD_ATTRs   stores   ROT_TWOs
   STORE_ATTR(   s   modes   selfs   visits   nodes   exprs   emits   mangles   attrname(   s   selfs   nodes   mode(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAugGetattrrs   #c    s   {|| d j o }|  i | d  n ~| d j o d } | i o | d B} n | i o | d B} n | d j o |  i d  n5 | d j o |  i d  n |  i d	  |  i d
 |  n d  S(   Ns   loadi   s   storei    i   s   ROT_TWOi   s   ROT_FOURs	   ROT_THREEs   STORE_SLICE+%d(   s   modes   selfs
   visitSlices   nodes   slices   lowers   uppers   emit(   s   selfs   nodes   modes   slice(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAugSlice{s   	c    s   t  | i  d j o t d  n | d j o |  i | d  n5 | d j o$ |  i d  |  i d  n d  S(   Ni   s-   augmented assignment to tuple is not possibles   loads   stores	   ROT_THREEs   STORE_SUBSCR(   s   lens   nodes   subss   SyntaxErrors   modes   selfs   visitSubscripts   emit(   s   selfs   nodes   mode(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAugSubscripts   c    s   |  i | i  | i t j o |  i d t  n |  i | i  | i t j o |  i d  n |  i | i  |  i d  d  S(   Ns
   LOAD_CONSTs   DUP_TOPs	   EXEC_STMT(   s   selfs   visits   nodes   exprs   localss   Nones   emits   globals(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   visitExecs   c    s@  d } d } |  i |  |  i | i  xX | i D]J } |  i |  t | t	 i
  o | d } n | d } qE W| i t j	 o |  i | i  n | i t j	 o |  i | i  n | i t j	 } | i t j	 } t | | f } |  i | | d >| B d  S(   Ni    i   i   (   s   poss   kws   selfs
   set_linenos   nodes   visits   argss   args
   isinstances   asts   Keywords	   star_argss   Nones
   dstar_argss	   have_stars
   have_dstars   callfunc_opcode_infos   opcodes   emit(   s   selfs   nodes
   have_dstars   poss   opcodes   args   kws	   have_star(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitCallFuncs$   		 	c    s   |  i |  | i o |  i | i  n x | i D]x } | i o |  i d  n |  i |  | i o$ |  i d  |  i d  n |  i d  qD W| i o | o |  i d  n d  S(   Ns   DUP_TOPs   ROT_TWOs   PRINT_ITEM_TOs
   PRINT_ITEMs   POP_TOP(	   s   selfs
   set_linenos   nodes   dests   visits   nodess   childs   emits   newline(   s   selfs   nodes   newlines   child(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   visitPrints    	c    sN   |  i | d d | i o |  i d  n |  i d  d  S(   Ns   newlinei   s   PRINT_NEWLINE_TOs   PRINT_NEWLINE(   s   selfs
   visitPrints   nodes   dests   emit(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitPrintnls   c    s:   |  i |  |  i | i  |  i d  d  S(   Ns   RETURN_VALUE(   s   selfs
   set_linenos   nodes   visits   values   emit(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitReturns   c    s:   |  i |  |  i | i  |  i d  d  S(   Ns
   YIELD_STMT(   s   selfs
   set_linenos   nodes   visits   values   emit(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   visitYields   c    s  |  i | i  d } | i o$ |  i | i  | d B} n | i o$ |  i | i  | d B} n | ob | d j o |  i d  n; | d j o |  i d d  n |  i d d  n | i	 d j o |  i d |  nl | i	 d	 j o |  i d
 |  nA | i	 d j o |  i d |  n d G| i	 GH  d  S(   Ni    i   i   s   DUP_TOPi   s   DUP_TOPXs   OP_APPLYs   SLICE+%ds	   OP_ASSIGNs   STORE_SLICE+%ds	   OP_DELETEs   DELETE_SLICE+%ds   weird slice(
   s   selfs   visits   nodes   exprs   slices   lowers   uppers   aug_flags   emits   flags(   s   selfs   nodes   aug_flags   slice(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   visitSlices,   	
c    s  |  i | i  x$ | i D] } |  i |  q# W| o |  i d d  n t | i  d j o  |  i d t | i   n | i	 d j o |  i d  nO | i	 d j o |  i d  n( | i	 d	 j o  |  i d
  n d  S(   Ns   DUP_TOPXi   i   s   BUILD_TUPLEs   OP_APPLYs   BINARY_SUBSCRs	   OP_ASSIGNs   STORE_SUBSCRs	   OP_DELETEs   DELETE_SUBSCR(
   s   selfs   visits   nodes   exprs   subss   subs   aug_flags   emits   lens   flags(   s   selfs   nodes   aug_flags   sub(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitSubscripts    	
 c    s=   |  i | i  |  i | i  |  i |  d  S(   N(   s   selfs   visits   nodes   lefts   rights   emits   op(   s   selfs   nodes   op(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   binaryOps   c    s   	
|  i | d  Sd  S(   Ns
   BINARY_ADD(   s   selfs   binaryOps   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAdd	s   c    s   |  i | d  Sd  S(   Ns   BINARY_SUBTRACT(   s   selfs   binaryOps   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitSubs   c    s   |  i | d  Sd  S(   Ns   BINARY_MULTIPLY(   s   selfs   binaryOps   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitMuls   c    s   |  i | |  i  Sd  S(   N(   s   selfs   binaryOps   nodes   _div_op(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitDivs   c    s   |  i | d  Sd  S(   Ns   BINARY_FLOOR_DIVIDE(   s   selfs   binaryOps   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitFloorDivs   c    s   |  i | d  Sd  S(   Ns   BINARY_MODULO(   s   selfs   binaryOps   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitMods   c    s   |  i | d  Sd  S(   Ns   BINARY_POWER(   s   selfs   binaryOps   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   visitPowers   c    s   |  i | d  Sd  S(   Ns   BINARY_LSHIFT(   s   selfs   binaryOps   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitLeftShifts   c    s   !"|  i | d  Sd  S(   Ns   BINARY_RSHIFT(   s   selfs   binaryOps   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitRightShift!s   c    s*   &'|  i | i  (|  i |  d  S(   N(   s   selfs   visits   nodes   exprs   emits   op(   s   selfs   nodes   op(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   unaryOp&s   c    s   *+|  i | d  Sd  S(   Ns   UNARY_INVERT(   s   selfs   unaryOps   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitInvert*s   c    s   -.|  i | d  Sd  S(   Ns   UNARY_NEGATIVE(   s   selfs   unaryOps   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitUnarySub-s   c    s   01|  i | d  Sd  S(   Ns   UNARY_POSITIVE(   s   selfs   unaryOps   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitUnaryAdd0s   c    s   34|  i | d  Sd  S(   Ns   UNARY_INVERT(   s   selfs   unaryOps   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitUnaryInvert3s   c    s   67|  i | d  Sd  S(   Ns	   UNARY_NOT(   s   selfs   unaryOps   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitNot6s   c    s   9:|  i | d  Sd  S(   Ns   UNARY_CONVERT(   s   selfs   unaryOps   node(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitBackquote9s   c    sV   >?|  i | d  @x5 | d D@]& } A|  i |  B|  i |  q% Wd  S(   Ni    i   (   s   selfs   visits   nodess   nodes   emits   op(   s   selfs   nodess   ops   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   bitOp>s
    	c    s   DE|  i | i d  Sd  S(   Ns
   BINARY_AND(   s   selfs   bitOps   nodes   nodes(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitBitandDs   c    s   GH|  i | i d  Sd  S(   Ns	   BINARY_OR(   s   selfs   bitOps   nodes   nodes(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   visitBitorGs   c    s   JK|  i | i d  Sd  S(   Ns
   BINARY_XOR(   s   selfs   bitOps   nodes   nodes(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitBitxorJs   c    s   OP|  i d t  d  S(   Ns
   LOAD_CONST(   s   selfs   emits   Ellipsis(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitEllipsisOs   c    s]   RS|  i |  Tx$ | i DT] } U|  i |  q  WV|  i d t | i   d  S(   Ns   BUILD_TUPLE(   s   selfs
   set_linenos   nodes   nodess   elts   visits   emits   len(   s   selfs   nodes   elt(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   visitTupleRs
    	c    s]   XY|  i |  Zx$ | i DZ] } [|  i |  q  W\|  i d t | i   d  S(   Ns
   BUILD_LIST(   s   selfs
   set_linenos   nodes   nodess   elts   visits   emits   len(   s   selfs   nodes   elt(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   visitListXs
    	c    sM   ^_x$ | i D_] } `|  i |  q Wa|  i d t | i   d  S(   Ns   BUILD_SLICE(   s   nodes   nodess   childs   selfs   visits   emits   len(   s   selfs   nodes   child(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitSliceobj^s    	c    s  cdt  | d t  } e| o f|  i d |  n g|  i d d  hx | i Dh] \ } } it  | d t  } j| t j	 o
 | | j o  k|  i d |  l| } n m|  i d  n|  i
 |  o|  i d  p|  i
 |  q|  i d  qY Wd  S(   Ns   linenos
   SET_LINENOs	   BUILD_MAPi    s   DUP_TOPs   ROT_TWOs   STORE_SUBSCR(   s   getattrs   nodes   Nones   linenos   selfs   emits   itemss   ks   vs   lineno2s   visit(   s   selfs   nodes   linenos   ks   vs   lineno2(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   visitDictcs   
 (j   s   __name__s
   __module__s   __doc__s	   optimizeds   Nones   _CodeGenerator__initializeds
   class_names   __init__s	   initClasss
   checkClasss   _setupGraphDelegations   getCodes   mangles   parseSymbolss
   get_modules   isLocalNames	   storeNames   loadNames   delNames   _nameOps   _implicitNameOps
   set_linenos   LocalNameFinders
   NameFinders   FunctionGens   ClassGens   visitModules   visitExpressions   visitFunctions   visitLambdas   _visitFuncOrLambdas
   visitClasss   visitIfs
   visitWhiles   visitFors
   visitBreaks   visitContinues	   visitTests   visitAnds   visitOrs   visitCompares   _CodeGenerator__list_counts   visitListComps   visitListCompFors   visitListCompIfs   visitAsserts
   visitRaises   visitTryExcepts   visitTryFinallys   visitDiscards
   visitConsts   visitKeywords   visitGlobals	   visitNames	   visitPasss   visitImports	   visitFroms   _resolveDotss   visitGetattrs   visitAssigns   visitAssNames   visitAssAttrs   _visitAssSequences   VERSIONs   visitAssTuples   visitAssLists   visitAugAssigns   _augmented_opcodes   visitAugNames   visitAugGetattrs   visitAugSlices   visitAugSubscripts	   visitExecs   visitCallFuncs
   visitPrints   visitPrintnls   visitReturns
   visitYields
   visitSlices   visitSubscripts   binaryOps   visitAdds   visitSubs   visitMuls   visitDivs   visitFloorDivs   visitMods
   visitPowers   visitLeftShifts   visitRightShifts   unaryOps   visitInverts   visitUnarySubs   visitUnaryAdds   visitUnaryInverts   visitNots   visitBackquotes   bitOps   visitBitands
   visitBitors   visitBitxors   visitEllipsiss
   visitTuples	   visitLists   visitSliceobjs	   visitDict(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   CodeGenerator s   						
	&	2		
	u		s   NestedScopeMixinc      s    st  Z d  Z tud   Z RS(   s>   Defines initClass() for nested scoping (Python 2.2-compatible)c    s4   uvt  |  i _ wt |  i _ xt |  i _ d  S(   N(   s   LocalNameFinders   selfs	   __class__s
   NameFinders   FunctionCodeGenerators   FunctionGens   ClassCodeGenerators   ClassGen(   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   initClassus   (   s   __name__s
   __module__s   __doc__s	   initClass(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   NestedScopeMixinss   s   ModuleCodeGeneratorc      s8   zt  Z {e i Z }e Z d   Z d   Z RS(   Nc    sT   t  i d | i  |  _ t i |  |  _ |  i	   t
 | |   d  S(   Ns   <module>(   s   pyassems   PyFlowGraphs   trees   filenames   selfs   graphs   futures   find_futuress   futuress    _ModuleCodeGenerator__super_inits   walk(   s   selfs   tree(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   __init__s   c    s   |  Sd  S(   N(   s   self(   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   get_modules   (   s   __name__s
   __module__s   CodeGenerators   __init__s    _ModuleCodeGenerator__super_inits   Nones   scopess
   get_module(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   ModuleCodeGeneratorzs   		s   ExpressionCodeGeneratorc      sA   t  Z e i Z e Z f  Z d   Z d   Z RS(   Nc    s?   t  i d | i  |  _ |  i   t | |   d  S(   Ns   <expression>(   s   pyassems   PyFlowGraphs   trees   filenames   selfs   graphs$   _ExpressionCodeGenerator__super_inits   walk(   s   selfs   tree(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   __init__s   c    s   |  Sd  S(   N(   s   self(   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   get_modules   (	   s   __name__s
   __module__s   CodeGenerators   __init__s$   _ExpressionCodeGenerator__super_inits   Nones   scopess   futuress
   get_module(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   ExpressionCodeGenerators
   			s   InteractiveCodeGeneratorc      sM   t  Z e i Z e Z f  Z d   Z d   Z d   Z	 RS(   Nc    s_   t  i d | i  |  _ |  i   |  i |  t | |   |  i	 d  d  S(   Ns   <interactive>s   RETURN_VALUE(
   s   pyassems   PyFlowGraphs   trees   filenames   selfs   graphs%   _InteractiveCodeGenerator__super_inits
   set_linenos   walks   emit(   s   selfs   tree(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   __init__s
   c    s   |  Sd  S(   N(   s   self(   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   get_modules   c    s*   |  i | i  |  i d  d  S(   Ns
   PRINT_EXPR(   s   selfs   visits   nodes   exprs   emit(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitDiscards   (
   s   __name__s
   __module__s   CodeGenerators   __init__s%   _InteractiveCodeGenerator__super_inits   Nones   scopess   futuress
   get_modules   visitDiscard(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   InteractiveCodeGenerators   			s   AbstractFunctionCodec      sb   t  Z d Z d Z d   Z d   Z d   Z d   Z d   Z e Z	 RS(   Ni   i    c    s  | |  _  | |  _ | o0 t }
 d |
 i } |
 i d |
 _ n | i } t
 | i  \ } }	 t i | | i | d d |  _ | |  _ |  i   | o | i o |  i | i  n t | i |  i |  d d } |  i i | i    | i o |  i i t  n | i o |  i i t   n |  i! |  |	 o |  i" | i  n d  S(   Ns   <lambda.%d>i   s	   optimizeds   verbosei    (#   s
   class_names   selfs   mods   modules   isLambdas   FunctionCodeGenerators   klasss   lambdaCounts   names   funcs   generateArgLists   argnamess   argss   hasTupleArgs   pyassems   PyFlowGraphs   filenames   graphs
   super_inits   docs   setDocstrings   walks   codes
   NameFinders   lnfs   localss   pushs	   getLocalss   varargss   setFlags
   CO_VARARGSs   kwargss   CO_VARKEYWORDSs
   set_linenos   generateArgUnpack(   s   selfs   funcs   scopess   isLambdas
   class_names   mods   lnfs   names   argss   hasTupleArgs   klass(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   __init__s.   
	$
c    s   |  i Sd  S(   N(   s   selfs   module(   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   get_modules   c    sL   |  i i   |  i o |  i d t  n |  i d  d  S(   Ns
   LOAD_CONSTs   RETURN_VALUE(   s   selfs   graphs   startExitBlocks   isLambdas   emits   None(   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   finishs   c    s   xr t  t |   D][ } | | } t |  t i j o/ |  i	 d d | d  |  i
 |  n q Wd  S(   Ns	   LOAD_FASTs   .%di   (   s   ranges   lens   argss   is   args   types   typess	   TupleTypes   selfs   emits   unpackSequence(   s   selfs   argss   args   i(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   generateArgUnpacks    	c    s   t  d j o |  i d t |   n |  i d t |   xQ | D]F } t |  t i j o |  i	 |  n |  i
 d |  qS Wd  S(   Ni   s   UNPACK_SEQUENCEs   UNPACK_TUPLEs   STORE(   s   VERSIONs   selfs   emits   lens   tups   elts   types   typess	   TupleTypes   unpackSequences   _nameOp(   s   selfs   tups   elt(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   unpackSequences   
 	(
   s   __name__s
   __module__s	   optimizeds   lambdaCounts   __init__s
   get_modules   finishs   generateArgUnpacks   unpackSequences   unpackTuple(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   AbstractFunctionCodes   			s   FunctionCodeGeneratorc      s8   t  Z e i Z e Z e i Z d   Z RS(   Nc    s   | |  _  | | |  _ |  i | | | | |  |  i i	 |  i i
    |  i i |  i i    |  i i t  o1 |  i i t j	 o |  i i t  n n d  S(   N(   s   scopess   selfs   funcs   scopes"   _FunctionCodeGenerator__super_inits   isLambdas
   class_names   mods   graphs   setFreeVarss   get_free_varss   setCellVarss   get_cell_varss	   checkFlags   CO_GENERATOR_ALLOWEDs	   generators   Nones   setFlags   CO_GENERATOR(   s   selfs   funcs   scopess   isLambdas
   class_names   mod(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   __init__s   (	   s   __name__s
   __module__s   CodeGenerators   __init__s
   super_inits   Nones   scopess   AbstractFunctionCodes"   _FunctionCodeGenerator__super_init(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   FunctionCodeGenerators   		s   AbstractClassCodec      s/   t  Z d   Z 	d   Z d   Z RS(   Nc    s   | i |  _ | |  _  t i | i | i d d d d |  _ |  i	   t
 | i |  i   d d } |  i i | i    |  i i t  | i o |  i | i  n d  S(   Ns	   optimizedi    s   klassi   s   verbose(   s   klasss   names   selfs
   class_names   modules   pyassems   PyFlowGraphs   filenames   graphs
   super_inits   walks   codes
   NameFinders   lnfs   localss   pushs	   getLocalss   setFlags   CO_NEWLOCALSs   docs   setDocstring(   s   selfs   klasss   scopess   modules   lnf(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   __init__s   !c    s   	
|  i Sd  S(   N(   s   selfs   module(   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   get_module	s   c    s7   |  i i   |  i d  |  i d  d  S(   Ns   LOAD_LOCALSs   RETURN_VALUE(   s   selfs   graphs   startExitBlocks   emit(   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   finishs   (   s   __name__s
   __module__s   __init__s
   get_modules   finish(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   AbstractClassCodes   	s   ClassCodeGeneratorc      s8   t  Z e i Z e Z e i Z d   Z RS(   Nc    sq   | |  _  | | |  _ |  i | | |  |  i i |  i i    |  i i	 |  i i
    d  S(   N(   s   scopess   selfs   klasss   scopes   _ClassCodeGenerator__super_inits   modules   graphs   setFreeVarss   get_free_varss   setCellVarss   get_cell_vars(   s   selfs   klasss   scopess   module(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   __init__s
   (	   s   __name__s
   __module__s   CodeGenerators   __init__s
   super_inits   Nones   scopess   AbstractClassCodes   _ClassCodeGenerator__super_init(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   ClassCodeGenerators   		c    s   g  } !g  } "d } #x t t |    D#] } $|  | } %t |  t	 i
 j o &| i |  np 't |  t	 i j oG (| i t | d |   )| i t i |   *| d } n ,t d |  q7 W-| | | f Sd S(   s&   Generate an arg list marking TupleArgsi    i   i   s   unexpect argument type:N(   s   argss   extras   counts   ranges   lens   arglists   is   elts   types   typess
   StringTypes   appends	   TupleTypes   TupleArgs   extends   miscs   flattens
   ValueError(   s   arglists   counts   extras   is   argss   elt(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   generateArgLists   			 	c    s6   /01t    } 2t |  | d d 3| i Sd S(   s5   Find the op (DELETE, LOAD, STORE) in an AssTuple trees   verbosei    N(   s   OpFinders   vs   walks   nodes   op(   s   nodes   v(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   findOp/s   s   OpFinderc      s5   5t  Z 6d   Z 8d   Z =e Z >e Z RS(   Nc    s   67t  |  _ d  S(   N(   s   Nones   selfs   op(   s   self(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   __init__6s   c    sS   89|  i t j o :| i |  _ n' ;|  i | i j o <t d  n d  S(   Ns   mixed ops in stmt(   s   selfs   ops   Nones   nodes   flagss
   ValueError(   s   selfs   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   visitAssName8s   (   s   __name__s
   __module__s   __init__s   visitAssNames   visitAssAttrs   visitSubscript(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   OpFinder5s   		s	   Delegatorc      s,   @t  Z d  Z JKd   Z N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    s   KL| |  _  d  S(   N(   s   objs   self(   s   selfs   obj(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   __init__Ks   c    s   NOt  |  i |  Sd  S(   N(   s   getattrs   selfs   objs   attr(   s   selfs   attr(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   __getattr__Ns   (   s   __name__s
   __module__s   __doc__s   __init__s   __getattr__(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys	   Delegator@s   
s
   AugGetattrc      s   Qt  Z RRS(   N(   s   __name__s
   __module__(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys
   AugGetattrQs   	s   AugNamec      s   Tt  Z URS(   N(   s   __name__s
   __module__(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   AugNameTs   	s   AugSlicec      s   Wt  Z XRS(   N(   s   __name__s
   __module__(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   AugSliceWs   	s   AugSubscriptc      s   Zt  Z [RS(   N(   s   __name__s
   __module__(    (    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   AugSubscriptZs   	c    s   det  |  i |   Sd  S(   N(   s   wrappers   nodes	   __class__(   s   node(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   wrap_augds   s   __main__(N   s   imps   oss   marshals   stats   strings   structs   syss   typess	   cStringIOs   StringIOs   compilers   asts   parses   walks   syntaxs   pyassems   miscs   futures   symbolss   compiler.constss   SC_LOCALs	   SC_GLOBALs   SC_FREEs   SC_CELLs
   CO_VARARGSs   CO_VARKEYWORDSs   CO_NEWLOCALSs	   CO_NESTEDs   CO_GENERATORs   CO_GENERATOR_ALLOWEDs   CO_FUTURE_DIVISIONs   compiler.pyassems   TupleArgs   version_infos   VERSIONs   AttributeErrors   callfunc_opcode_infos   LOOPs   EXCEPTs   TRY_FINALLYs   END_FINALLYs   Stacks
   BlockStacks   compileFiles   Nones   compiles   AbstractCompileModes
   Expressions   Interactives   Modules   LocalNameFinders   is_constant_falses   CodeGenerators   NestedScopeMixins   ModuleCodeGenerators   ExpressionCodeGenerators   InteractiveCodeGenerators   AbstractFunctionCodes   FunctionCodeGenerators   AbstractClassCodes   ClassCodeGenerators   generateArgLists   findOps   OpFinders	   Delegators
   AugGetattrs   AugNames   AugSlices   AugSubscripts   Getattrs   Names   Slices	   Subscripts   wrappers   wrap_augs   __name__s   argvs   file(@   s   OpFinders   ExpressionCodeGenerators   LocalNameFinders   generateArgLists   miscs   walks   parses	   SC_GLOBALs   InteractiveCodeGenerators   AugNames	   CO_NESTEDs   files   AbstractFunctionCodes   CO_NEWLOCALSs   SC_LOCALs   wrap_augs   structs   is_constant_falses   imps   compileFiles   EXCEPTs   wrappers   END_FINALLYs
   CO_VARARGSs   callfunc_opcode_infos   futures   TRY_FINALLYs   CO_FUTURE_DIVISIONs   CO_GENERATOR_ALLOWEDs   findOps   FunctionCodeGenerators	   Delegators   AugSubscripts   stats   AbstractCompileModes   SC_FREEs   strings   asts
   AugGetattrs   ModuleCodeGenerators   AugSlices   syss   pyassems   NestedScopeMixins   VERSIONs   syntaxs
   Expressions   typess   Interactives   CO_GENERATORs   symbolss   StringIOs   AbstractClassCodes   oss   CodeGenerators   ClassCodeGenerators   Modules   marshals   compiles   SC_CELLs
   BlockStacks   TupleArgs   CO_VARKEYWORDSs   LOOP(    (    s(   /usr/lib/python2.2/compiler/pycodegen.pys   ? st   """4E						+   =9 	