
NWc        )   @@  s
  d  d l  m Z d  d l Z e j d e d e d e d e d e d e d	 e d
 e d e d e d e d e d e d e d e d e d e d e d e d e j  d  d l m Z d  d l Z d  d l	 Z	 d  d l
 m Z d  d l m Z m Z d d l m Z m Z m Z d d l m Z d d l m Z d d l m Z d d l m Z d d  l m Z m Z m Z m Z d d! l m Z d d" l m Z m  Z  d# d$ l m! Z! d d% l m" Z" d d& l m# Z# e	 j$ d  d' k Z% d( e f d)     YZ& d* d+  Z' d,   Z( d-   Z) d.   Z* e+ d/  Z, d0   Z- d1   Z. d2   Z/ d3   Z0 d4   Z1 d5   Z2 d6   Z3 d7   Z4 d8   Z5 d9   Z6 d:   Z7 d;   Z8 e j e9 e9 d< d= d> d? d@ dA dB dC dD dE g
   Z: dF   Z; dG   Z< dH   Z= dI   Z> dJ   Z? dK   Z@ dL   ZA dM   ZB dN   ZC dO   ZD dP   ZE dQ   ZF dR   ZG dS   ZH dT   ZI dU   ZJ e+ dV  ZK dW   ZL dX   ZM dY   ZN dZ   ZO d[   ZP d\   ZQ d]   ZR d^   ZS d d d_  ZU d`   ZV da   ZW db   ZX dc   ZY dd   ZZ de df  Z[ dg   Z\ d dh  Z] di   Z^ dj   Z_ dk   Z` dl   Za dm   Zb dn   Zc do   Zd dp   Ze d dq  Zf d dr  Zg ds   Zh dt   Zi du   Zj dv   Zk e j e9 e9 dw dx dy dz d{ d| g   Zl d}   Zm d~   Zn d   Zo d   Zp d   Zq d   Zr d  d  Zs d   Zt d   Zu d   Zv d   Zw d   Zx d  d  Zy e j e9 e9 d d d g   Zz d   Z{ d   Z| d   Z} d   Z~ e j e9 e9 d d| d g   Z d   Z d   Z d   Z d   Z e d  Z e+ e d  Z d   Z d   Z e j e9 e9 d< d@ d= d? g   Z d   Z d   Z e+ e d  Z d   Z d   Z d   Z d   Z e d  Z d   Z d  d  Z d  d  Z d   Z d   Z d   Z d  d  Z d  d  Z e&   d  Z e d  Z d d  Z d  d  d d  Z d   Z e j e9 e9 d d d g   Z d d  Z d d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z e j e9 e9 d d d d d d g   Z e j e i dd 6dd 6dd 6dd 6dd 6dd 6dd 6 Z e j e9 e9 d d d d g   Z e j e9 e e Be9 e  B Z e j e9 e9 d d d d g   Z d   Z d   Z e&   d  d  d  d  d  d  d  Z d   Z d   Z e j e9 e9 d d d d d d d d d d d d d d d> dB d? d= d@ d< d d d d{ d g   Z d   Z d   Z d   Z d   Z e j e9 e9 d d d dw dz g   Z e&   d  d  d  d  d d  Z d   Z d  d  d  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 e d  Z dw d d Z d d Z d  Z d  Z d  Z d  Z d  Z d  Z d	  Z d e& d
 Z e j e e j d j  Z d  Z e& d Z d  Z d  Z d  Z d d Z d S(  i    (   t   absolute_importNt   Nodest	   ExprNodest   EncodedStringt   bytes_literalt   StringEncodingt   FileSourceDescriptort   lookup_unicodechart   Futuret   Optionst   errort   warningt   Builtint
   ModuleNodet   Utilst   ret   _unicodet   _bytest   partialt   reducet   _IS_PY3(   t   StringIO(   t   lookup(   R   R   i   (   t   PyrexScannerR   t   StringSourceDescriptor(   R   (   R   (   R   (   R   (   R   R   R   R   (   R   (   R
   R   i   (   R   (   R   (   R	   i   t   Ctxc           B@  sV   e  Z d  Z d Z d Z d Z d Z d Z d Z d Z
 d Z e Z d   Z d   Z RS(   t   othert   privatei    c         K@  s   |  j  j |  d  S(   N(   t   __dict__t   update(   t   selft   kwds(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   __init__4   s    c         K@  s3   t    } | j } | j |  j  | j |  | S(   N(   R   R   R   (   R   R   t   ctxt   d(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   __call__7   s
    		N(   t   __name__t
   __module__t   levelt
   visibilityt	   cdef_flagt   typedef_flagt   apit   overridablet   nogilt   Nonet	   namespacet	   templatest   Falset   allow_struct_enum_decoratorR    R#   (    (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR   '   s   	s   Expected an identifierc         C@  s7   |  j  d k r& |  j } |  j   | S|  j |  d  S(   Nt   IDENT(   t   syt   systringt   nextR
   (   t   st   messaget   name(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_ident?   s
    	
c         C@  sW   g  } xJ |  j  d k rR | j |  j  |  j   |  j  d k rE Pn  |  j   q	 W| S(   NR2   t   ,(   R3   t   appendR4   R5   (   R6   t   names(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_ident_listG   s    
c         C@  s)   |  j    } |  j } |  j   | | f S(   N(   t   positionR3   R5   (   R6   t   post   op(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_binop_operatorW   s    	
c         C@  s   | |   } x |  j  | k r t |   \ } } | |   } t j | | | |  } | d k r t j |  j j k r t | _	 q d  | _	 q q W| S(   Nt   /(   R3   RA   R   t
   binop_nodeR   t   divisiont   contextt   future_directivest   Truet   truedivisionR-   (   R6   t   opst
   p_sub_exprt   n1R@   R?   t   n2(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_binop_expr]   s    c      
   C@  s   |  j    } |  j   |  j d k r8 g  } d  } } n! t |  d d d t \ } } } |  j d  | r{ t |   } n t |   } t	 j
 | d | d | d | d | S(   Nt   :t
   terminatort	   annotatedt   argst   star_argt   starstar_argt   result_expr(   R>   R5   R3   R-   t   p_varargslistR0   t   expectt   p_testt   p_test_nocondR   t
   LambdaNode(   R6   t   allow_conditionalR?   RQ   RR   RS   t   expr(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt	   p_lambdefl   s    
c         C@  s   t  |  d t S(   NRZ   (   R\   R0   (   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_lambdef_nocond   s    c         C@  s   |  j  d k r t |   S|  j   } t |   } |  j  d k r |  j   t |   } |  j d  t |   } t j | d | d | d | S| Sd  S(   Nt   lambdat   ift   elset   testt   true_valt	   false_val(	   R3   R\   R>   t	   p_or_testR5   RV   RW   R   t   CondExprNode(   R6   R?   R[   Ra   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRW      s    

c         C@  s'   |  j  d k r t |   St |   Sd  S(   NR^   (   R3   R]   Rd   (   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRX      s    
c         C@  s   t  |  d t  S(   Nt   or(   s   or(   t   p_rassoc_binop_exprt
   p_and_test(   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRd      s    c         C@  sk   | |   } |  j  | k rg |  j   } |  j  } |  j   t |  | |  } t j | | | |  } n  | S(   N(   R3   R>   R5   Rg   R   RC   (   R6   RI   t	   p_subexprRK   R?   R@   RL   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRg      s    	
c         C@  s   t  |  d t  S(   Nt   and(   s   and(   Rg   t
   p_not_test(   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRh      s    c         C@  sL   |  j  d k r> |  j   } |  j   t j | d t |   St |   Sd  S(   Nt   nott   operand(   R3   R>   R5   R   t   NotNodeRk   t   p_comparison(   R6   R?   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRk      s
    
c         C@  s   t  |   } |  j t k r |  j   } t |   } t  |   } t j | d | d | d | } |  j t k r t |   | _ q n  | S(   Nt   operatort   operand1t   operand2(	   t   p_starred_exprR3   t   comparison_opsR>   t   p_cmp_opR   t   PrimaryCmpNodet   p_cascaded_cmpt   cascade(   R6   RK   R?   R@   RL   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRo      s    c         C@  s'   |  j  d k r t |   St |   Sd  S(   Nt   *(   R3   Rs   RW   (   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_test_or_starred_expr   s    
c         C@  s_   |  j    } |  j d k r. t } |  j   n t } t |   } | r[ t j | |  } n  | S(   NRy   (   R>   R3   RG   R5   R0   t
   p_bit_exprR   t   StarredUnpackingNode(   R6   R?   t   starredR[   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRs      s    c         C@  sd   |  j    } t |   } t |   } t j | d | d | } |  j t k r` t |   | _ n  | S(   NRp   Rr   (	   R>   Ru   Rs   R   t   CascadedCmpNodeR3   Rt   Rw   Rx   (   R6   R?   R@   RL   t   result(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRw      s    c         C@  s   |  j  d k r/ |  j   |  j d  d } nW |  j  d k rs |  j   |  j  d k rj |  j   d } q d } n |  j  } |  j   | d k r d } n  | S(   NRl   t   int   not_int   ist   is_nots   <>s   !=(   R3   R5   RV   (   R6   R@   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRu      s    
	

			
	t   <t   >s   ==s   >=s   <=s   <>s   !=R   R   Rl   c         C@  s   t  |  d t  S(   Nt   |(   R   (   RM   t
   p_xor_expr(   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR{     s    c         C@  s   t  |  d t  S(   Nt   ^(   R   (   RM   t
   p_and_expr(   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR     s    c         C@  s   t  |  d t  S(   Nt   &(   R   (   RM   t   p_shift_expr(   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR     s    c         C@  s   t  |  d t  S(   Ns   <<s   >>(   s   <<s   >>(   RM   t   p_arith_expr(   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR     s    c         C@  s   t  |  d t  S(   Nt   +t   -(   R   R   (   RM   t   p_term(   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR     s    c         C@  s   t  |  d t  S(   NRy   t   @RB   t   %s   //(   Ry   R   RB   R   s   //(   RM   t   p_factor(   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR     s    c         C@  s
   t  |   S(   N(   t	   _p_factor(   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR     s    c         C@  s   |  j  } | d	 k rM |  j  } |  j   } |  j   t j | | t |    S|  j s | d k r |  j   } |  j   t |   } t j | d | S| d k r t |   S| d k r |  j	 d k r t
 |   Sn  t |   S(
   NR   R   t   ~R   Rm   R   R2   t   sizeof(   R   R   R   (   R3   R>   R5   R   t	   unop_nodeR   t   in_python_filet   AmpersandNodet
   p_typecastR4   t   p_sizeoft   p_power(   R6   R3   R@   R?   t   arg(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR   #  s"    		
	

c   	   
   C@  s#  |  j    } |  j   t |   } t | t j  } t | t j  } t | t j  } | r | r | r | j d  k r |  j
 d  n  t |  d d } |  j d k r |  j   d } n d } |  j d  t |   } | r t j | d | d | St j | d	 | d
 | d | d | S(   Ns   Unknown typet   emptyi   t   ?i    R   t   base_type_nodeRm   t	   base_typet
   declaratort	   typecheck(   R>   R5   t   p_c_base_typet
   isinstanceR   t   MemoryViewSliceTypeNodet   TemplatedTypeNodet   CConstTypeNodeR8   R-   R
   t   p_c_declaratorR3   RV   R   R   t   CythonArrayNodet   TypecastNode(	   R6   R?   R   t   is_memslicet   is_templatet   is_constR   R   Rm   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR   6  s0    

	c         C@  s   |  j    } |  j   |  j d  t |   rS t |   } t j | d | } n9 t |   } t |  d d } t j	 | d | d | } |  j d  | S(   Nt   (Rm   R   i   R   R   t   )(
   R>   R5   RV   t   looking_at_exprRW   R   t   SizeofVarNodeR   R   t   SizeofTypeNode(   R6   R?   Rm   t   nodeR   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR   S  s    
c         C@  s   |  j    } |  j   t } |  j d k r> t } |  j   n  |  j d k r} |  j t k r} | rn t |   n	 t |   } n( | r |  j d d | d t n  d  } | r t
 j | d | St
 j | d | Sd  S(   Nt   fromR   s'   'yield from' requires a source argumentR?   t   fatalR   (   R>   R5   R0   R3   RG   t   statement_terminatorsRW   t
   p_testlistR
   R-   R   t   YieldFromExprNodet   YieldExprNode(   R6   R?   t   is_yield_fromR   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_yield_expressiong  s    
!c         C@  s"   t  |   } t j | j d | S(   NR[   (   R   R   t   ExprStatNodeR?   (   R6   t
   yield_expr(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_yield_statement}  s    c         C@  s   |  j  d k rM d | j k r. |  j d  n  | j |  _ t |  | d t S| rc |  j d  nU |  j  d k r t |  d t S|  j  d k r |  j   t |  d t S|  j d	  d  S(
   Nt   deft   pxds   def statement not allowed heret   is_async_defs7   Decorators can only be followed by functions or classest   fort   is_asynct   withs2   expected one of 'def', 'for', 'with' after 'async'(   R3   R&   R
   t   p_def_statementRG   t   p_for_statementR5   t   p_with_items(   R6   R!   t
   decorators(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_async_statement  s    
c         C@  s   |  j  d k r/ |  j   d d k r/ t |   Sd  } |  j d k r] |  j   } |  j   n  t |   } x" |  j d
 k r t |  |  } ql W| r t	 j
 | d | } n  |  j d	 k r |  j   } |  j   t |   } t	 j | d	 | |  } n  | S(   Nt   newi    R2   t   awaitR   t   [t   .R   s   **(   R   R   R   (   R4   t   peekt
   p_new_exprR-   R3   R>   R5   t   p_atomt	   p_trailerR   t   AwaitExprNodeR   RC   (   R6   t	   await_posRK   R?   RL   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR     s"    %

c         C@  s>   |  j    } |  j   t |   } t |  t j | d |  S(   Nt   cppclass(   R>   R5   R   t   p_callR   t   NewExprNode(   R6   R?   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR     s    
c         C@  sw   |  j    } |  j d k r( t |  |  S|  j d k rD t |  |  S|  j   t |   } t j | d | d | Sd  S(   NR   R   t   objt	   attribute(   R>   R3   R   t   p_indexR5   R9   R   t   AttributeNode(   R6   t   node1R?   R8   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR     s    
c   
      C@  sd  |  j    } |  j   g  } g  } t } t } x|  j d k r|  j d k r | rq |  j d d |  j    n  |  j   | j t |    t } n!|  j d k r |  j   | j t |    t } n t |   } |  j d k rb|  j   | j s|  j d d | j	 n  |  j
 j | j  } t j | j	 d | }	 t |   } | j |	 | f  nV | r|  j d d | j	 n  | r| r| d	 j |  n | j | g  t } |  j d
 k rPn  |  j   q1 W|  j d k rD| rD| rDt |  d k rAt | d  d k rAt |  | d d  g g } qAqDn  |  j d  | p]g  g | f S(   NR   Ry   s%   Non-keyword arg following keyword argR?   s   **t   =s!   Expected an identifier before '='t   valueiR:   R   i   i    (   R>   R5   R0   R3   R
   R;   RW   RG   t   is_nameR?   RE   t   intern_ustringR8   R   t   IdentifierStringNodet   lent   p_genexpRV   (
   R6   t   allow_genexpR?   t   positional_argst   keyword_argst   starstar_seent   last_was_tuple_unpackR   t   encoded_namet   keyword(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_call_parse_args  sV    

	
	
	(&c      	   C@  s  d  } g  | D]? } t | t  r7 t j |  d | n t j |  d | ^ q } t t t j |  d  |  } | rg  } g  } x | D] }	 t |	 t	  r |	 \ }
 } | j
 t j d |
 j d |
 d |   q |	 j r | j |	 j  q | r)| j
 t j | d j d | d	 t  g  } n  | j
 |	  q W| rl| j
 t j | d j d | d	 t  n  | rt |  d
 k r| d j r| d } qt j |  d | } qn  | | f S(   NRQ   R   R   R?   t   keyR   i    t   key_value_pairst   reject_duplicatesi   R   (   R-   R   t   listR   t	   TupleNodet   AsTupleNodeR   R   RC   t   tupleR;   t   DictItemNodeR?   t   is_dict_literalt   extendR   t   DictNodeRG   R   t   MergedDictNode(   R?   R   R   t   keyword_dictR   t	   subtuplest	   arg_tuplet   kwargst
   dict_itemst   itemR   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_call_build_packed_args  s4    I+		 c         C@  s   |  j    } t |   \ } } | rg t |  d k rg t | d t  rg t j | d | d | d St | | |  \ } } t j | d | d | d | Sd  S(   Ni   i    t   functionRQ   R   R   (	   R>   R   R   R   R   R   t   SimpleCallNodeR   t   GeneralCallNode(   R6   R   R?   R   R   R   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR   )  s    ,c   
      C@  s   |  j    } |  j   t |   \ } } | rx t | d  d k rx | d \ } } t j | d | d | d | } nR t | |  } | r | d }	 n t j | d | }	 t j | d | d |	 } |  j	 d  | S(	   Ni    i   t   baset   startt   stopRQ   t   indext   ](
   R>   R5   t   p_subscript_listR   R   t   SliceIndexNodet   make_slice_nodesR   t	   IndexNodeRV   (
   R6   R  R?   t
   subscriptst   is_single_valueR  R  R   t   indexesR  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR   :  s    
c         C@  sk   t  } t |   g } xI |  j d k r` t } |  j   |  j d k rJ Pn  | j t |    q W| | f S(   NR:   R  (   RG   t   p_subscriptR3   R0   R5   R;   (   R6   R  t   items(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  N  s    
c         C@  s   |  j    } t |  d  } |  j d k r1 | g S|  j   t |  d  } |  j d k rc | | g S|  j   t |  d  } | | | g S(   NRN   R:   R  (   RN   (   RN   R:   R  (   RN   R:   R  (   R>   t   p_slice_elementR3   R5   (   R6   R?   R  R  t   step(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  [  s    


c         C@  s!   |  j  | k r t |   Sd  Sd  S(   N(   R3   RW   R-   (   R6   t
   follow_set(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  k  s    
c         C@  s+   |  j  d  |  j  d  |  j  d  d  S(   NR   (   RV   (   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   expect_ellipsiss  s    c         C@  sW   g  } xJ | D]B } t  |  d k r9 | j | d  q | j t |  |   q W| S(   Ni   i    (   R   R;   t   make_slice_node(   R?   R
  R   t	   subscript(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  x  s    c         C@  sg   | s t  j |   } n  | s0 t  j |   } n  | sH t  j |   } n  t  j |  d | d | d | S(   NR  R  R  (   R   t   NoneNodet	   SliceNode(   R?   R  R  R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s    c   	      C@  s  |  j    } |  j } | d k r |  j   |  j d k rR t j | d g  } n* |  j d k rp t |   } n t |   } |  j d  | S| d k r t |   S| d k r t	 |   S| d k r t
 |   S| d k r t |   t j |  S| d	 k rt |   S| d
 k r:|  j } |  j   t j | d | S| d k rp|  j d  } |  j   t j | d | S| d k rLt |   \ } } } | d k rt j | d | S| d k rt j | d | d | S| d k rt j | d | S| d k rt j | d | S| d k r8t j | d | d | S|  j d |  n | d k r|  j } |  j   | d k rt j |  S| d k rt j | d t S| d k rt j | d t S| d k r|  j rt j |  St |  |  Sn |  j d  d  S(   NR   R   RQ   t   yieldR   t   {t   `R   t   INTt   FLOATR   t   IMAGit   BEGIN_STRINGt   ct   ut   bytes_valuet   bt   ft   valuest    t   unicode_values   invalid string kind '%s'R2   R-   RG   R0   t   NULLs!   Expected an identifier or literal(   R>   R3   R5   R   R   R   t   p_testlist_compRV   t   p_list_makert   p_dict_or_set_makert   p_backquote_exprR  t   EllipsisNodet   p_int_literalR4   t	   FloatNodet   ImagNodet   p_cat_string_literalt   CharNodet   UnicodeNodet	   BytesNodet   JoinedStrNodet
   StringNodeR
   R  t   BoolNodeRG   R0   R   t   NullNodet   p_name(	   R6   R?   R3   R   R   t   kindR   R%  R8   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR     sp    	





	

	
c      
   C@  s  |  j    } |  j } |  j   d } d } xE | d d k rr | d d k r[ | d 7} n
 | d 7} | d  } q. Wd  } | r t } n0 | r | d k s |  j j d k r t } q n  |  j r | r t | d	  n  t	 } n  t
 j | d
 | d | d | d | S(   NR$  iu   UuLlu   Llt   Lt   Ut   LLi   s4   illegal integer literal syntax in Python source filet   is_c_literalR   t   unsignedt   longness(   R>   R4   R5   R-   RG   RE   t   language_levelR   R
   R0   R   t   IntNode(   R6   R?   R   R=  R>  R<  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR,    s2    	

			c         C@  sl   |  j    } |  j rY | |  j k rY |  j j |  } t | |  } | d  k	 rY | Sn  t j | d | S(   NR8   (   R>   t   compile_time_exprt   compile_time_envt   lookup_heret   wrap_compile_time_constantR-   R   t   NameNode(   R6   R8   R?   R   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR7    s    c         C@  s  t  |  } | d  k r% t j |   S| t k r> t j |   St | t  r` t j |  d | St | t	  r t j
 |  d | d | St | t  r t j |  d | d | St | t  r t j |  d t |  St | t  rt | d  } t j |  d | d | St | t  rfg  | D] } t |  |  ^ q%} d  | k r_t j |  d | Sd  Sn8 t rt | t  rt j
 |  d | j d  d | St |  d | | j j f  d  S(   NR   t   constant_resultt   asciiRQ   R9  s4   Invalid type for compile-time constant: %r (type %s)(   t   reprR-   R   R  t   EllipsisR+  R   t   boolR5  t   intR@  t   floatR-  R   R1  R   R   R   R2  R   RD  R   R   t   longt   rstripR
   t	   __class__R$   (   R?   R   t   rept   bvalueR   RQ   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRD    s6    "	c         C@  sZ  |  j    } t |   \ } } } | d k s< |  j d k rI | | | f S| g | g | g } } } d  } } x |  j d k rT|  j    } t |   \ } }	 }
 | d k r t | d  qs nh | | k r*t | | g  t d d g  t d d g  f k rd } q*t | d | | f  qs n  | j |	  | j |
  | j |  qs W| d k sy| d k rd  | k rt t j	 |  |  j
  } n  | d k rt d	 j g  | D] } | d  k	 r| ^ q  } n  | d k rMg  } x^ t | |  D]J \ } } t | t  r$| | 7} q| j t j | d
 t |   qWn  | | | f S(   NR  R  sC   Cannot concatenate char literal with another string or char literalR"  R  R$  sF   Cannot mix string literals of different types, expected %s'', got %s''R!  u    R   (   R!  R  R$  (   R  R$  (   R>   t   p_string_literalR3   R-   R
   t   setR;   R   R   t
   join_bytest   source_encodingR   t   joint   zipR   R   R   R1  (   R6   R?   R8  R   R%  t   bstringst   ustringst	   positionst	   next_kindt   next_bytes_valuet   next_unicode_valueR  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR/    s@    
6		$7)R  c         C@  s   |  j  d k r d  S|  j   } t |  |  \ } } } | d k rf | d k rb |  j d |  n  | S| d k rv | S|  j d  d  S(   NR  R  R"  s   f-string not allowed hereR!  s#   internal parser configuration error(   R3   R-   R>   RR  R
   (   R6   t   required_typeR?   R8  R   R%  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_opt_string_literalE  s    c         C@  s%   x |  D] } | d k r t  Sq Wt S(   Nu   (   RG   R0   (   t   stringR  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   check_for_non_ascii_charactersT  s    c         C@  s   |  j    } t } |  j j d k } t } |  j j d  j   } t t |   t |  k rp |  j	 d  n  d | k r d | k r |  j	 d  n  d | k r d | k r |  j	 d  n  d | k r d | k r |  j	 d	  n  d
 | k } d | k r+t |  d k r"|  j	 d  n  d } nE d | k r@d } n0 d | k rUd } n d | k rjd } n d } | d k r| d  k rt j |  j j k rt j |  j  } d } no | d  k	 r| d k r| } n  | d/ k rt j   } n3 | d k rt j |  j  } n t j |  j  } x(|  j   |  j }	 |  j }
 |	 d k r| j |
  | rN| rNt |
  rNt } qNq*|	 d k r| r| j |
  | r| rt |
  rt } qqN|
 d } | d k r| j t |
 d d   qN| d k r| j |  qN| d k r<| j t j |
   qN| d k rKqN| d k rt |
  d k r| j t |
 d d   q|  j	 d |
 d t qN| d k r| d0 k rd } | d k r%y t t |
 d d !  } Wqt k
 r!|  j	 d  t |
 d d ! j d   qXne t |
  d1 k rst |
 d d  } | d# k r|  j	 d$ |
  d } qn |  j	 d$ |
 d t | d% k r| j  | |
  qqN| j d& |
 d  | rN| rNt |
  rNt } qNq*|	 d' k r| j d  q*|	 d( k rPq*|	 d) k r4|  j	 d* d+ | q*|  j	 d, |	 |  j f  q*W| d k rd  } | j!   } t |  d k rt	 | d- |  qnO | j"   \ } } | r| r| d2 k r|  j	 d. d+ | d t n  d  } n  | d k r	t# |  | |  } n  |  j   | | | f S(3   Ni   s   "'s!   Duplicate string prefix characterR!  R  s*   String prefixes b and u cannot be combinedR"  s*   String prefixes b and f cannot be combineds*   String prefixes u and f cannot be combinedt   rR  i   s+   Invalid string prefix for character literalR$  t   ubt   CHARSt   ESCAPEu   01234567i   u   '"\u   abfnrtvu   
u   xi   i   i   s   Invalid hex escape '%s'R   u   NUuiu   Ns!   Unknown Unicode character name %si   i
   i s   Invalid unicode escape '%s'i    u   \t   NEWLINEt
   END_STRINGt   EOFs   Unclosed string literalR?   s(   Unexpected token %r:%r in string literalu   invalid character literal: %rs0   bytes can only contain ASCII literal characters.(   R  R"  (   R  R"  R$  (   i   i
   (   R  R"  ($   R>   R0   RE   R?  R4   RN  t   lowerR   RS  R
   R-   R   t   unicode_literalsRF   R   t   StrLiteralBuilderRU  t   UnicodeLiteralBuildert   BytesLiteralBuilderR5   R3   R;   Ra  RG   t   append_charvalRK  t   char_from_escape_sequencet   ordR   t   KeyErrorRH  t   lstript   append_uescapet   getchart
   getstringst
   p_f_string(   R6   t   kind_overrideR?   t   is_rawt   is_python3_sourcet    has_non_ascii_literal_characterst   kind_stringR8  t   charsR3   t   systrR  t   chrvalR%  R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRR  [  s    
				-		
		

	%		
c   
      C@  sk  g  } d } t  |  } d } x| | k  r:| | } | d k r-| d | k  r | | d | k r t | | | d ! } | j t j | d |  | d 7} | } q7| d k r |  j d  q7t | | | ! } | j t j | d |  t |  | | | d  \ } }	 | } | j |	  q! | d 7} q! Wt | |  } | j t j | d |  | S(   Ni    s   {}i   R   i   t   }s'   single '}' encountered in format string(   R   R   R;   R   R1  R
   t   p_f_string_expr(
   R6   R%  R?   R#  t   it   sizet   current_literal_startR  t   encoded_strt	   expr_node(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRv    s.    
$
	c      	   C@  s  | } t  |  } d  } } } d  }	 d" }
 d } |
 } t } xt r-| | k rc |  j d  n  | | } | |
 k r| d k r | d 7} q | | k r | r | d | k  r | | d | k r | | d | k r t } |
 } | d 7} q q|
 } q n| d k rd| } | d | k  r | | d | k r | | d | k r t } | d 7} q n | d k r}| d 7} n | d k r| d	 k r| d 8} n~ | d
 k r|  j d  nb | d k r | d k r | d k r| d | k  r| | d d k r| d 7} qA n  | } Pn  | d 7} qA W| | | !j d d  j d d  } | d | d | d | d f } | j   s|  j d  n  | d k r| d 7} | d | k r|  j d  n  | | } | d 7} | | } n  | d k r)t } t } d } | d } xt r| | k r6|  j d  n  | | } | r| r| d k rg| d 7} q| d k r| d k r| d 8} q| } Pqn  | d k r| r| d | k  r| | d | k r| | d | k r| } | d 7} q| s| } qn  | d 7} qW| | | !}	 n  | d k rI|  j d |  n  t d |  } t | | d d |  d |  j	 d | } t
 |  } | d  k	 rt j j |  r|  j d |  n  |	 rt j | d t |  |	 |  } n  | d t j |  j   d | d  | d! | f S(#   Ni   i   i    s'   missing '}' in format string expressions   \i   s   '"s   {[(s   }])t   #s   format string cannot include #s   !:}t   !R   s   
s   
s   s(   empty expression not allowed in f-strings(   invalid conversion char at end of stringRN   s   missing '}' in format specifierR  R  s4   missing '}' in format string expression', found '%s's   (%s)t   parent_scannerRU  t   initial_poss!   invalid conversion character '%s'R#  R   t   conversion_chart   format_speci   @(   R   R-   R0   RG   R
   t   replacet   stripR   R   RU  R   R   t   FormattedValueNodet   find_conversion_funcR3  Rv  R>   (   R6   R%  R?   t   starting_indexR  R  R  t   terminal_charR  t   format_spec_strt   NO_CHARt   nested_deptht
   quote_chart   in_triple_quotesR  t   expr_strt   expr_post	   in_stringt   start_format_spect   buft   scannerR[   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s    	
880
%#



	
?($c         C@  s2  |  j    } |  j   |  j d k rE |  j d  t j | d g  St |   } |  j d k r | j ry |  j d  n  t j	 | d | } t
 |  |  } |  j d  t j | d | d | d t j d	 |  j j d
 k S|  j d k r	|  j   t |  |  } n	 | g } |  j d  t j | d | S(   NR  RQ   R   s2   iterable unpacking cannot be used in comprehensionR[   t   loopR;   t   typet   has_local_scopei   R:   (   R>   R5   R3   RV   R   t   ListNodeRz   t
   is_starredR
   t   ComprehensionAppendNodet
   p_comp_fort   ComprehensionNodeR   t	   list_typeRE   R?  t   p_test_or_starred_expr_list(   R6   R?   R[   R;   R  t   exprs(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR(  |  s*    
	
	c         C@  s@   |  j  d k r t |  |  S|  j  d k r8 t |  |  S| Sd  S(   NR   R_   (   R3   R  t	   p_comp_if(   R6   t   body(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_comp_iter  s
    c         C@  sW   |  j    } |  j   t |  d t } | j d d  d t |  |   t j | |  S(   Nt   allow_testlistt   else_clauseR  (	   R>   R5   t   p_for_boundsR0   R   R-   R  R   t   ForStatNode(   R6   R  R?   t   kw(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s
    
c         C@  s\   |  j    } |  j   t |   } t j | d t j | d | d t |  |  g d d  S(   Nt
   if_clausest	   conditionR  R  (   R>   R5   RX   R   t
   IfStatNodet   IfClauseNodeR  R-   (   R6   R  R?   Ra   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s    
c         C@  sf  |  j    } |  j   |  j d k rB |  j   t j | d g  Sg  } d } t } xt r
|  j d k r%| d k r |  j d k r d n d } nD | t |  j  k r |  j d |  j | d k r d	 n d
 f  n  |  j   |  j d k r|  j d  n  t	 |   } | j
 |  t } n t |   } | d k r[|  j d k rRd n d } n  | d k r|  j d  | } t |   } t j | j d | d | } n  | r| d j
 |  n | j
 | g  t } |  j d k r|  j   |  j d k rPqqW PqW W|  j d k rxt |  d k rt | d t  rt | d  d k r| d d } | d k rt | t j  st t |    t j } t j | j d | j d | j }	 n! t j } t j | j d | }	 t |  |	  }
 |  j d  t j | d |
 d |	 d | St |  d k rUt | d t  rU|  j d  n |  j d  t j | d g  Sn  |  j d  | d k r{g  } g  } xl | D]d } t | t  r| j |  q| r| j
 t j | d j d |  g  } n  | j
 |  qW| r8| j
 t j | d j d |  n  t |  d k r_| d j r_| d St j | d | d t j Sg  } g  } xl | D]d } t | t  r| j |  q| r| j
 t j | d j d |  g  } n  | j
 |  qW| r"| j
 t j | d j d |  n  t |  d k rI| d j  rI| d St j! | d | d t Sd  S(   NR  R   i    Ry   s   **i   i   s%   unexpected %sitem found in %s literalRS  t   dicts   expected expression, found '*'RN   R   R   iR:   R   t   key_exprt
   value_exprR[   R  R;   R  s2   iterable unpacking cannot be used in comprehensionRQ   R   R   (   Ry   s   **("   R>   R5   R3   R   R   R0   RG   R   R
   Rs   R;   RW   RV   R   R?   R   R   t   AssertionErrorR  R   t	   dict_typet   DictComprehensionAppendNodeR   R   t   set_typeR  R  R  R   t   SetNodet   is_set_literalt   MergedSequenceNodeR   R   (   R6   R?   t   partst   target_typet   last_was_simple_itemR   R   R   t   comprehension_typeR;   R  R  t	   set_itemst   partR   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR)    s    

		&
	!
;$	!	&#	&#	&c         C@  s   |  j    } |  j   t |   g } x0 |  j d k rW |  j   | j t |    q( W|  j d  t |  d k r | d } n t j | d | } t j	 | d | S(   NR:   R  i   i    RQ   R   (
   R>   R5   RW   R3   R;   RV   R   R   R   t   BackquoteNode(   R6   R?   RQ   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR*  *  s    

c         C@  se   | d  k	 r | g p g  } xC |  j t k r` | j t |    |  j d k rS Pn  |  j   q W| S(   NR:   (   R-   R3   t   expr_terminatorsR;   RW   R5   (   R6   R[   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_simple_expr_list9  s    c         C@  se   | d  k	 r | g p g  } xC |  j t k r` | j t |    |  j d k rS Pn  |  j   q W| S(   NR:   (   R-   R3   R  R;   Rz   R5   (   R6   R[   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  C  s    c         C@  s[   |  j    } t |   } |  j d k rS |  j   t |  |  } t j | d | S| Sd  S(   NR:   RQ   (   R>   RW   R3   R5   R  R   R   (   R6   R?   R[   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR   O  s    
c         C@  s[   |  j    } t |   } |  j d k rS |  j   t |  |  } t j | d | S| Sd  S(   NR:   RQ   (   R>   Rz   R3   R5   R  R   R   (   R6   R?   R[   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_testlist_star_expr[  s    
c         C@  sw   |  j    } t |   } |  j d k rS |  j   t |  |  } t j | d | S|  j d k ro t |  |  S| Sd  S(   NR:   RQ   R   (   R>   Rz   R3   R5   R  R   R   R   (   R6   R?   R[   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR'  g  s    
c      	   C@  sI   t  |  t j | j d t j | j d |  } t j | j d | S(   NR[   R   R  (   R  R   R   R?   R   R   t   GeneratorExpressionNode(   R6   R[   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR   s  s    'R   R  R  RN   R   Rf  c         C@  s5   |  j    } |  j   t |   } t j | d | S(   NR<   (   R>   R5   R=   R   t
   GlobalNode(   R6   R?   R<   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_global_statement  s    
c         C@  s5   |  j    } |  j   t |   } t j | d | S(   NR<   (   R>   R5   R=   R   t   NonlocalNode(   R6   R?   R<   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_nonlocal_statement  s    
c      	   C@  s2  t  |   g } |  j d k rH | d j rH |  j d d | d j n  xT |  j d k r |  j   |  j d k r t |   } n t  |   } | j |  qK Wt |  d k rt	 j
 d |  j  r| d } t | t j  rt j | j d | j d	 t | j | j | j  } n4 t | t j t j t j f  sOt | j d
  n  |  j d  } |  j   |  j d k rt |   } n t |   } t j | j d | d | d | S| d } t j | j d | S| d } t |  d k rt j | j d | d d | St j | j d | d  d | Sd  S(   NR   i    sq   a starred assignment target must be in a list or tuple - maybe you meant to use an index assignment: var[0] = ...R?   R  i   s   ([-+*/%^&|]|<<|>>|\*\*|//|@)=R  R  s&   Illegal operand for inplace operation.iRp   t   lhst   rhsR[   i   t   lhs_list(   R  R3   R  R
   R?   R5   R   R;   R   R   t   matchR   R   R  R	  R  R  R  R  R   RE  R   R   t   InPlaceAssignmentNodeR   t   SingleAssignmentNodet   CascadedAssignmentNode(   R6   t	   expr_listR[   R  Rp   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_expression_or_assignment  s@    

		!!
"

 c         C@  s!  |  j    } d } |  j   |  j d k ro |  j   t |   } |  j d k ru |  j   |  j d k } qu n d  } g  } |  j d k r | j t |    xL |  j d k r |  j   |  j d k r d } Pn  | j t |    q Wn  t j | d | } t j	 | d | d	 | d
 | S(   Ni    s   >>R:   Rf  Rh  i   RQ   R   t   streamt   append_newline(   s   NEWLINEs   EOF(   s   NEWLINEs   EOF(   s   NEWLINEs   EOF(
   R>   R5   R3   RW   R-   R;   R   R   R   t   PrintStatNode(   R6   R?   t   ends_with_commaR  RQ   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_print_statement  s.    



c         C@  s#  |  j    } |  j   t |   } t | t j  r t } | j } t |  d
 k r |  j	 d t |  d | d t
 | g } q n t
 } | g } |  j d k r| r |  j	 d d t
 n  |  j   | j t |    |  j d k r|  j   | j t |    qn  t j | d	 | S(   Ni   i   s.   expected tuple of length 2 or 3, got length %dR?   R   R   s@   tuple variant of exec does not support additional 'in' argumentsR:   RQ   (   i   i   (   R>   R5   R{   R   R   R   RG   RQ   R   R
   R0   R3   R;   RW   R   t   ExecStatNode(   R6   R?   t   codet   tuple_variantRQ   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_exec_statement  s,    
		


c         C@  s5   |  j    } |  j   t |   } t j | d | S(   NRQ   (   R>   R5   R  R   t   DelStatNode(   R6   R?   RQ   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_del_statement  s    
c         C@  sB   |  j    } |  j d  | r5 |  j d d t n  t j |  S(   Nt   passs   Expected a newlinet   ignore_semicolon(   R>   RV   t   expect_newlineRG   R   t   PassStatNode(   R6   t   with_newlineR?   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_pass_statement  s
    c         C@  s#   |  j    } |  j   t j |  S(   N(   R>   R5   R   t   BreakStatNode(   R6   R?   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_break_statement  s    
c         C@  s#   |  j    } |  j   t j |  S(   N(   R>   R5   R   t   ContinueStatNode(   R6   R?   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_continue_statement	  s    
c         C@  sM   |  j    } |  j   |  j t k r4 t |   } n d  } t j | d | S(   NR   (   R>   R5   R3   R   R   R-   R   t   ReturnStatNode(   R6   R?   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_return_statement  s    
c      
   C@  s  |  j    } |  j   d  } d  } d  } d  } |  j t k r t |   } |  j d k r |  j   t |   } |  j d k r |  j   t |   } q q |  j d k r |  j   t |   } q n  | s | s | r t j | d | d | d | d | St j |  Sd  S(   NR:   R   t   exc_typet	   exc_valuet   exc_tbt   cause(	   R>   R5   R-   R3   R   RW   R   t   RaiseStatNodet   ReraiseStatNode(   R6   R?   R  R  R  R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_raise_statement  s0    



c         C@  s  |  j    } |  j } |  j   t |  d d g } x6 |  j d k rl |  j   | j t |  d d  q7 Wg  } t j |  j j k } x| D]\ } } } } | d k r t	 j
 | d | d | d | }	 n | rd | k rt j | d	 t j | d
 |  j j d  g }
 n d  }
 t	 j | d t j | d | p@| d t j | d t j | d
 | d | rsd n d  d |
 }	 | j |	  q Wt	 j | d | S(   Nt
   as_allowedi   R:   t   cimportt   module_namet   as_namet   is_absoluteR   RQ   R   Ry   R  R8   R  R&   i    t	   name_listt   stats(   R>   R3   R5   t   p_dotted_nameR;   R   R    RE   RF   R   t   CImportStatNodeR   R  R   R   R-   R  RE  t
   ImportNodet   StatListNode(   R6   R?   R8  R  R  R  t   target_namet   dotted_nameR  t   statR  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_import_statement6  s<    	

*c         C@  s  |  j    } |  j   |  j d k rX d } x0 |  j d k rT | d 7} |  j   q. Wn d  } | d  k	 r |  j d k r |  j    |  j j d  } } nH | d  k r t j |  j j k r d } n  t	 |  d t
 \ } } } } |  j d k r|  j d  n  |  j } |  j   | d k } t
 }	 |  j d	 k rj|  j    |  j j d	  d  d  f g }
 |  j   n4 |  j d
 k rt }	 |  j   n  t |  |  g }
 xL |  j d k r|  j   |	 r|  j d k rPn  |
 j t |  |   qW|	 r|  j d  n  | d k r| s%|  j d  n | r;|  j d  n x |
 D] \ } } } } | d k rt|  j d |  Pn  y t t |  } Wn& t k
 r|  j d | |  Pn X|  j j j |  qBWt j |  S| d k rt j | d | d | d |
 Sg  } g  } x^ |
 D]V \ } } } } | j t j | d |  | j | t j | d | p^| f  qWt j |
 d d d | } t j | d t j | d t j | d | d | d | d | Sd  S(   NR   i    i   t   importR  R$  R  s   Expected 'import' or 'cimport'Ry   R   R:   R   t
   __future__s?   from __future__ imports must occur at the beginning of the files   invalid syntaxt   bracess   not a chances    future feature %s is not definedR  t   relative_levelt   imported_namesR   R8   RQ   t   moduleR&   R  R  (   s   imports   cimport(   s   imports   cimport(   R>   R5   R3   R-   RE   R   R   R    RF   R  R0   R
   RG   t   p_imported_nameR;   RV   t   getattrt   AttributeErrort   addR   R  t   FromCImportStatNodeR   R   RE  R  t   FromImportStatNodeR  (   R6   t   first_statementR?   R&   t   dotted_name_posR   t   _R8  t
   is_cimportt   is_parenthesizedR  t   name_posR8   R  t	   directivet   imported_name_stringsR  t   import_list(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_from_import_statementZ  s    

"!		
'
&	t   classt   structt   unionc         C@  se   |  j    } d  } | r= |  j t k r= |  j } |  j   n  t |   } t |   } | | | | f S(   N(   R>   R-   R4   t   imported_name_kindsR5   R9   t	   p_as_name(   R6   R  R?   R8  R8   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR	    s    	c         C@  s   |  j    } t |   } d  } | g } x0 |  j d k rY |  j   | j t |    q* W| ro t |   } n  | | |  j j d j	 |   | f S(   NR   u   .(
   R>   R9   R-   R3   R5   R;   R  RE   R   RV  (   R6   R  R?   R  R  R<   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s    	
c         C@  s:   |  j  d k r2 |  j d k r2 |  j   t |   Sd  Sd  S(   NR2   t   as(   R3   R4   R5   R9   R-   (   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s    

c         C@  si   |  j    } |  j   t |   } |  j d k rJ |  j   t |   } n d  } t j | d | d | S(   NR:   t   condR   (   R>   R5   RW   R3   R-   R   t   AssertStatNode(   R6   R?   R  R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_assert_statement  s    

t   ;Rh  c         C@  s}   |  j    } |  j   t |   g } x0 |  j d k rW |  j   | j t |    q( Wt |   } t j | d | d | S(   Nt   elifR  R  (   R>   R5   t   p_if_clauseR3   R;   t   p_else_clauseR   R  (   R6   R?   R  R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_if_statement  s    

c         C@  s=   |  j    } t |   } t |   } t j | d | d | S(   NR  R  (   R>   RW   t   p_suiteR   R  (   R6   R?   Ra   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR$    s
    c         C@  s+   |  j  d k r# |  j   t |   Sd  Sd  S(   NR`   (   R3   R5   R'  R-   (   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR%    s    

c         C@  sY   |  j    } |  j   t |   } t |   } t |   } t j | d | d | d | S(   NR  R  R  (   R>   R5   RW   R'  R%  R   t   WhileStatNode(   R6   R?   Ra   R  R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_while_statement  s    
c         C@  sr   |  j    } |  j   t |  d t d | } t |   } t |   } | j d | d | d |  t j | |  S(   NR  R   R  R  (	   R>   R5   R  RG   R'  R%  R   R   R  (   R6   R   R?   R  R  R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR     s    
c         C@  s  t  |   } |  j d k rM |  j   t |  | d | } t d | d |  S|  j r| r|  j d k r |  j   t |   } n | d  } } t |   } |  j	   } t
 |   } |  j	   }	 t |   }
 t |   } t |   } | d  k rt j | d | } n; | j s't | j d  n | | j k rFt | d  n  | d	 |
 d	 k rjt |	 d
  n  t d | d | d | d |
 d | d |  S|  j d  i  Sd  S(   NR   R   t   targett   iteratorR   R8   s4   Target of for-from statement must be a variable names5   Variable name in for-from range does not match targeti    s,   Relation directions in for-from do not matcht   bound1t	   relation1t	   relation2t   bound2R  (   t   p_for_targetR3   R5   t   p_for_iteratorR  R   R{   R-   t   p_for_from_relationR>   R9   t   p_for_from_stepR   RE  R   R
   R?   R8   RV   (   R6   R  R   R*  R+  R,  t   rel1t	   name2_post   name2t   rel2_post   rel2R/  R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    sH    

		


c         C@  s7   |  j  t k r& |  j  } |  j   | S|  j d  d  S(   Ns#   Expected one of '<', '<=', '>' '>='(   R3   t   inequality_relationsR5   R
   (   R6   R@   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR2  8  s
    	
c         C@  s@   |  j  d k r8 |  j d k r8 |  j   t |   } | Sd  Sd  S(   NR2   t   by(   R3   R4   R5   R{   R-   (   R6   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR3  @  s
    
c         C@  s   |  j    } t |   } |  j d k r |  j   | g } xC |  j | k r | j t |    |  j d k rr Pn  |  j   q= Wt j | d | S| Sd  S(   NR:   RQ   (   R>   Rs   R3   R5   R;   R   R   (   R6   RO   R?   R[   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_targetJ  s    
	c         C@  s   t  |  d  S(   NR   (   R;  (   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR0  Z  s    c         C@  sO   |  j    } | r! t |   } n t |   } | r< t j n t j | d | S(   Nt   sequence(   R>   R   Rd   R   t   AsyncIteratorNodet   IteratorNode(   R6   R  R   R?   R[   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR1  ^  s
    c         C@  s  |  j    } |  j   t |   } g  } d  } |  j d	 k r x& |  j d k re | j t |    q@ W|  j d k r |  j   t |   } n  t j | d | d | d | } |  j d k r | Sn  |  j d k r|  j   t |   } t j	 | d | d | S|  j
 d  d  S(
   Nt   exceptR`   R  t   except_clausesR  t   finallyt   finally_clauses   Expected 'except' or 'finally'(   s   excepts   else(   R>   R5   R'  R-   R3   R;   t   p_except_clauseR   t   TryExceptStatNodet   TryFinallyStatNodeR
   (   R6   R?   R  R@  R  RB  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_try_statementg  s,    

	
c      
   C@  sT  |  j    } |  j   d  } d  } t } |  j d k r#t |   } t | t j  ra | j	 } n	 | g } |  j d k s |  j d k r |  j
 d k r |  j j d k r |  j   t |   } q#|  j d k r#|  j
 d k r#|  j   |  j    } t |   } t j | d | } t } q#n  t |   } t j | d | d | d	 | d
 | S(   NRN   R:   R2   R  i   R8   t   patternR*  R  t   is_except_as(   R>   R5   R-   R0   R3   RW   R   R   R   RQ   R4   RE   R?  R9   RE  RG   R'  R   t   ExceptClauseNode(   R6   R?   R  R  RH  t   pos2R8   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRC    s0    
	-

c   
      C@  s   |  j    } |  j   t |  d  d } |  j d  |  j r | } |  j j | |  } | r |  j j |  t	 j
 |  F } t |  } t | | |  d | j d |  j } t | |  }	 Wd  QX|	 Sd  Sn t j |  Sd  S(   NR  i   s!   Syntax error in include statementRU  t   parse_comments(   R>   R5   RR  R  t   compile_time_evalRE   t   find_include_filet   included_filesR;   R   t   open_source_fileR   R   t   encodingRK  t   p_statement_listR-   R   R  (
   R6   R!   R?   t   unicode_include_file_namet   include_file_namet   include_file_pathR"  t   source_desct   s2t   tree(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_include_statement  s     
	$c         C@  sB   |  j    |  j d k r2 |  j r2 t |   } n t |   } | S(   Nt   template(   R5   R4   R   t   p_with_templateR   (   R6   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_with_statement  s
    
c      
   C@  sR  |  j    } |  j r |  j d k r |  j d k r | rJ |  j d  n  |  j } |  j   |  j d k r |  j   t |   } n t |   } t j	 | d | d | St
 |   } d  } |  j d k r |  j d k r |  j   t |   } n  |  j d k r!|  j   t |  d	 | } n t |   } t j | d
 | d | d | d	 | S(   NR2   R,   t   gils   with gil/nogil cannot be asyncR:   t   stateR  R  R   t   managerR*  (   s   nogils   gil(   R>   R   R3   R4   R
   R5   R   R'  R   t   GILStatNodeRW   R-   Rs   t   WithStatNode(   R6   R   R?   R]  R  R^  R*  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR     s*    (	



c         C@  s   |  j    } g  } |  j   |  j d  | j |  j  |  j   x7 |  j d k r| |  j   | j |  j  |  j   qF W|  j d  |  j d k r |  j   |  j d  |  j   t   } | | _	 t
 |  | |  } |  j   | St | d  d  S(   NR   R:   R  RN   s-   Syntax error in template function declaration(   R>   R5   RV   R;   R4   R3   R  t   expect_indentR   R/   t   p_c_func_or_var_declarationt   expect_dedentR
   (   R6   R?   R/   t   body_ctxt   func_or_var(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRZ    s*    




		
c         C@  s  |  j  d k r t |   } n|  j  d k r< t |   } nz|  j  d k rZ t |   } n\|  j  d k rx t |   } n>|  j  d k r t |   } n |  j  d k r t |   } n|  j  d k r t |   } n |  j  d k r t |   } n |  j  d	 k rt	 |   } n |  j  d k r,t
 |   } n |  j  d k rPt |  d | } nf |  j  d k rnt |   } nH |  j  d k rt |   } n* |  j  d k rt |   } n t |   } | S(   Nt   globalt   nonlocalt   printt   exect   delt   breakt   continuet   returnt   raiseR  R  R   R  R  t   assertR  (   s   imports   cimport(   R3   R  R  R  R  R  R  R  R  R  R  R  R   R!  R  R  (   R6   R  R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_simple_statement  s<    c         C@  s  t  |  d | } | j } g  } t | t j  sC | j |  n  xm |  j d k r |  j   |  j d	 k rr Pn  t  |  d | } t | t j  r qF n  | j |  t } qF W| s t j |  } n4 t	 |  d k r | d } n t j
 | d | } |  j d  | S(
   NR  R"  Rf  Rh  i   i    R  s%   Syntax error in simple statement list(   s   NEWLINEs   EOF(   Rp  R?   R   R   R  R;   R3   R5   R0   R   R  R  (   R6   R!   R  R  R?   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_simple_statement_list  s*    	

c         C@  s+   |  j  } d |  _  t |   } | |  _  | S(   Ni   (   RA  R   (   R6   t   oldR[   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_compile_time_expr/  s
    			c         C@  s   |  j    } |  j } |  j   t |   } |  j d  t |   } | j |  } | j | |  |  j d d t	 t
 j |  S(   NR   s   Expected a newlineR  (   R>   RB  R5   R9   RV   Rs  t   compile_time_valuet   declareR  RG   R   R  (   R6   R?   t   denvR8   R[   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_DEF_statement6  s    	
c   	      C@  s  |  j    } |  j } | } |  j } d  } xr |  j   t |   } | o[ t | j |   |  _ t |  |  } |  j r | } d } n  |  j	 d k r- Pq- q- W|  j	 d k r |  j   | |  _ t |  |  } | r | } q n  | s t
 j |  } n  | |  _ | S(   Ni    t   ELIFt   ELSE(   R>   RL  RB  R-   R5   Rs  RJ  Rt  R'  R3   R   R  (	   R6   R!   R?   t
   saved_evalt   current_evalRv  R   R[   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_IF_statementC  s2    		
		
		c   	   	   C@  s  | j  } d  } |  j d k rJ | j d) k r= |  j d  n  t |  |  S|  j d k rc t |   S|  j d k r t |  |  S|  j d k r| j d* k r |  j d  n  | j |  _ t |   } | j	 r7|  j d+ k r7|  j d k r |  j
 d k r q|  j d  q7n% |  j d k r7| r7t |  d d Sd } |  j d k r_d } |  j   n( |  j d k rd } d } |  j   n  | rE| j d, k r|  j d  n  | j |  _ t |  | d |   } | d  k	 rAt j t j t j f } | j	 r| t j t j f 7} n  t | |  s5|  j d  n  | | _ n  | S| j rd|  j d d t n|  j d k rd | j k r| j d k r|  j d  n  | j |  _ t |  |  S|  j d k r| j d- k r|  j d  n  t |  |  S|  j d  k r0| j d. k r#|  j d!  n  t |  |  S| j d	 k rg|  j d k rg|  j
 d k rgt |   S|  j d k r| j d k rt |  d t S| j d/ k rt |   } | d  k	 r| S|  j d"  n  |  j d# k rt |   S|  j d$ k rt |   S|  j d% k rt  |   S|  j d& k r4t! |   S|  j d' k rMt" |   S|  j d k rv|  j   t# |  | |  S|  j d k r|  j
 d k r|  j
 } |  j   |  j d k rt# |  | |  S| r|  j d  n  |  j$ d |  n  t% |  | d( | Sd  S(0   Nt   ctypedefR  t
   module_pxds#   ctypedef statement not allowed heret   DEFt   IFR   R  t   c_classR   t   propertyt   c_class_pxdR   s   decorator not allowed hereR   t   cdeft   cpdefR2   t   asyncs7   Decorators can only be followed by functions or classesR  R  i   i    s   cdef statement not allowed hereR+   s%   'api' not allowed with this statementR   R   s   def statement not allowed heres!   class definition not allowed heret   includes"   include statement not allowed heres%   Executable statement not allowed hereR_   t   whileR   t   tryR   R  (   s   moduleR~  (   s   modules   classR  s   functions   propertyR~  R  s   other(   s   defs   cdefs   cpdefs   class(   s   moduleR~  s   functionR  R  (   s   modules   functions   classs   other(   s   moduleR~  (   R  s   property(&   R(   R-   R3   R&   R
   t   p_ctypedef_statementRw  R|  t   p_decoratorsR1   R4   R  R5   t   p_cdef_statementR   t   CFuncDefNodet   CVarDefNodet   CClassDefNodet   CStructOrUnionDefNodet   CEnumDefNodeR   R   R*   R0   R   t   p_class_statementRX  t   p_property_declRG   t   p_ignorable_statementR&  R)  R   RF  R[  R   t   put_backRq  (	   R6   R!   R  R(   R   R+   R   t   tupt
   ident_name(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_statement^  s    	
		-






	
c         C@  s   |  j    } g  } xS |  j d k rg t |  | d | } t | t j  rQ q n  | j |  t } q W| s{ t j |  St |  d k r | d St j	 | d | Sd  S(   Nt   DEDENTRh  R  i   i    R  (   s   DEDENTs   EOF(
   R>   R3   R  R   R   R  R;   R0   R   R  (   R6   R!   R  R?   R  R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRQ    s    
c         C@  s   t  |  | d t d S(   Nt   with_doc_onlyi   (   t   p_suite_with_docstringR0   (   R6   R!   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR'    s    c         C@  s   |  j  d  d  } |  j d k rg |  j   |  j   | rK t |   } n  t |  |  } |  j   n_ | j r |  j	 d d t
 n  | j d k r t |  |  } n t |   } |  j d	 d
 t | s t |  \ } } n  | | f S(   NRN   Rf  s%   'api' not allowed with this statementR   R  R  R   R   s   Syntax error in declarationsR  (   s   modules   classs   functions   other(   RV   R-   R3   R5   Ra  t   p_doc_stringRQ  Rc  R*   R
   R0   R&   Rq  R  R  RG   t   _extract_docstring(   R6   R!   R  t   docR  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s$    

	c         C@  s<  g  } g  } d } x|  j  | k r1|  j  d k sB |  j  d k rX |  j d d t n  t } |  j  d k r7|  j   d d k r7|  j } |  j   |  j   t |   r t |   } nH t |  d | }	 t	 |  d	 d
 }
 t
 j |	 j d |	 d |
 } t } t j | j d | } | j | | f  t } n t |   rRt |   } nH t |  d | }	 t	 |  d	 d
 }
 t
 j |	 j d |	 d |
 } t } | j |  | d
 7} t |  d k r|  j d d | j n  |  j  d k r$|  j  | k r | r |  j d d j |   q n  Pn  |  j   q W| | f S(   s   
    Parses positional and keyword arguments. end_sy_set
    should contain any s.sy that terminate the argument list.
    Argument expansion (* and **) are not allowed.

    Returns: (positional_args, keyword_args)
    i    Ry   s   **s$   Argument expansion not allowed here.R   R2   R   R/   R   i   R   R   R   s%   Non-keyword arg following keyword argR?   R:   s   Unmatched %ss    or (   R3   R
   R0   R   R4   R5   R   RW   R   R   R   t   CComplexBaseTypeNodeR?   RG   R   R   R;   R   RV  (   R6   t
   end_sy_setR/   R   R   t   pos_idxt   parsed_typet   identR   R   R   t   keyword_nodet   was_keyword(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_positional_and_keyword_args  sP    %	

	
 c         C@  s<   |  j  d k r t |  d | St |  | d | d | Sd  S(   NR   R/   t   nonempty(   R3   t   p_c_complex_base_typet   p_c_simple_base_type(   R6   t	   self_flagR  R/   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR   )	  s    c         C@  s=   |  j  d k r5 |  j t k r5 |  j } |  j   | Sd Sd  S(   NR2   R$  (   R3   R4   t   calling_convention_wordsR5   (   R6   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_calling_convention1	  s
    	
t	   __stdcallt   __cdeclt
   __fastcallc         C@  sQ  |  j    } |  j   t |  d | } t |  d t } t j | d | d | } |  j d k r | g } xv |  j d k r |  j   |  j d k r Pn  t |  d | } t |  d t } | j t j | d | d |  qp Wt j	 | d | } n  |  j
 d  |  j d k rMt |   r8t |  |  } qMt |  | |  } n  | S(	   NR/   R   R   R   R:   R   t
   componentsR   (   R>   R5   R   R   RG   R   R  R3   R;   t   CTupleBaseTypeNodeRV   t   is_memoryviewslice_accesst   p_memoryviewslice_accesst   p_buffer_or_template(   R6   R/   R?   R   R   t	   type_nodeR  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  >	  s.    
	
c         C@  s  d } d } d } d } g  } |  j    }	 |  j d k sP t |	 d |  j  n  |  j d k r |  j   t |  d | d | d | }
 t j |	 d	 |
 St |   rsd } |  j d k r |  j t	 k r t	 |  j \ } } |  j } |  j   nL t
 |   \ } } |  j d k r9|  j t k r9|  j } |  j   n d
 } |  j d k r|  j d k rd } |  j   qnNt |   r|  j } |  j   x,|  j d k r| j |  |  j   t |   } qWn |  j } |  j   | r|  j d k r|  j d k r|  j   |  j d k sZ|  j d k sZ|  j d k sZ|  j d k rm|  j t k rm|  j d d  q|  j d d  |  j d |  d  } q|  j d k r|  j d |  d  } qn  t j |	 d | d | d | d | d | d | d | d | } |  j d k rBt |   r-t |  |  } qBt |  | |  } n  |  j d k r|  j   t |   } t j |	 d	 | d | } n  | S(   Ni    i   R2   s"   Expected an identifier, found '%s't   constR  R  R/   R   RK  t   complexR   R   Ry   s   **R   R   R8   t   module_patht   is_basic_c_typet   signedR>  t   is_self_arg(   Ry   s   **R   R   (   R>   R3   R
   R4   R5   R   R   R   t   looking_at_base_typet   special_basic_c_typest   p_sign_and_longnesst   basic_c_type_namest   looking_at_dotted_nameR;   R9   R  R  R-   t   CSimpleBaseTypeNodeR  R  R  t   CNestedBaseTypeNode(   R6   R  R  R/   t   is_basicR  R>  R  R  R?   R   R8   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  [	  s|    
				

	

-	
c   
      C@  s   |  j    } |  j   t |  d
 |  \ } } |  j d  |  j d k r_ t |  | |  } n  t j | d g  | D]- \ } } t j d | j	 d | d |  ^ qr } t
 j | d | d | d	 | }	 |	 S(   NR  R   R   R?   R   R   R   R   R   (   R  (   R>   R5   R  RV   R3   R  R   R   R   R?   R   R   (
   R6   R   R/   R?   R   R   R   R   R   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  	  s    
:	c         C@  s|   | r | r | S| rJ | rJ t  |   r7 t |  |  St |  | d   Sn. | rx | rx t  |   rq t |  |  S| Sn  d  S(   N(   R  R  R  R-   (   R6   R   R  R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_bracketed_base_type	  s    c         C@  s   |  j  |  j f g } |  j   t } |  j d k r= t } nM |  j  d k r | j |  j  |  j f  |  j   |  j  d k r t } q n  x( | d  d  d  D] } |  j |   q W| S(   NRN   R  i(   R3   R4   R5   R0   RG   R;   R  (   R6   t   savedt   retvalt   sv(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  	  s    
	
c         C@  s   |  j    } |  j   t |   \ } } x0 | D]( } t |  d k  r/ |  j d  q/ q/ W|  j d  t | |  } t j | d | d | } | S(   Ni   sD   An axis specification in memoryview declaration does not have a ':'.R  R   t   axes(	   R>   R5   R  R   R
   RV   R  R   R   (   R6   R   R?   R
  R  R  R  R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  	  s    
	c         C@  s   |  j  d k o |  j t k S(   NR2   (   R3   R4   R  (   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   looking_at_name	  s    c         C@  s  |  j  t k r t S|  j d k rt } |  j  } g  } |  j   x: |  j d k r} |  j   | j |  j   |  j d  qD W|  j |  j  f } |  j d k r t } n |  j d k s |  j d k r |  j   |  j d
 k } |  j |   np |  j d k r'|  j   |  j d k } |  j |   n8 |  j d k r_|  j   |  j d k } |  j |   n  | j	   x. | D]& } |  j d |  |  j d d  qpW|  j d |  | o| d	 St Sd  S(   NR2   R   Ry   s   **R   R  R   R   i    (   R   R  (
   R4   t   base_type_start_wordsR0   R3   R5   R;   RV   RG   R  t   reverse(   R6   t   is_typeR8   t   dotted_pathR  t   p(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR   	  sB    	

	



c         C@  s   |  j  d k o |  j t k S(   NR2   (   R3   R4   R  (   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  '
  s    c         C@  sM   |  j  d k rE |  j } |  j   |  j  d k } |  j d |  | Sd Sd  S(   NR2   R   i    (   R3   R4   R5   R  (   R6   R8   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  +
  s    	
c         C@  sC   |  j  |  j f } t |   d k } | s? | \ |  _  |  _ n  | S(   s   See if we're looking at a.b.c(u   ((   t
   start_linet	   start_colR   (   R6   R>   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   looking_at_call5
  s
    t   voidt   charRK  RL  t   doublet   bintt
   Py_UNICODEt   Py_UCS4t	   Py_hash_tt
   Py_ssize_tt   ssize_tt   size_tt	   ptrdiff_tt   shortRM  R  R=  t   enumt   packedc         C@  s   d } d } x |  j  d k r |  j t k r |  j d k rE d } nL |  j d k r] d } n4 |  j d k ru d } n |  j d	 k r | d 7} n  |  j   q W| | f S(
   Ni   i    R2   R=  R  i   R  iRM  (   R3   R4   t   sign_and_longness_wordsR5   (   R6   R  R>  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  Z
  s    !			c         C@  s@   t  |  d  } | d  k	 r6 t |  } |  j | _ n d  } | S(   NR  (   R_  R-   R   RU  RP  (   R6   t   literalt   cname(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_opt_cnamei
  s    c         C@  s  |  j    } |  j d k r |  j   |  j d k s@ t |   r t j | d |  j j d  d d  }	 t	 |  | | |	 |  }
 q t
 |  | d | d | d | d	 | d
 d }
 |  j d  n t |  | | | | | |  }
 | r|
 j r|  j d k rt |  j    d |
 j  n  xh |  j d k r|  j    } |  j d k rXt |  |
  }
 n" |  j   t	 |  | | |
 |  }
 d } qW|
 S(   NR   R   R8   u    R  R   R  t   cmethod_flagR  t   calling_convention_allowedi   s&   %s on something that is not a functionR   i    (   R   R   (   R>   R3   R5   R  R   t   CNameDeclaratorNodeRE   R   R-   t   p_c_func_declaratorR   RV   t   p_c_simple_declaratort   calling_conventionR
   t   p_c_array_declarator(   R6   R!   R   R  R  t
   assignableR  R  R?   R  R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR   r
  s0    
'	

c         C@  s`   |  j    } |  j   |  j d k r4 t |   } n d  } |  j d  t j | d | d | S(   NR  R  t	   dimension(   R>   R5   R3   R   R-   RV   R   t   CArrayDeclaratorNode(   R6   R  R?   t   dim(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  
  s    
c         C@  s   t  |  | d | d d } t |   } |  j d  t |   } t |   \ } }	 t |   }
 t j | d | d | d | d | d	 |	 d
 | p | j p |
 d |
 S(   NR  t   nonempty_declaratorsi    R   R  RQ   t   has_varargst   exception_valuet   exception_checkR,   t   with_gil(	   t   p_c_arg_listt   p_optional_ellipsisRV   t   p_nogilt   p_exception_value_clauset
   p_with_gilR   t   CFuncDeclaratorNodeR,   (   R6   R?   R!   R  R  RQ   t   ellipsisR,   t   exc_valt	   exc_checkR  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  
  s    	R   R   Ry   RB   R   s   ++s   --R   R   R   R   s   <<s   >>R:   s   []s   ()R  RJ  c         C@  sG  |  j    } t |   } |  j d k r |  j   |  j d k r |  j    }	 |  j   t |  | d | d | d | d | d | }
 t j |	 d |
 } n- t |  | d | d | d | d | d | } t j | d | } nZ|  j d	 k rM|  j   t |  | d | d | d | d | d | } t j | d t j | d | } n|  j d
 k r|  j   t |  | d | d | d | d | d | } t j	 | d | } nd  } |  j d k r8|  j } | rt |  j    d  n  |  j   t |   } | d k r`|  j d k r`| r`|  j   t |   } q`n( | rTt |  j    d  n  d } d  } | d  k r| j d  k	 r| r| j d | } n  | d k r| j d k r| r|  j } g  | D] } | d k rd ^ qr|  j   | d k r|  j d  d } n} | d k r2|  j d  d } n[ | d% k rd|  j | k rd| d 9} |  j   n) |  j d k r| |  j 7} |  j   n  | t k r|  j d | d  t n  | | 7} q| d k r|  j } | t k r|  j d | d  t n  | d! | } |  j   qn  t j | d" | d# | d$ | } | | _ | S(&   NRy   R  R   R  R  R  R  R  s   **R   R2   s   Declarator should be emptyRp   R   s   Empty declaratorR$  s   ::t   externs   +-*/<=>!%&|([^~,i   R   R   s   ()R   R  s   []R   R   R   i   s,   Overloading operator '%s' not yet supported.R   t    R8   R  t   default(   R   R   R   R   (   R>   R  R3   R5   R4   R   R   t   CConstDeclaratorNodet   CPtrDeclaratorNodet   CReferenceDeclaratorNodeR-   R
   R  RW   R.   R'   RV   t   supported_overloaded_operatorsR0   R  R  (   R6   R!   R   R  R  R  R  R?   R  t	   const_post
   const_baseR  R   R  R8   R  R@   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  
  s    

	

	
