‡Æ
—[d:c       s¾     d  k  Z   d  k Z  d  k Z  e d ƒ \ Z Z Z Z   e i d e i	 e i
 Bƒ i Z & e i d e i	 ƒ i Z / e i d e i	 e i Bƒ i Z D e i d e i	 ƒ i Z K e i d e i	 ƒ i Z [ e i d e i	 ƒ i Z b d g d	 Z c x& d
 d c r Z d d e e e ƒ <qWe x& d d e r Z f d e e e ƒ <q=Wg x& d d g r Z h e e e e ƒ <qiWi e  i e d ƒ Z j [ l d f  d „  ƒ  YZ d  S(   Ni   sí   
    ^
    [ \t]*
    (?: if
    |   for
    |   while
    |   else
    |   def
    |   return
    |   assert
    |   break
    |   class
    |   continue
    |   elif
    |   try
    |   except
    |   raise
    |   import
    )
    \b
s'   
    [ \t]*
    (?: \# \S .* )?
    \n
sK  
    \""" [^"\\]* (?:
                     (?: \\. | "(?!"") )
                     [^"\\]*
                 )*
    (?: \""" )?

|   " [^"\\\n]* (?: \\. [^"\\\n]* )* "?

|   ''' [^'\\]* (?:
                   (?: \\. | '(?!'') )
                   [^'\\]*
                )*
    (?: ''' )?

|   ' [^'\\\n]* (?: \\. [^'\\\n]* )* '?
sM   
    [ \t]*
    [^\s#\\]    # if we match, m.end()-1 is the interesting char
s_   
    \s*
    (?: return
    |   break
    |   continue
    |   raise
    |   pass
    )
    \b
s   
    [^[\](){}#'"\\]+
s   xi   s   ({[i    s   (s   )}]s   )s   "'\
#s    s   Parserc      sæ   l n d „  Z  r d „  Z • e e i e d „ Z Ö d „  Z ß e i e i	 d „ Z
 Xd „  Z he i e i	 e i d „ Z Îe i	 d „ Z îd	 „  Z ÷d
 „  Z -d „  Z 8d „  Z >d „  Z Ce Z Ed „  Z RS(   Nc    s   n o | |  _  p | |  _ d  S(   N(   s   indentwidths   selfs   tabwidth(   s   selfs   indentwidths   tabwidths+   /mit/python/share/python2.0/idle/PyParse.pys   __init__n s   c    sî   r s t  o, t | ƒ d j p | d d j p t ‚ t t | ƒ t d ƒ j o} { | } | g  } } | i } ~ xC t t	 | ƒ d ~ r- }  | | d j  o
 t | ƒ p d ƒ qˆ W€ d i | ƒ } n  | |  _ ‚ d |  _ d  S(   Ni    i   s   
u    i   s   xs    (   s	   __debug__s   lens   strs   AssertionErrors   types	   uniphooeys   appends   pushs   maps   ords   raws   chrs   joins   selfs   study_level(   s   selfs   strs	   uniphooeys   pushs   raws+   /mit/python/share/python2.0/idle/PyParse.pys   set_strr s   6		 	+c    s[  • ˜ |  i t f \ } } ™ | ot › d t i } œ | | | ƒ }  | d j o7 ž | t	 | ƒ } ¢ | | d  d | | |  _ n £ | Sn ¦ | o ¨ t Sn ­ t	 | ƒ }	 ® x¸ t d ƒ d ® r¥ }
 ¯ | | d d |	 ƒ } ° | d j  o ± Pn ² | | d d | ƒ d } ³ | | | |	 ƒ } ´ | o | | i ƒ  ƒ o µ | i ƒ  } ¶ Pn · | }	 qÐ W¸ | t j oK Á | | ƒ } Â | o | | i ƒ  ƒ o Ã | i ƒ  } n Ä | Sn È | d } É xf É d o[ Ê | | | ƒ } Ë | o7 Ì | i ƒ  \ } } Í | | ƒ o Î | } n n Ð PqêWÑ | Sd  S(   Ns   
i    i   i   s   :
(   s   selfs   strs   Nones   poss   use_ps1s   syss   ps1s   _rfinds   is   lens   is_char_in_strings   limits   ranges   triess   _synchres   ms   starts   spans   s(   s   selfs   use_ps1s   is_char_in_strings   _rfinds   _synchres   strs   poss   ps1s   is   limits   triess   ms   ss+   /mit/python/share/python2.0/idle/PyParse.pys   find_good_parse_start• sJ   
$ 		 

	c    sd   Ö × t  o, | d j p |  i | d d j p t ‚ Ø | d j o Ù |  i | |  _ n d  S(   Ni    i   s   
(   s	   __debug__s   los   selfs   strs   AssertionError(   s   selfs   los+   /mit/python/share/python2.0/idle/PyParse.pys   set_loÖ s   6c    s?  ß à |  i d j o á d  Sn â d |  _ è |  i } é t i | t ƒ } ê | | d d ƒ } ë | | d d ƒ } ì | | d d ƒ } í | | d d ƒ } î | | d d ƒ } õ t } ö d } } ÷ d g |  _ } ø | i } ù d t | ƒ f \ }	 }
 ú x£ú |	 |
 j  o’û | |	 } ü |	 d }	 ÿ | d j o
  qn | d j o8 | d } | d j o | | ƒ n qn 	| d	 j o 
| d } qn | d
 j o% | o | d } n qn | d j p
 | d j o½| } | |	 d |	 d !| d j o | d } n t | ƒ d } |	 | }	 xP|	 |
 j  o6| |	 } |	 d }	 | d j o
 qun !| |	 d |	 | !| j o "|	 | }	 #Pn %| d j oP &| d } '| d j o) )| d j o *| | ƒ n +Pn ,qun .| d j oZ /t o |	 |
 j  p t ‚ 0| |	 d j o 1| d } n 2|	 d }	 3qun quW:t } ;qn =| d j o= ?| | d |	 ƒ }	 @t o |	 d j p t ‚ Aqn Ct o | d j p t ‚ Dt o |	 |
 j  p t ‚ E| |	 d j o2 F| d } G|	 d |
 j o Ht } n n I|	 d }	 qWN| t j o
 | d j o Ot } n P| |  _ Tt o% | t j | d | j j p t ‚ U| d | j o V| | ƒ n d  S(   Ni   s   xxxxxxxxs   xs   xxxxs   xxs   
xs   
i    s   (s   )s   "s   'i   i   s   \s   #(   s   selfs   study_levels   strs   strings	   translates   _trans   _replaces   C_NONEs   continuations   levels   lnos	   goodliness   appends	   push_goods   lens   is   ns   chs   quotes   ws	   __debug__s   AssertionErrors   C_STRINGs   _finds   C_BACKSLASHs	   C_BRACKET(   s   selfs   _replaces   _finds   strs   continuations   levels   lnos	   goodliness	   push_goods   is   ns   chs   quotes   ws+   /mit/python/share/python2.0/idle/PyParse.pys   _study1ß s    	 




	# 

	

/c    s   XY|  i ƒ  Z|  i Sd  S(   N(   s   selfs   _study1s   continuation(   s   selfs+   /mit/python/share/python2.0/idle/PyParse.pys   get_continuation_typeXs   c    sL  hj|  i d j o kd  Sn l|  i ƒ  md |  _ p|  i |  i f \ } } qt | ƒ d } rt | ƒ } sx¦ s| o› tt o | p t	 ‚ w| } xxH t | | d | | ƒ d xr& }	 z| | d d | d ƒ d } qÉ W}t | | ƒ o ~| d } n €Pq} W| d j o+ ƒt o | d j p t	 ‚ „| } n …| | f \ |  _ |  _ ‰d }
 Šg  } ‹| i } Œx€Œ| | j  ooŽt | | | ƒ } | o› ‘| i ƒ  } “| d } ”x3 ”| | j o | | d j o •| d } qîW–| | j o —| | }
 n ˜| } ™| | j o šPn n œ| | } ž| d j o- Ÿ| | ƒ  | }
 ¡| d } ¢qn ¤| d j o9 ¥| o ¦| d =n §| }
 ¨| d } ©qn «| d	 j p
 | d
 j o. ³| }
 ´t | | | ƒ i ƒ  } µqn ·| d j oD ¹| | d | | ƒ d } ºt o | d j p t	 ‚ »qn ½t o | d j p t	 ‚ ¾| d } ¿t o | | j  p t	 ‚ À| | d j o Â| | | }
 n Ã| d } qWÇ|
 |  _ È| o É| d |  _ n d  S(   Ni   i   i    s   
s    s    	
s   ([{s   )]}s   "s   's   #s   \(   s   selfs   study_levels   _study1s   strs	   goodliness   lens   is   ps	   __debug__s   AssertionErrors   qs   ranges   nothings   _rfinds   _junkres
   stmt_starts   stmt_ends   lastchs   stacks   appends
   push_stacks   _chew_ordinaryres   ms   ends   newps   chs   _match_stringres   _finds   lastopenbracketpos(   s   selfs   _rfinds   _finds   _wss   strs	   goodliness   is   ps   qs   nothings   lastchs   stacks
   push_stacks   ms   newps   chs+   /mit/python/share/python2.0/idle/PyParse.pys   _study2hs†    
	! 	$			 
 !		

	
	


c 	   ss  ÎÏ|  i ƒ  Ðt o |  i t j p t ‚ Ñ|  i } Ò|  i } Ót	 | ƒ } Ôt i | d d | ƒ d } } Õ| d } ×x· ×| | j  oa Øt | | ƒ } Ù| o$ Ú| i ƒ  d } Ûd } ÜPn ß| | d | ƒ d } } qŽ Wã| } } äx& ä| | d j o å| d } qWæ|  i } çt	 t i | | | !è|  i ƒ ƒ | Sd  S(   Ns   
i    i   s    	(   s   selfs   _study2s	   __debug__s   continuations	   C_BRACKETs   AssertionErrors   lastopenbracketposs   js   strs   lens   ns   strings   rfinds   origis   is   _itemres   ms   ends   extras   _finds   indentwidths
   expandtabss   tabwidth(	   s   selfs   _finds   js   strs   ns   origis   is   ms   extras+   /mit/python/share/python2.0/idle/PyParse.pys   compute_bracket_indentÎs,   !# 
	" c    s5   îï|  i ƒ  ð|  i } ñ| d | d Sd  S(   Ni   i   (   s   selfs   _study1s	   goodlines(   s   selfs	   goodliness+   /mit/python/share/python2.0/idle/PyParse.pys   get_num_lines_in_stmtîs   c    s±  ÷ø|  i ƒ  ùt o |  i t j p t ‚ ú|  i } û|  i } üx& ü| | d j o ý| d } qO Wþ| } t
 i | d | ƒ d } d } } xR| | j  oA| | } | d j o | d } | d } n	| d j o, 
| o | d } n | d } nÇ | d j p
 | d j o t | | | ƒ i ƒ  } n‹ | d	 j o Pns | d j oA | d
 j o4 | d j p | | d d j o | | d d
 j o d } Pn | d } q­ W| o3 | d } t i d | | | !ƒ t j } n | o9 "| } #x& #| | d j o $| d } qVWn &t t
 i | |  i | !(|  i ƒ ƒ d Sd  S(   Ns    	i   s   
i    s   ([{s   )]}s   "s   's   #s   =s   =<>!s   \s*\\s    	
(   s   selfs   _study2s	   __debug__s   continuations   C_BACKSLASHs   AssertionErrors   strs
   stmt_starts   is   startposs   strings   finds   endposs   founds   levels   chs   _match_stringres   ends   res   matchs   Nones   lens
   expandtabss   tabwidth(   s   selfs   strs   is   startposs   endposs   founds   levels   chs+   /mit/python/share/python2.0/idle/PyParse.pys   compute_backslash_indent÷sL   ! 	 
T	
&	 c    s‹   -.|  i ƒ  /|  i |  i f \ } } 0| } 1|  i } 2x3 2| | j  o | | d j o 3| d } qF W4| | | !Sd  S(   Ns    	i   (   s   selfs   _study2s
   stmt_starts   stmt_ends   is   ns   js   str(   s   selfs   is   ns   js   strs+   /mit/python/share/python2.0/idle/PyParse.pys   get_base_indent_string-s   	 !c    s$   89|  i ƒ  :|  i d j Sd  S(   Ns   :(   s   selfs   _study2s   lastch(   s   selfs+   /mit/python/share/python2.0/idle/PyParse.pys   is_block_opener8s   c    s0   >?|  i ƒ  @t |  i |  i ƒ t j	 Sd  S(   N(   s   selfs   _study2s   _closeres   strs
   stmt_starts   None(   s   selfs+   /mit/python/share/python2.0/idle/PyParse.pys   is_block_closer>s   c    s   EF|  i ƒ  G|  i Sd  S(   N(   s   selfs   _study2s   lastopenbracketpos(   s   selfs+   /mit/python/share/python2.0/idle/PyParse.pys   get_last_open_bracket_posEs   (   s   __init__s   set_strs   Nones   strings   rfinds   _synchres   find_good_parse_starts   set_los   replaces   finds   _study1s   get_continuation_types
   whitespaces   _study2s   compute_bracket_indents   get_num_lines_in_stmts   compute_backslash_indents   get_base_indent_strings   is_block_openers   is_block_closers   lastopenbracketposs   get_last_open_bracket_pos(    s+   /mit/python/share/python2.0/idle/PyParse.pys   Parserl s   #A	yf 	6	(   s   strings   res   syss   ranges   C_NONEs   C_BACKSLASHs   C_STRINGs	   C_BRACKETs   compiles   VERBOSEs	   MULTILINEs   searchs   _synchres   matchs   _junkres   DOTALLs   _match_stringres   _itemres   _closeres   _chew_ordinaryres   _trans   chs   ords   joins   Parser(    s+   /mit/python/share/python2.0/idle/PyParse.pys   ? s.   "	" 	 	 	