
"Ic           @   s   d  d k  l Z l Z d  d k Z d  d k Z d  d k Td e i f d     YZ d e i f d     YZ d   Z e	 d	 j o e   n d S(
   i(   t   run_unittestt   check_syntax_errorN(   t   *t
   TokenTestsc           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C   s6   d } |  i  | d d  d } |  i  | d d  d  S(   Ni   i   s   backslash for line continuationi    s   backslash ending commenti   (   t   assertEquals(   t   selft   x(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testBackslash   s
     c         C   s  |  i  d d  |  i  d d  |  i  d d  |  i t t d  d d k l } | d j o |  i  d d  |  i d	 d
 j  |  i d	 d
 j  x d D]= } y t |  } Wq t j
 o |  i d |  q Xq Wn | d j o |  i  d d  |  i d d
 j  |  i d d
 j  xZ d D]= } y t |  } Wq,t j
 o |  i d |  q,Xq,Wn |  i d |  d  S(   Ni   it   0xi(   t   maxinti  i   i   l    i    t
   2147483648t   040000000000t   0x100000000s(   OverflowError on huge integer literal %rl    l l         l    t   9223372036854775808t   02000000000000000000000t   0x10000000000000000s   Weird maxint value %ri   (   R
   R   R   l         (   R   R   R   (	   R   t   assertRaisest   SyntaxErrort   evalt   sysR	   t   assert_t   OverflowErrort   fail(   R   R	   t   sR   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testPlainIntegers   s6      c         C   s4   d } d } d } d } d } d } d } d } d  S(   Nl    l    l   ? l   
~l!]c (    (   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testLongIntegers;   s    c         C   sF   d } d } d } d } d } d } d } d } d } d } d } d  S(   NgQ	@g     s@gjt?g  Bgt =g  WHBg     F@(    (   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt
   testFloatsE   s    c         C   s  d } d } |  i  t |  d j o
 | | j  d } d } |  i  t |  d j o | | j o t |  d j  d } d } |  i  t |  d j o | | j o t |  d j  d } d } |  i  t |  d	 j o
 | | j  d
 } d
 } |  i  t |  d	 j o
 | | j  d } d } |  i | |  d } |  i | |  d } |  i | |  d } |  i | |  d  S(   Nt    i    s   'i   i'   t   "i"   s   doesn't "shrink" does iti   s   does "shrink" doesn't its2   
The "quick"
brown fox
jumps over
the 'lazy' dog.
(   R   t   lent   ordR   (   R   R   t   y(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testStringLiteralsS   s0      &  9  9&&(   t   __name__t
   __module__R   R   R   R   R    (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyR      s
   	
		
	t   GrammarTestsc           B   sU  e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d    Z" d!   Z# d"   Z$ d#   Z% d$   Z& RS(%   c         C   s   t  d  } d  S(   Ns	   1, 0 or 1(   R   (   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testEvalInput   s    c         C   s  d   } |   | d=   | d> h    d   } d   } d   } d   } |  i  | i i d?  |  i  | i i d@  t i i d	  o0 |  i  | i i dA  |  i  | i i dB  n- |  i  | i i dC  |  i  | i i dD  d   } d   } d   } d   }	 d   }
 d   } |   | d  | d  | d d  | d d  | d d dE f  |   | d  | d  | d d  | d d d d d d d d d  d! 
 |	 d  |	 d  |	 d d  |	 d d d  |	 d d d d d d d d d  d! 
 |
 d d  |
 d d d  |
 d d d d  |
 d d d d d d d d d  d! 
 | d dF  | d dG d  | d dH d d d d d d  d! 	 t i i d	  o |  i  | i i dI  n |  i  | i i dJ  |  i  | d dK d  d d d dL f  d d'  } |   | d  | dM   | h d d" 6  d d(  } | d  | d d  | d h d d% 6 d d)  } | d d  | d d d  | dN   | d dO  | d d dP  | d d h d d& 6 d d d*  } |   | d  | d d  | dQ   | d dR  | d h d d% 6 | h d d" 6d d% 6  d d d+  } | d  | d d  | d d d  d d d,  } | d d  | d d d  | d d d d  d d-  } |   | d  | d d  | dS   | dT   | h d d" 6  d d.  } | d  | d d  | d d d  d d/  } | d d  | d d d  | d d d d  | dU   | d d h d d& 6 d d d0  } |   | d  | d d  | d d d  | d dV  | h d d" 6d d% 6  d d d1  } | d  | d d  | d d d  | d d d d  | dW   | d d dX  | d dY h d d& 6 d d d2  } | d d  | d d d  | d d d d  | d d d d d  | dZ   | d d d[  | d d\ h d d3 6 d4   } | d  d5   } | d]  d6   } |  i  | d d7 d d8 d d d g d^ h d d7 6d d8 6f  |  i t t d9  |  i t t d:  t	 |  d;  t	 |  d<  d  S(_   Nc           S   s   d  S(   N(    (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   f1   s    c         S   s   d  S(   N(    (   t   one_argument(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   f2   s    c         S   s   d  S(   N(    (   t   twot	   arguments(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   f3   s    c         S   s   | \ } \ } } d  S(   N(    (   R(   t   .1t   compoundt   argumentt   list(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   f4   s     c         S   s   |  \ } } d  S(   N(    (   t   .0R(   R,   t   first(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   f5   s    	 R&   R(   R)   t   javas   (compound, (argument, list))R,   R-   R.   s   (compound, first)R1   s   .1s   .0c         S   s   d  S(   N(    (   t   one_arg(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   a1   s    c         S   s   d  S(   N(    (   R(   t   args(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   a2   s    c          W   s   d  S(   N(    (   t   rest(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   v0   s    c         W   s   d  S(   N(    (   t   aR8   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   v1   s    c         W   s   d  S(   N(    (   R:   t   bR8   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   v2   s    c         W   s   | \ } } |  | | | f S(   N(    (   R:   R+   R8   R<   t   c(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   v3   s    	 i   i   i   i   i   i   i   i   i	   i    R:   s   (b, c)R8   R<   R>   c         S   s   d  S(   N(    (   R:   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   d01   s    c         S   s   d  S(   N(    (   R:   R<   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   d11   s    c         S   s   d  S(   N(    (   R:   R<   R>   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   d21   s    c         S   s   d  S(   N(    (   R:   R<   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   d02   s    c         S   s   d  S(   N(    (   R:   R<   R>   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   d12   s    c         S   s   d  S(   N(    (   R:   R<   R>   t   d(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   d22   s    c         W   s   d  S(   N(    (   R:   R8   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   d01v   s    c         W   s   d  S(   N(    (   R:   R<   R8   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   d11v   s    c         W   s   d  S(   N(    (   R:   R<   R>   R8   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   d21v   s    c         W   s   d  S(   N(    (   R:   R<   R8   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   d02v  s    c         W   s   d  S(   N(    (   R:   R<   R>   R8   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   d12v  s    c         W   s   d  S(   N(    (   R:   R<   R>   RE   R8   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   d22v  s    RE   c         S   s   d  S(   N(    (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   d31v  s    c         S   s   |  \ } d  S(   N(    (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   d32v  s     c          _   s
   |  | f S(   N(    (   R6   t   kwargs(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   f  s    R   R   s   f(1, *(2,3), 4)s   f(1, x=2, *(3,4), x=5)s
   f(*g(1=2))s   f(**g(1=2))(    (    (   s   one_argument(   s   twos	   arguments(   s   twos   (compound, (argument, list))s   compounds   arguments   list(   s   (compound, first)s   twos   compounds   first(   s   twos   .1s   compounds   arguments   list(   s   .0s   twos   compounds   first(   i   i   (   i   i   (   i   i   (   i   i   (   R:   s   (b, c)s   restR<   R>   (   R:   s   .1s   restR<   R>   (   i   i   (   i   (   i   (   i   i   i   (   i   i   (   i   (   i   i   (   i   (   i   i   i   i   (   i   (   i   i   i   i   (   i   i   i   (   i   i   i   i   (   i   i   i   (   i   (   i   i   i   i   (   i   i   i   (   i   i   (   i   (   i   i   i   (
   R   t	   func_codet   co_varnamesR   t   platformt
   startswithR   R   R   R   (   R   R%   R'   R*   R/   R2   R5   R7   R9   R;   R=   R?   R@   RA   RB   RC   RD   RF   RG   RH   RI   RJ   RK   RL   RM   RN   RP   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testFuncdef   s   
	
				 						



%

%%"(















	
	
	'c         C   s   d   } |  i  |   d  d   } d   } |  i  |   d d d g  d d  d  d  } |  i  |   d  d	 d
  } |  i  | d d	  d  |  i  | d d	 d  d  t |  d  t |  d  d  S(   Nc           S   s   d  S(   i    (    (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   <lambda>+  s    i    c           S   s   t  t S(    (   R:   RE   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV   -  s    c          S   s.   g  }  d  d d g D] } |  d | j  q ~  S(   ii   l    i   (    (   t   _[1]R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV   .  s    i   c         S   s   |  S(    (    (   t   z(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV   0  s    c         S   s   |    S(    (    (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV   0  s    c         S   s   |    S(    (    (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV   0  s    i   c         S   s   |  | | S(    (    (   R   R   RX   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV   2  s    i   i   i   s   lambda x: x = 2s   lambda (None,): None(   R   R   (   R   t   l1t   l2t   l3t   l4t   l5(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testLambdef)  s    			c         C   s   d } ~ d   } |   d  S(   Ni   c          S   s   d }  ~  d  S(   Ni   (    (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   foo>  s     (    (   R   R   R_   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testSimpleStmt;  s     	c   	      C   sx   d d } d } d	 } } } d
 \ } } } d d d f } \ } } } \ } } } } t  |  d  t  |  d  d  S(   Ni   i   i   i   s	   x + 1 = 1s   a + 1 = b + 2(   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   (   R   (	   R   R   R   RX   t   abcR:   R<   R>   t   xyz(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testExprStmtF  s    -c            s  d d  k  } t i } | i    t _ d Gd Gd GHd Gd Gd GHd p d Gd p d Gd p d GHt i d Id Id IJt i d Id Id It i Jt i d p d Id p d It i d p d IJd d d     Y      } | d Id Id IJ| d Id Id I| J| d p d Id p d I| d p d IJ   f d   } t i d	   |   d  d
   |   |  i t i i   d  | t _ t |  d  t |  d  d  S(   Nii   i   i   i    t   Gulpc           B   s   e  Z d    Z RS(   c         S   s   d  S(   N(    (   R   t   msg(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   writek  s    (   R!   R"   Rf   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRd   j  s   c             s>   t  i }      t  _ z          Wd  |  t  _ Xd  S(   N(   R   t   stdout(   t	   oldstdout(   Rd   t   tellme(    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   driveru  s    	c         S   s   |  d IJd  S(   Ns   hello world(    (   t   file(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRi     s    c         S   s   |  d IJd  S(   Ns   goodbye universe(    (   Rk   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRi     s    s0   1 2 3
1 2 3
1 1 1
1 2 3
1 2 3
1 1 1
hello world
s   print ,s   print >> x,(    (   t   StringIOR   Rg   t   Nonet   assertEqualt   getvalueR   (   R   Rl   t   save_stdoutt   gulpRj   (    (   Rd   Ri   s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testPrintStmtS  s<    	!	
	c         C   s@   d d d g } | \ } } } | | | f } ~ ~ ~ ~ ~ d  S(   Ni   i   i   (    (   R   Ra   R   R   RX   Rb   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testDelStmt  s
    c         C   s   d  S(   N(    (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testPassStmt  s    c         C   s   x Pq d  S(   N(    (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testBreakStmt  s     c         C   s   d } x | o d } q	 q	 Wd } x/ | p' d } y w' d } Wq' d } q' Xq' W| d j o |  i  |  n d } x# | p d } z w} Wd  d } Xq} W| d j o |  i  |  n d  S(   Ni   i    R   t   oks&   continue failed to continue inside trys'   continue inside try called except blocks   finally block not called(   R   (   R   t   iRe   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testContinueStmt  s2        
 c            s    d d   f d  } |   d  S(   Ni   i    c            s   d } xW | oO | d 7} y4 |  o | d j o |  d 8}  Pn | d 8} w	 Wq	   q	 Xq	 W| d j p | d j o   i  d  n d  S(   Ni   i   s1   continue then break in try/except in loop broken!(   R   (   t   extra_burning_oilt   countt	   big_hippo(   R   (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt
   test_inner  s     


(    (   R   R|   (    (   R   s.   /mit/python/lib/python2.6/test/test_grammar.pyt   test_break_continue_loop  s    
c         C   s3   d   } d   } |   |   } t  |  d  d  S(   Nc           S   s   d  S(   N(    (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   g1  s    c           S   s   d S(   Ni   (    (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   g2  s    s   class foo:return 1(   R   (   R   R~   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt
   testReturn  s
    			c         C   s   t  |  d  d  S(   Ns   class foo:yield 1(   R   (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt	   testYield  s    c         C   sG   y t  d  Wn t  j
 o n Xy
 t  Wn t j
 o n Xd  S(   Ns   just testing(   t   RuntimeErrort   KeyboardInterrupt(   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt	   testRaise  s       
 c      
   C   s   d d  k  } d d  k } d d  k  } d d k l } d d k l } d d k  l } l } d d k  l } l } d d k  l } l } d  S(   Ni(   t   time(   t   patht   argv(   R   R   R   R   (   R   R   R   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt
   testImport  s    c         C   s   d  S(   N(    (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt
   testGlobal   s    c         B   s  d  } ~ d d  U| d j o |  i d  n ~ d d  U| d j o |  i d  n d  } ~ d d  k } e | d  o d d  Un h  } d	 | U| i d
  o | d
 =n | h d d 6j o |  i d  n h  } h  } d d  k } | i d d d d d | | U| i d
  o | d
 =n | i d
  o | d
 =n | | f h d d 6h d d 6f j o |  i d | | f  n d  S(   Ns   z=1+1
i   s   exec 'z=1+1'\ns   z=1+1s   exec 'z=1+1'it   UnicodeTypes   if 1:
            exec u'z=1+1\n'
            if z != 2: self.fail('exec u\'z=1+1\'\\n')
            del z
            exec u'z=1+1'
            if z != 2: self.fail('exec u\'z=1+1\'')s   z = 1t   __builtins__i   RX   s   exec 'z = 1' in gt   ignores   global statementt   modules   <string>s   global a; a = 1; b = 2R:   R<   s   exec ... in g (%s), l (%s)(   Rm   R   t   typest   hasattrt   has_keyt   warningst   filterwarnings(   R   RX   R   t   gt   lR   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testExec  s>        
  'c         C   s   d p t   d p
 t  d  d   p t   d p t  d    y d p
 t  d  Wn, t  j
 o  } |  i | i d d  n X|  i d  d  S(   Ni   c         S   s   |  S(    (    (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV   ,  s    c         S   s   |  d  S(   i   (    (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV   -  s    i    Re   s%   AssertionError not raised by assert 0(   t   AssertionErrorR   R6   R   (   R   t   e(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt
   testAssert(  s    c         C   s   d  S(   N(    (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testIf9  s    c         C   s    d } d } |  i  | d  d  S(   Ni    i   (   R   (   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt	   testWhileF  s    c         C   s   x d
 D] } q Wx d D] \ } } } q Wd d d     Y} d } x | d  D] } | | } qQ W| d j o |  i  d	  n g  } x' d d d g D] \ } | i |  q W|  i | d d d g  d  S(   Ni   i   i   t   Squaresc           B   s#   e  Z d    Z d   Z d   Z RS(   c         S   s   | |  _  g  |  _ d  S(   N(   t   maxt   sofar(   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   __init__[  s    	c         S   s   t  |  i  S(   N(   R   R   (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   __len__^  s    c         S   sx   d | j o |  i  j  n p
 t  n t |  i  } x0 | | j o" |  i i | |  | d } q= W|  i | S(   Ni    i   (   R   t
   IndexErrorR   R   t   append(   R   Rw   t   n(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   __getitem___  s    ! 
 (   R!   R"   R   R   R   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyR   Z  s   		i    i
   i  s   for over growing sequence(   i   i   i   (    (    (   i   (   i   (   i   (   R   R   Rn   (   R   Rw   t   jt   kR   R   R   t   result(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testForU  s$           	c         C   s   y d d Wn t  j
 o n Xy d d WnA t j
 o n0 t j
 o	 } n t j
 o	 } n n Xy d d Wn t t t  f j
 o n Xy d d Wn t t t  f j
 o	 } n Xz Wd  Xd  S(   Ni   i    (   t   ZeroDivisionErrort   EOFErrort	   TypeErrorR   (   R   Re   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testTryp  s2              c         C   s   d  S(   N(    (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt	   testSuite  s    c         C   sm   d p n d o n d p d o n d p n d o d o n d p d p d o d o n d  S(   Ni   (    (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testTest  s       	   c         C   sY  d d j } d d j o n d d j o n d d j o n d d j  o n d d j o n d d j o n d d j o n d d j o n d d j	 o n d d j o n d d j o n d d j  ov d j oj d j o^ d j oR d j oF d j o: d j o. d j o" d j o d j o
 d j	 n o n d  S(   Ni   (    (    (    (   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testComparison  s2                c         C   s   d } d } d } d  S(   Ni   i   i    i   (    (   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testBinaryMaskOps  s    c         C   s   d } d } d } d  S(   Ni   i   i    i   i   (    (   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testShiftOps  s    c         C   s   d } d } d } d } d  S(	   Ni   i   i    ii    i   i    i   (    (   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testAdditiveOps  s    c         C   s,   d } d d } d } d d d d } d  S(   Ni   i   i    (    (   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testMultiplicativeOps  s    
c         C   s7   d 
} d } d } d d Ad B} d d d	 d } d  S(   Ni   iiii   i   iii   i   ii(    (   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testUnaryOps  s
    c   	      C   s  d d  k  } d d  k } | i d } | i   } | i d i   } d } | d } | d } | d d !} | d  } | d } | } | d } | d  } | d d !} h  } d	 | d	 <d
 | d <d | d <d | d <t |  } | i   |  i t |  d  d  S(   Nii    R   t   01234i   iiii   i   i   i   s   [1, (1,), (1, 2), (1, 2, 3)](   i   (   i   i   (   i   i   i   (   R   R   R   t   modulesR.   t   sortR   t   str(	   R   R   R   R>   R   R:   R   RE   t   L(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testSelectors  s,    










c         C   sU  d } d p d p d } d p d p d d d f } g  } d g } d p d p d g } d p d p d d d g } g  } h  } h d d 6} h d d 6} h d p d d p d 6} h d d 6d d 6} h d d 6d d 6} h d d 6d d 6d d 6d d 6d	 d
 6d d 6} | } d p d p d } |  i  d d  | } d } d } d  S(   Ni   i   i   t   oneR(   t   threei   t   fouri   t   fivei   t   sixs   (1, 2)R   i{   (   i   i   s   (1, 2)(   Rn   (   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt	   testAtoms  s*    	0c   	      C   s   d d d     Y} d d d     Y} d | f d     Y} d | f d     Y} d	 | | | f d
     Y} d d d     Y} d   } | d d d     Y } |  i  | i t  d  S(   Nt   Bc           B   s   e  Z RS(    (   R!   R"   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyR     s    t   B2c           B   s   e  Z RS(    (   R!   R"   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyR     s    t   C1c           B   s   e  Z RS(    (   R!   R"   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyR     s    t   C2c           B   s   e  Z RS(    (   R!   R"   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyR     s    t   Dc           B   s   e  Z RS(    (   R!   R"   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyR     s    t   Cc           B   s#   e  Z d    Z d   Z d   Z RS(   c         S   s   d  S(   N(    (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   meth1  s    c         S   s   d  S(   N(    (   R   t   arg(    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   meth2  s    c         S   s   d  S(   N(    (   R   R5   R7   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   meth3  s    (   R!   R"   R   R   R   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyR     s   		c         S   s   t  |  _ |  S(   N(   t   Truet	   decorated(   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   class_decorator  s    	t   Gc           B   s   e  Z RS(    (   R!   R"   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyR   !  s   (    (    (    (    (   Rn   R   R   (	   R   R   R   R   R   R   R   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testClassdef  s    	c            sr  d d d d d g } d d d g } d	 d
 d g }   i  g  } | D] } | | i   qD ~ d d d g    i  g  } | D] } | d | q~ ~ d d d d d g    i  g  } | D] } | d j o | | q q ~ d d d g    i  g  }	 | D]  }
 | D] } |	 |
 | f qq~	 d$ d% d& d' d( d) d* d+ d, d- d. d/ d0 d1 d2 g    i  g  } | D]L }
 g  } | D] } d | j o | | q}q}~ D] } | |
 | f qql~ d3 d4 d5 d6 d7 d8 d9 d: d; d< g
    i  g  } t d  D] } | d   |  q~ d g d d g d d d g d d d d g d d d d d g g  d   }   i  | |  t t t g    f d   } |   t   d  t   d  d= d> d? g } d@ dA dB g } dC dD dE dF g } g  } | D]] \ } } | D]J \ } } | D]7 \ } } | | j o | | j o | | | f qqqq~ }   i  | dG dH dI dJ g  d  S(K   Ni   i   i   i   i   t   Applet   Bananat   Coconuts     Apples    Banana s   Coco  nut  s	   Coco  nuti   i	   i   i   R   c         S   s-   g  } t  |  d   D] } | |  | q ~ S(   i   (   t   range(   R:   RW   Rw   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV   9  s    i   i   i@   i   c         S   sG   g  } |  D]5 } | d j o" | d  | j  o
 d j  n q q ~ S(   Ni   i   (   Rm   (   R   RW   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   test_in_func<  s    c             sx     i  g  }  d d d g D]2 } |  g  } | | d g D] } | | q8 ~ q ~  d d g d d g d d g g  d  S(   Ni   i   i   i   i   i   (   Rn   (   RW   R   t   _[2]R   (   R   (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   test_nested_frontA  s    Rs"   [i, s for i in nums for s in strs]s   [x if y]t   Boeingt   Fordt
   Macdonaldsi
   t   Airlineri   t   Enginei   t   Cheeseburger(   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i   R   (   i
   R   (   i   R   (   i   R   (   i   i
   (   i   i   (   i   i   (   i   i   (   R   R   (   R   R   (   R   R   (   R   R   (   Rn   t   stripR   t   FalseR   (   R   t   numst   strst   spcsRW   R   R   R   t   _[3]t   _[4]Rw   t   _[5]t   _[6]RP   t   _[7]R   R   R   t	   supplierst   partst   suppartt   _[8]t   snot   snamet   pnot   pnamet   sp_snot   sp_pno(    (   R   s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testListcomps&  sL    :>E7				c3C			:c      &      sy  d   t  d  D } |  i | i   g  } t  d  D] } | | q6 ~  y | i   |  i d  Wn t j
 o n Xd   y1   f d     D } | i   |  i d  Wn t j
 o n X|  i t d   d D  g  } d D]  } d D] } | | | f q q ~  |  i t d	   d
 D  g  } d
 D]  } d D] } | | | f qGq=~  g  } t  d  D] } | | qx~   d   d     D D } |  i t |  t g  }	 t  d  D] } |	 | q~	   |  i t d   t  d  D  t g  }
 t  d  D] } |
 | d q~
   |  i t d   t  d  D  t g  } t  d  D]  } | d o | | | qiqi~   |  i t d   d   t  d  D D  t g  } t  d  D] } | | q~   |  i t d   d   d   t  d  D D D  t g  } t  d  D] } | | q4~   |  i t d   g  } d   t  d  D D] } | | qx~ D  t g  } t  d  D] } | | q~   |  i t d   d   d   t  d  D D D  t g  } t  d  D] } | | q~   |  i t d   d   d   t  d  D D D  d  t |  d  t |  d   d  S(!   Nc         s   s:   x3 |  ], } g  } t  d   D] } | | q ~ Vq Wd S(   i
   N(   R   (   R0   R   RW   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>g  s   	 i   i
   s&   should produce StopIteration exceptionc         3   s   x |  ] }   Vq Wd  S(   N(    (   R0   RE   (   R:   (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>q  s   	 s   should produce TypeErrorc         s   s0   x) |  ]" } x d  D] } | | f Vq Wq Wd S(   t   abcdN(    (   R0   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>w  s   	 R   c         s   s0   x) |  ]" } x d  D] } | | f Vq Wq Wd S(   t   xyN(    (   R0   R   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>x  s   	 t   abR   c         s   s   x |  ] } | Vq Wd  S(   N(    (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>{  s   	 c         s   s   x |  ] } | Vq Wd  S(   N(    (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>{  s   	 c         s   s   x |  ] } | d  Vq Wd S(   i   N(    (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>~  s   	 i   c         s   s,   x% |  ] } | d  o | | Vq q Wd S(   i   N(    (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 c         s   s   x |  ] } | Vq Wd  S(   N(    (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 c         s   s   x |  ] } | Vq Wd  S(   N(    (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 c         s   s   x |  ] } | Vq Wd  S(   N(    (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 c         s   s   x |  ] } | Vq Wd  S(   N(    (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 c         s   s   x |  ] } | Vq Wd  S(   N(    (   R0   RX   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 c         s   s   x |  ] } | Vq Wd  S(   N(    (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 c         s   s   x |  ] } | Vq Wd  S(   N(    (   R0   RX   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 c         s   s$   x |  ] } t  o	 | Vq q Wd  S(   N(   R   (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 c         s   s   x |  ] } | Vq Wd  S(   N(    (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 c         s   s$   x |  ] } t  o	 | Vq q Wd  S(   N(   R   (   R0   RX   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 c         s   s$   x |  ] } t  o	 | Vq q Wd  S(   N(   R   (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 c         s   s$   x |  ] } t  o	 | Vq q Wd  S(   N(   R   (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 c         s   s$   x |  ] } t  o	 | Vq q Wd  S(   N(   R   (   R0   RX   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 i    s   foo(x for x in range(10), 100)s   foo(100, x for x in range(10))(	   R   Rn   t   nextR   t   StopIterationR   R.   t   sumR   (   R   R   RW   R   R   R   R   R   R<   R   R   R   R   t   _[9]t   _[10]t   _[11]t   _[12](    (   R:   s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testGenexpse  s8    7

NN'=Q`Wara:c            s  d  d   t    D } d  |  i t t |   d  d  t      f d   t    D } d  t   |  i g  } t  d  D]& } t  d  D] } | | | f q q ~ t |   |  i g  } t  d  D]+   d o  d o |  qq q ~ d d d g  |  i t d	   t  d  D  d d d g  |  i g  } d d d g D] \  |  qf~ d
 d d g  |  i t d   d d d g D  d d d g  d  S(   Ni
   c         s   s   x |  ] } | Vq Wd  S(   N(    (   R0   Rw   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 i   c         3   sA   x: |  ]3 }   o& x# t    D] } | | f Vq  Wq q Wd  S(   N(   R   (   R0   Rw   R   (   t   tR   (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 i   i   i   i   c         s   s7   x0 |  ]) } | d  o | d o	 | Vq/ q q Wd S(   i   i   N(    (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 i   i   c         s   s   x |  ] \ } | Vq Wd  S(   N(    (   R0   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pys	   <genexpr>  s   	 i   i	   (   i   (   i   (   i   (   i   (   i   (   i	   (   R   Rn   R   R.   R   R   (   R   R   RW   Rw   R   R   R   (    (   R   R   s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testComprehensionSpecials  s         PX/@c            s    f d   } |  i  g  } d   d   f D]       o |     q, q, ~ t g  |  i  g  } d   d   f D]       o |     qw qw ~ t g  |  i  g  } d   d   f D]$     t  o |   t  q q ~ t g  |  i  d	 n | d
 d  d	  |  i  d o | d d  n d	 d	  |  i  d o d n d d  |  i  d o d n d d  |  i  d n d d  |  i  d o d p | d d  n d d  |  i  d p | d d  n | d d  d  |  i  d p d	 n | d d  d	  |  i  d	 n d t  |  i  d o d	 n d d  |  i  d n d d  |  i  d n d d	  |  i  d n d d  |  i  d d n d d  |  i  d o d d j  n d d  d  S(   Nc            s	     GH| S(   s@   helper to check that evaluation of expressions is done correctly(    (   Re   t   ret(   R   (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt
   _checkeval  s    c           S   s   t  S(    (   R   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV     s    c           S   s   t  S(    (   R   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV     s    c           S   s   t  S(    (   R   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV     s    c           S   s   t  S(    (   R   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV     s    c         S   s   |  o t  St S(    (   R   R   (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV     s    c         S   s   |  o t  St S(    (   R   R   (   R   (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyRV     s    i   i   s   check 1i    s   check 2i   s   check 3i   i   s   check 4s   check 5s   check 6i   i   i   i   i   i   (   Rn   R   R   (   R   R   RW   R   R   (    (   R   s.   /mit/python/lib/python2.6/test/test_grammar.pyt   testIfElseExpr  s&    KKQ '.0'('   R!   R"   R$   RU   R^   R`   Rc   Rr   Rs   Rt   Ru   Rx   R}   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyR#   |   sJ   						F												"															"		?	#	c           C   s   t  t t  d  S(   N(   R    R   R#   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt	   test_main  s    t   __main__(
   t   test.test_supportR    R   t   unittestR   t   TestCaseR   R#   R  R!   (    (    (    s.   /mit/python/lib/python2.6/test/test_grammar.pyt   <module>   s   
k   =	