!
!!	%
		

	
	c         C@  s4   |  j  d k r, |  j d k r, |  j   d Sd Sd  S(   NR2   R,   i   i    (   R3   R4   R5   (   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s    
c         C@  s2   |  j  d k r* |  j   |  j d  d Sd Sd  S(   NR   R\  i   i    (   R3   R5   t   expect_keyword(   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s
    
c         C@  s   d  } d } |  j d k r |  j   |  j d k rG d } |  j   q |  j d k r d } |  j   |  j d k r |  j } |  j   t |  |  } q q |  j d k r d } |  j   n  t |   } n  | | f S(   Ni    R?  Ry   i   R   R2   R   (   R-   R3   R5   R4   R7  RW   (   R6   R  R  R8   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s&    

	
s   **R   c   	      C@  sw   g  } | } xd |  j  t k rr | j t |  | | | d | d | d |  |  j  d k r_ Pn  |  j   d } q W| S(   NR  t   kw_onlyRP   R:   i    (   R3   t   c_arg_list_terminatorsR;   t   p_c_arg_declR5   (	   R6   R!   t	   in_pyfuncR  R  R  RP   RQ   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  2  s    


c         C@  s%   |  j  d k r t |   d Sd Sd  S(   NR   i   i    (   R3   R  (   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  B  s    
c         C@  s  |  j    } d } }	 d  }
 d  } |  j rm t j | d d  d g  d d d d d d d d d | d	 d  } n t |  | d
 | } t |  | d
 | } |  j d k r0|  j r0|  j } |  j   |  j d k r |  j	 d k r |  j   n |  j
 d  | st
 | d |  n  | d k }	 | d k } n  | r^|  j d k r^|  j   t |   } n  |  j d k r|  j   d | j k r|  j d  k rt
 | d  n  t j d  }
 |  j   qt |   }
 n  t j | d | d | d | d |	 d |
 d | d | S(!   Ni    R8   R  R  R  R  R>  R  R/   R  Rl   Rf   R2   R-   s   Expected 'None's*   '%s None' only allowed in Python functionsRN   R   R   Ry   R   s;   default values cannot be specified in pxd files, use ? or *i   R   R   t   not_nonet   or_noneR  t
   annotationR  (   s   nots   or(   Ry   R   (   R>   R-   R   R   R  R   R   R3   R5   R4   R
   RW   R&   R   R5  t   CArgDeclNode(   R6   R!   R
  R  R  R  RP   R?   R  R  R  R  R   R   R8  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR	  I  sR    
		


c         C@  s4   |  j  d k r, |  j d k r, |  j   d Sd Sd  S(   NR2   R*   i   i    (   R3   R4   R5   (   R6   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_apiy  s    
c         C@  sq  |  j    } t |  | j  | _ | j p3 t |   | _ | j rk | j d k rk t | d | j  qk n  | j d k r |  j d k r t |  | |  S|  j d k r |  j   t |  | |  St	 |   r d | _
 | j r t | d  n  t |  |  S|  j d	 k r2| j r%t | d  n  t |  |  S|  j d
 k r| j d k r`t | d  n  | j ryt | d  n  t |  | |  S|  j d k r|  j d k rt |  | |  S|  j d k r/|  j t k r/| j d k rt | d  n  | j r|  j d k rt | d  qn  t |  | |  S|  j d k r]|  j d k r]t |  | |  St |  | |  Sd  S(   NR   t   publics   Cannot combine 'api' with '%s'R  R   R  i   s$   cdef blocks cannot be declared cpdefRN   R  R  R~  s*   Extension type definition not allowed heres(   Extension types cannot be declared cpdefR2   R   s/   C struct/union/enum definition not allowed hereR  s'   C struct/union cannot be declared cpdeft   fused(   s   privates   public(   s   modules
   module_pxd(   s   modules
   module_pxd(   R>   t   p_visibilityR'   R*   R  R
   R3   t   p_cdef_extern_blockR5   R  R,   R+   t   p_cdef_blockR&   t   p_c_class_definitionR4   t   p_cpp_class_definitiont   struct_enum_uniont   p_struct_enumt   p_fused_definitionRb  (   R6   R!   R?   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    sL    	
					c         C@  s   t  |  | d d   S(   NR(   i   (   R'  (   R6   R!   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s    c         C@  s   | j  r t | d  n  d  } |  j d  |  j d k rH |  j   n t |  d  d } | d d d d	  } |  j d
 k r |  j   t |  d  d | _ n  t	 |   r d | _
 n  t |  |  } t j | d | d | d
 | j S(   Ns+   cdef extern blocks cannot be declared cpdefR   Ry   R  i   R(   i   R'   R  R.   t   include_fileR  (   R+   R
   R-   RV   R3   R5   RR  R4   R.   R  R,   R'  R   t   CDefExternNode(   R6   R?   R!   R  R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s$    	
c         C@  sG  |  j    |  j d k rj |  j } |  j    t |   } | d  k rv | j d  k	 rv | j d | } qv n d  } d  } d  } |  j d  g  } |  j d k r t |  | |  nD |  j    |  j   x# |  j d k r t |  | |  q W|  j	   t
 j | d | d | d	 | d
 | j d | j d | j d | j d | j d k S(   NR2   s   ::RN   Rf  R  Rh  R8   R  R  R)   R'   t   create_wrapperR*   t   in_pxdR~  (   s   DEDENTs   EOF(   R5   R3   R4   R  R-   R.   RV   t   p_c_enum_lineRa  Rc  R   R  R)   R'   R+   R*   R&   (   R6   R?   R!   R8   R  R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_c_enum_definition  s0    
	



	c         C@  s   |  j  d k re t |  | |  xM |  j  d k ra |  j   |  j  d k rN Pn  t |  | |  q" Wn
 |  j   |  j d  d  S(   NR  R:   Rf  Rh  s   Syntax error in enum item list(   s   NEWLINEs   EOF(   R3   t   p_c_enum_itemR5   R  (   R6   R!   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s    

c      	   C@  s   |  j    } t |   } t |   } | d  k rS | j d  k	 rS | j d | } n  d  } |  j d k r |  j   t |   } n  | j t	 j
 | d | d | d |  d  S(   Ns   ::R   R8   R  R   (   R>   R9   R  R-   R.   R3   R5   RW   R;   R   t   CEnumDefItemNode(   R6   R!   R  R?   R8   R  R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR     s    
c   	      C@  s  t  } |  j d k rV t } |  j   |  j d k sC |  j d k rV |  j d  qV n  |  j } |  j   t |   } t |   } | d  k r | j	 d  k	 r | j	 d | } n  d  } |  j d k r`|  j   |  j
 d  |  j   g  } t   } x[ |  j d k rR|  j d k r8| j t |  |  j   |   q |  j   |  j d	  q W|  j   n |  j d
  t j | d | d | d | d | d | j d | j d | j d | j d k d | 	S(   NR  R2   R  s   ::RN   Rf  R  R  s   Expected a newlines*   Syntax error in struct or union definitionR8   R  R8  t
   attributesR)   R'   R*   R  R~  (   R0   R4   RG   R5   R3   t   expectedR9   R  R-   R.   RV   Ra  R   R;   Rb  R>   R  Rc  R   R  R)   R'   R*   R&   (	   R6   R?   R!   R  R8  R8   R  R"  Rd  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_c_struct_or_union_definition  s>    
	


	
c         C@  s   | j  d
 k r t | d  n  |  j   t |   } |  j d  |  j   |  j   g  } xL |  j d k r |  j d k r | j t	 |    n
 |  j   |  j   q_ W|  j
   | s t | d  n  t j | d | d	 | S(   s5   
    c(type)def fused my_fused_type:
        ...
    R  R~  s&   Fused type definition not allowed hereRN   R  R  s   Need at least one typeR8   t   types(   s   modules
   module_pxd(   R&   R
   R5   R9   RV   R  Ra  R3   R;   R   Rc  R   t   FusedTypeNode(   R6   R?   R!   R8   R%  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s"    




c         C@  s3   |  j  d k r t |  | |  St |  | |  Sd  S(   NR  (   R4   R  R$  (   R6   R?   R!   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  =  s    c         C@  s   |  j    } | } |  j d k r~ |  j d k r~ |  j } | d k rq | | k rq |  j d | | f d t n  |  j   n  | S(	   NR2   R  R  t   readonlyR   s,   Conflicting visibility options '%s' and '%s'R   (   s   externs   publics   readonly(   R>   R3   R4   R
   R0   R5   (   R6   t   prev_visibilityR?   R'   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  C  s    		c         C@  sF   |  j  d k rB |  j d k rB |  j } |  j   | g t |   Sg  S(   NR2   t   inline(   s   inline(   R3   R4   R5   t   p_c_modifiers(   R6   t   modifier(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR*  N  s
    	
c         C@  st  | j  d! k } t |   } t |  d d d | j } t |  | d | d d d d } | j | _ |  j d k r |  j d	 k r | j  d
 k r |  j   d } n d } |  j d k rP| j  d" k r | j r |  j	 d  n  t
 |  t d d   \ } }	 t j | d | j d | d | d |	 d | d | d | j d | j d | 	}
 n | rb| | _ n  | g } x^ |  j d k r|  j   |  j d k rPn  t |  | d | d d d d } | j |  qnW|  j d } |  j d d t | j  d# k r|  j | k rt |   } n d  } t j | d | j d | d | d  | j  d$ k d | d | j d | d | j }
 |
 S(%   NR  R  R  i   R/   R  R  R2   R  t	   cpp_classi    RN   R  R~  s&   C function definition not allowed hereR&   R   R'   R   R   R  R  t	   modifiersR*   R+   t   is_const_methodR:   Rf  s&   Syntax error in C variable declarationR  t   declaratorsR  (   s   c_classs   c_class_pxd(   s   modules   c_classs
   module_pxds   c_class_pxdR,  (   s   c_classs   c_class_pxd(   s
   module_pxds   c_class_pxd(   R&   R*  R   R/   R   R+   R3   R4   R5   R
   R  R   R   R  R'   R*   R.  R;   R  R  RG   R  R-   R  (   R6   R?   R!   R  R-  R   R   R.  R  t   suiteR   R/  t   doc_line(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRb  U  sb    -
					
		c         C@  sN  |  j    } |  j   t |  | j  } t |   } | d d d |  } | r[ d | _ n  |  j d k rz t |  | |  S|  j d k r |  j t	 k r t
 |  | |  S|  j d k r |  j d k r t |  | |  St |  d d } t |  | d d d d } |  j d	 d
 t t j | d | d | d | d | d | j d k Sd  S(   NR)   i   R'   R  R2   R  R  R  s"   Syntax error in ctypedef statementR  R   R   R*   R  R~  (   R>   R5   R  R'   R  R*   R3   R  R4   R  R  R  R   R   R  RG   R   t   CTypeDefNodeR&   (   R6   R!   R?   R'   R*   R   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s*    
c         C@  s  g  } x |  j  d k r|  j   } |  j   t |  d d d } | j d  } t j | d |  j j | d  } x9 | d D]- } t j	 | d |  j j |  d	 | } q W|  j  d
 k r t
 |  |  } n  | j t j | d |  |  j d  q	 W| S(   NR   R  i    i   R   R8   i   R   R   R   t	   decorators"   Expected a newline after decorator(   R3   R>   R5   R  t   splitR   RE  RE   R   R   R   R;   R   t   DecoratorNodeR  (   R6   R   R?   t	   decstringR<   R3  R8   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s    
%%c         C@  s(  |  j    } | r |  j   n  |  j   t |   } |  j d  t |  d d \ } } } |  j d  t |   r t | d  n  d  } |  j	 d k r |  j   t
 |   } n  t |  t d d   \ }	 }
 | r |  j   n  t j | d | d	 | d
 | d | d |	 d |
 d | d | d | 	S(   NR   RO   R   s(   Python function cannot be declared nogils   ->R&   R   R8   RQ   RR   RS   R  R  R   R   t   return_type_annotation(   R>   t   enter_asyncR5   R9   RV   RU   R  R
   R-   R3   RW   R  R   t
   exit_asyncR   t   DefNode(   R6   R   R   R?   R8   RQ   RR   RS   R7  R  R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR     s*    

c         C@  s'  t  |  d d d d d | } d  } d  } |  j d k r |  j   |  j d k rg t |  d | } n  |  j d k r |  j   | j t  |  d d d d d d d |  q |  j | k r |  j d	  q n  |  j d
 k r |  j   t |  d | } n  |  j d k r|  j   n  | | | f S(   NR
  i   R  RP   Ry   R2   R:   R  s-   Syntax error in Python function argument lists   **(   R  R-   R3   R5   t   p_py_arg_declR   R
   (   R6   RO   RP   RQ   RR   RS   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRU     s(    	


c         C@  se   |  j    } t |   } d  } | rL |  j d k rL |  j   t |   } n  t j | d | d | S(   NRN   R8   R  (   R>   R9   R-   R3   R5   RW   R   t   PyArgDeclNode(   R6   RP   R?   R8   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR;    s    
c   
      C@  s  |  j    } |  j   t t |    } |  j | _ d  } d  } |  j d k r t |  d t	 \ } } t
 | | |  \ } } n  | d  k r t j | d g  } n  t |  t d d   \ } }	 t j | d | d | d | d	 | d
 |	 d | d |  j j d k S(   NR   R   RQ   R&   R  R8   t   basesR   R  R  R   t   force_py3_semanticsi   (   R>   R5   R   R9   RU  RP  R-   R3   R   R0   R   R   R   R  R   R   t   PyClassDefNodeRE   R?  (
   R6   R   R?   t
   class_nameR   R   R   R   R  R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s$    
c         C@  s  |  j    g  } t |   } x6 |  j d k rT |  j    | j |  t |   } q W| rz | j d k rz t | d  n  | r |  j d k r |  j d k r |  j    t |   } n | } d  } d  } d  } d  }	 |  j d k r|  j    t |   g }
 x0 |  j d k r/|  j    |
 j t |    q W|  j d k rU|  j d d	 t n  |  j	 d
  d j
 |
 d   } |
 d }	 n  |  j d k r| j d* k r| j rt |  j   d  n  t |   \ } } n  |  j d k r#| j d k rd } n d } t |  t d |   \ } } n |  j d  d  } d  } | j d k rz| sat | d  n  | rt | d  qn | j d k r| st | d  n  | st | d  qn^ | j d k r| j r| st | d  n  | st | d  qqn t | d | j  t j | d | j d | j d | j d  d j
 |  d! | d" | d# | d$ |	 d% | d& | d' | j d k d( | d) | S(+   NR   R  s6   Qualified class name only allowed for 'extern' C classR2   R  R   R:   s$   C class may only have one base classR   R   iR   R  sB   Name options only allowed for 'public', 'api', or 'extern' C classRN   R~  R  R  R&   s"   Syntax error in C class definitions)   Module name required for 'extern' C classs?   Type object name specification not allowed for 'extern' C classs>   Object struct name specification required for 'public' C classs<   Type object name specification required for 'public' C classR   s;   Object struct name specification required for 'api' C classs9   Type object name specification required for 'api' C classs   Invalid class visibility '%s'R'   R)   R*   R  R@  R  t   base_class_modulet   base_class_namet   objstruct_namet   typeobj_nameR  R  R  (   s   publics   extern(   R5   R9   R3   R;   R'   R
   R4   R-   R0   RV   RV  R*   R>   t   p_c_class_optionsR&   R  R   R  R   R  R)   (   R6   R?   R!   R  R@  R  RC  RD  RA  RB  t   base_class_patht
   body_levelR  R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s    

$


	!				c         C@  s   d  } d  } |  j d  x |  j d k r/ Pn  |  j d k rW |  j   t |   } n( |  j d k r |  j   t |   } n  |  j d k r Pn  |  j   q W|  j d d  | | f S(   NR   R2   t   objectR  R:   R  s   Expected 'object' or 'type'(   R-   RV   R3   R4   R5   R9   (   R6   RC  RD  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRE  Y  s"    

c         C@  se   |  j    } |  j   t |   } t |  t d d  d t \ } } t j | d | d | d | S(   NR&   R  R  R8   R  R  (   R>   R5   R9   R  R   RG   R   t   PropertyNode(   R6   R?   R8   R  R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  m  s    
!c         C@  sQ   |  j  d k rM |  j   } t |   } |  j d d t t j | d | Sd S(   sO   
    Parses any kind of ignorable statement that is allowed in .pxd files.
    R  s   Syntax error in stringR  R[   N(   R3   R>   R   R  RG   R   R   R-   (   R6   R?   t   string_node(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR  v  s    c         C@  sl   |  j  d k rd |  j   } t |   \ } } } |  j d d t | d k rS | St | d  | Sd  Sd  S(   NR  s   Syntax error in doc stringR  R  R$  s2   Python 3 requires docstrings to be unicode strings(   R  R$  (   R3   R>   R/  R  RG   R   R-   (   R6   R?   R8  t   bytes_resultt   unicode_result(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s    c         C@  sM  d } |  d k r n t |  t j  rZ |  j j r |  j } t j |  j d g  }  q ng t |  t j  r |  j r |  j } t | d t j  r | d j j r | d j } | d =q q n  | d k r d } nm t | t	 j
  rt |  j d  | j } n? t | t	 j  r:| j } | d k rC| j } qCn	 | j } | |  f S(   s   
    Extract a docstring from a statement or from the first statement
    in a list.  Remove the statement if found.  Return a tuple
    (plain-docstring or None, node).
    R  i    s2   Python 3 requires docstrings to be unicode stringsN(   R-   R   R   R   R[   t   is_string_literalR  R?   R  R   R2  R   R   R4  R%  (   R   t   doc_nodeR  R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    s2    						c         C@  s]   t  |  | d |  d d } |  j d k rY |  j d t |  j  t |  j  f  n  | S(   NR&   R  i   Rh  s!   Syntax error in statement [%s,%s](   RQ  R3   R
   RH  R4   (   R6   R&   R!   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_code  s
    	#s$   ^#\s*cython\s*:\s*((\w|[.])+\s*=.*)$c         C@  s   i  } x |  j  d k r t |  j  } | r | j d  j   } y  | j t j | d t  Wq t	 k
 r } |  j
 | j d d t q Xn  |  j   q	 W| S(   Nt   commentlinei   t   ignore_unknowni    R   (   R3   t!   _match_compiler_directive_commentR4   t   groupR  R   R	   t   parse_directive_listRG   t
   ValueErrorR
   RQ   R0   R5   (   R6   R   t   mt
   directivest   e(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_compiler_directive_comments  s    !c   	   
   C@  s   |  j    } t |   } t |  _ d | k rD |  j j | d  n  t |   } | r_ d } n d } t |  | d |  d d } |  j d k r |  j	 d t
 |  j  t
 |  j  f  n  t | d	 | d
 | d | d | S(   NR?  R~  R  R&   R  i   Rh  s!   Syntax error in statement [%s,%s]R  R  t   full_module_namet   directive_comments(   R>   RY  R0   RK  RE   t   set_language_levelR  RQ  R3   R
   RH  R4   R   (	   R6   R   RZ  R!   R?   R[  R  R&   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_module  s     			#c         C@  sN   t  |   } |  j d k r> |  j d  |  j d  t } n t } | | f S(   NR   Ry   (   R9   R3   RV   R0   RG   (   R6   R8   t   required(    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   p_template_definition  s    	c         C@  s  |  j    g  } t |   } t |   } | d  k rW | j d  k	 rW | j d | } n  |  j d k rv t | d  n  |  j d k r |  j    t |   g } x0 |  j d k r |  j    | j t |    q W|  j	 d  g  | D] \ } } | ^ q }	 n d  } d  }	 |  j d k r|  j    t
 |  d |	 g }
 x6 |  j d k rr|  j    |
 j t
 |  d |	  q=W|  j	 d	  n g  }
 |  j d k rt |  j   d
  n  t |   } |  j d k r|  j    |  j	 d  |  j   g  } t d | j d d d | p| j  } |	 | _ xR |  j d k rt|  j d k rZ| j t |  |   q#|  j    |  j d  q#W|  j   n d  } |  j d  t j | d | d | d |
 d | j d | j d k d | d | S(   Ns   ::R   s*   Qualified class name not allowed C++ classR   R:   R  R   R/   R   s&   Name options not allowed for C++ classRN   Rf  R'   R&   R,  R,   R  R  s   Expected a newlines$   Syntax error in C++ class definitionR8   R  t   base_classesR  R~  R"  (   R5   R9   R  R-   R.   R3   R
   R_  R;   RV   R   R>   R  Ra  R   R'   R,   R/   t   p_cpp_class_attributeR  Rc  R   t   CppClassNodeR&   (   R6   R?   R!   R  R@  R  R/   R8   R^  t   template_namesR`  R,   R"  Rd  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyR    sh    


"



'	
	c         C@  s   d  } |  j d k r$ t |   } n  |  j d k rI t |  |  j   |  St |  |  j   |  } | d  k	 r t j t j	 t j
 f } | j r | t j t j f 7} n  t | |  s |  j d  n  | | _ n  | Sd  S(   NR   R   s7   Decorators can only be followed by functions or classes(   R-   R3   R  R4   R  R>   Rb  R   R  R  R  R1   R  R  R   R
   R   (   R6   R!   R   R   R  (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRa  &  s    	c   
      C@  s  d | } | r|  j  |  | r7 |  j  d |  n  t |  } | t k r |  j  d | d | d f  x5 t d t |   D] } t |  | | | d  q W|  j  d |  d  St | t j  rjy | j	 } Wn t
 k
 r | j j } n X|  j  d | | j f  xO | j j   D]> \ } }	 | d	 k r$| d
 k r$t |  |	 | d |  q$q$Wd  S| t k r|  j  d  x2 t t |   D] } t |  | | | d  qW|  j  d |  d  Sn  |  j  d | | f  d  S(   Ns     s   %s: s	   (%s @ %s
i    i   i   s   %s)
s   %s @ %s
t   tagR?   s   [
s   %s]
s   %s%s
(   t   writeR  R   t   rangeR   t   print_parse_treeR   R   t   NodeRd  R  RO  R$   R?   R   R  R   (
   R"  R   R&   R   t   indt   tR  Rd  R8   R   (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyRg  >  s:    
(   i    i    (   i    i    (   i   i    (   i   i    (   i   i    (   i    i    (   i   i    (   R  R    t   cythonRu  RH  R  t   ioR   R   t   syst   unicodedataR   R   t	   functoolsR   R   t   ScanningR   R   R   R$  R   R   R   R   R   R   R   R   R   t   ErrorsR
   R   R   R   R	   t   version_infoR   R   R9   R=   RA   RM   RG   R\   R]   RW   RX   Rd   Rg   Rh   Rk   Ro   Rz   Rs   Rw   Ru   RS  Rt   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,  R7  RD  R/  R_  Ra  RR  Rv  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	  R  R  R!  R   R&  R$  R%  R)  R0   R   R  R2  R3  R9  R;  R0  R1  RF  RC  RX  R[  R   RZ  Rp  Rq  Rs  Rw  R|  R  RQ  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  R  R  R  R  R  R  R  R	  R  R  R  R  R  R  R   R$  R  R  R  R*  Rb  R  R  R   RU   R;  R  R  RE  R  R  R  R  RO  t   compileR  RR  RY  R]  R_  R  Ra  Rg  (    (    (    s:   /bar/jli/Chip-seq/script/cython/Cython/Compiler/Parsing.pyt   <module>   s  "														
																		3	*								>	 	
	 	,			x						n	
								+						
		$Q!				!				+		$									"			f8		N						(		
	$			!	
		V			'	/		)						$	"				8		
		N						#		
	;	