???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................ó
{fc           @   s‡   d  d l  m Z m Z m Z d e j f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d	 „  ƒ  YZ	 d
 d „ Z
 d S(   i   (   t   grammart   tokent   tokenizet   PgenGrammarc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR      s   t   ParserGeneratorc           B   s°   e  Z d d  „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d d „ Z d „  Z d „  Z RS(   c         C   s    d  } | d  k r* t | ƒ } | j } n  | |  _ | |  _ t j | j ƒ |  _ |  j	 ƒ  |  j
 ƒ  \ |  _ |  _ | d  k	 r‰ | ƒ  n  i  |  _ |  j ƒ  d  S(   N(   t   Nonet   opent   closet   filenamet   streamR   t   generate_tokenst   readlinet	   generatort   gettokent   parset   dfast   startsymbolt   firstt   addfirstsets(   t   selfR
   R   t   close_stream(    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyt   __init__   s    		

	c         C   sŽ  t  ƒ  } |  j j ƒ  } | j ƒ  | j |  j ƒ | j d |  j ƒ x; | D]3 } d t | j ƒ } | | j | <| | j	 | <qL Wxñ | D]é } |  j | } g  } x— | D] } g  } xK t
 | j j ƒ  ƒ D]4 \ }	 }
 | j |  j | |	 ƒ | j |
 ƒ f ƒ qÌ W| j r,| j d | j | ƒ f ƒ n  | j | ƒ qª W| j j | ƒ | |  j | | ƒ f | j | j | <qŠ W| j |  j | _ | S(   Ni    i   (   R   R   t   keyst   sortt   removeR   t   insertt   lent   symbol2numbert   number2symbolt   sortedt   arcst	   iteritemst   appendt
   make_labelt   indext   isfinalt   statest
   make_firstt   start(   R   t   ct   namest   namet   it   dfaR&   t   stateR    t   labelt   next(    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyt   make_grammar   s.    	
",	*c         C   sJ   |  j  | } i  } x0 t | ƒ D]" } |  j | | ƒ } d | | <q  W| S(   Ni   (   R   R   R#   (   R   R)   R+   t   rawfirstR   R/   t   ilabel(    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR'   4   s    c         C   s„  t  | j ƒ } | d j ƒ  rÏ | | j k ry | | j k rH | j | S| j j | j | d  f ƒ | | j | <| Sq€t t | d  ƒ } | | j	 k r¥ | j	 | S| j j | d  f ƒ | | j	 | <| Sn± t
 | ƒ } | d j ƒ  r2| | j k r| j | S| j j t j | f ƒ | | j | <| SnN t j | } | | j	 k rY| j	 | S| j j | d  f ƒ | | j	 | <| Sd  S(   Ni    (   R   t   labelst   isalphaR   t   symbol2labelR"   R   t   getattrR   t   tokenst   evalt   keywordst   NAMER    t   opmap(   R   R)   R/   R3   t   itokent   value(    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR#   =   s6    c         C   sM   |  j  j ƒ  } | j ƒ  x- | D]% } | |  j k r  |  j | ƒ q  q  Wd  S(   N(   R   R   R   R   t	   calcfirst(   R   R*   R+   (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR   k   s
    
c      	   C   sj  |  j  | } d  |  j | <| d } i  } i  } x¹ | j j ƒ  D]¨ \ } } | |  j  k rÍ | |  j k r™ |  j | } | d  k r³ t d | ƒ ‚ q³ n |  j | ƒ |  j | } | j | ƒ | | | <q@ d | | <i d | 6| | <q@ Wi  }	 xd | j ƒ  D]V \ } }
 xG |
 D]? } | |	 k rGt d | | | |	 | f ƒ ‚ n  | |	 | <qWqÿ W| |  j | <d  S(   Ni    s   recursion for rule %ri   sA   rule %s is ambiguous; %s is in the first sets of %s as well as %s(   R   R   R   R    R!   t
   ValueErrorR?   t   update(   R   R+   R-   R.   t   totalsett   overlapcheckR/   R0   t   fsett   inverset   itsfirstt   symbol(    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR?   s   s2    

c   	      C   sï   i  } d  } xÖ |  j t j k rä x  |  j t j k rC |  j ƒ  q$ W|  j t j ƒ } |  j t j d ƒ |  j	 ƒ  \ } } |  j t j ƒ |  j
 | | ƒ } t | ƒ } |  j | ƒ t | ƒ } | | | <| d  k r | } q q W| | f S(   Nt   :(   R   t   typeR   t	   ENDMARKERt   NEWLINER   t   expectR;   t   OPt	   parse_rhst   make_dfaR   t   simplify_dfa(	   R   R   R   R+   t   at   zR-   t   oldlent   newlen(    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR   ‘   s"    
c            s  ‡  f d †  } ‡  f d †  ‰  t  | | ƒ | ƒ g } xÝ | D]Õ } i  } xS | j D]H } x? | j D]4 \ } }	 | d  k	 rc ˆ  |	 | j | i  ƒ ƒ qc qc WqS Wxp t | j ƒ  ƒ D]\ \ } }
 x= | D] } | j |
 k rÅ PqÅ qÅ Wt  |
 | ƒ } | j | ƒ | j | | ƒ q² Wq= W| S(   Nc            s   i  } ˆ  |  | ƒ | S(   N(    (   R.   t   base(   t
   addclosure(    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyt   closure°   s    c            sT   |  | k r d  Sd | |  <x3 |  j  D]( \ } } | d  k r$ ˆ  | | ƒ q$ q$ Wd  S(   Ni   (   R    R   (   R.   RU   R/   R0   (   RV   (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRV   ´   s    
(	   t   DFAStatet   nfasetR    R   t
   setdefaultR   R!   R"   t   addarc(   R   R(   t   finishRW   R&   R.   R    t   nfastateR/   R0   RY   t   st(    (   RV   s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRO   ©   s"    $c   
      C   sÊ   d G| GH| g } x± t  | ƒ D]£ \ } } d G| G| | k rE d pH d GHxu | j D]j \ } } | | k r~ | j | ƒ }	 n t | ƒ }	 | j | ƒ | d  k r¯ d |	 GHqT d | |	 f GHqT Wq Wd  S(   Ns   Dump of NFA fors     States   (final)t    s	       -> %ds       %s -> %d(   t	   enumerateR    R$   R   R"   R   (
   R   R+   R(   R\   t   todoR,   R.   R/   R0   t   j(    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyt   dump_nfaÍ   s    		c         C   s„   d G| GHxt t  | ƒ D]f \ } } d G| G| j r9 d p< d GHx; t | j j ƒ  ƒ D]$ \ } } d | | j | ƒ f GHqT Wq Wd  S(   Ns   Dump of DFA fors     States   (final)R_   s       %s -> %d(   R`   R%   R   R    R!   R$   (   R   R+   R-   R,   R.   R/   R0   (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyt   dump_dfaÝ   s
    	"c         C   s¦   t  } x™ | r¡ t } x† t | ƒ D]x \ } } xi t | d t | ƒ ƒ D]N } | | } | | k rH | | =x | D] } | j | | ƒ qr Wt  } PqH qH Wq" Wq	 Wd  S(   Ni   (   t   Truet   FalseR`   t   rangeR   t
   unifystate(   R   R-   t   changesR,   t   state_iRb   t   state_jR.   (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRP   ä   s    	 
c         C   s±   |  j  ƒ  \ } } |  j d k r+ | | f St ƒ  } t ƒ  } | j | ƒ | j | ƒ xI |  j d k r¢ |  j ƒ  |  j  ƒ  \ } } | j | ƒ | j | ƒ qZ W| | f Sd  S(   Nt   |(   t	   parse_altR>   t   NFAStateR[   R   (   R   RQ   RR   t   aat   zz(    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRN   ù   s    
		
c         C   sr   |  j  ƒ  \ } } xS |  j d k s? |  j t j t j f k rg |  j  ƒ  \ } } | j | ƒ | } q W| | f S(   Nt   (t   [(   Rq   Rr   (   t
   parse_itemR>   RI   R   R;   t   STRINGR[   (   R   RQ   t   bR)   t   d(    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRm   
  s    
c         C   sÁ   |  j  d k rU |  j ƒ  |  j ƒ  \ } } |  j t j d ƒ | j | ƒ | | f S|  j ƒ  \ } } |  j  } | d k r† | | f S|  j ƒ  | j | ƒ | d k r³ | | f S| | f Sd  S(   NRr   t   ]t   +t   *(   Rx   Ry   (   R>   R   RN   RL   R   RM   R[   t
   parse_atom(   R   RQ   RR   R>   (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRs     s    

	


c         C   s¹   |  j  d k rH |  j ƒ  |  j ƒ  \ } } |  j t j d ƒ | | f S|  j t j t j f k rœ t	 ƒ  } t	 ƒ  } | j
 | |  j  ƒ |  j ƒ  | | f S|  j d |  j |  j  ƒ d  S(   NRq   t   )s+   expected (...) or NAME or STRING, got %s/%s(   R>   R   RN   RL   R   RM   RI   R;   Rt   Rn   R[   t   raise_error(   R   RQ   RR   (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRz   (  s    

		

	c         C   sc   |  j  | k s* | d  k	 rL |  j | k rL |  j d | | |  j  |  j ƒ n  |  j } |  j ƒ  | S(   Ns   expected %s/%s, got %s/%s(   RI   R   R>   R|   R   (   R   RI   R>   (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRL   9  s    *		
c         C   si   |  j  j ƒ  } x/ | d t j t j f k r@ |  j  j ƒ  } q W| \ |  _ |  _ |  _ |  _ |  _	 d  S(   Ni    (
   R   R0   R   t   COMMENTt   NLRI   R>   t   begint   endt   line(   R   t   tup(    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR   A  s    c         G   ss   | r@ y | | } Wq@ d j  | g t t | ƒ ƒ } q@ Xn  t | |  j |  j d |  j d |  j f ƒ ‚ d  S(   Nt    i    i   (   t   joint   mapt   strt   SyntaxErrorR
   R€   R   (   R   t   msgt   args(    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR|   H  s    &N(   R   R   R   R   R1   R'   R#   R   R?   R   RO   Rc   Rd   RP   RN   Rm   Rs   Rz   RL   R   R|   (    (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR   
   s$   				.				$					
			Rn   c           B   s   e  Z d  „  Z d d „ Z RS(   c         C   s   g  |  _  d  S(   N(   R    (   R   (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR   S  s    c         C   s   |  j  j | | f ƒ d  S(   N(   R    R"   (   R   R0   R/   (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR[   V  s    N(   R   R   R   R   R[   (    (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRn   Q  s   	RX   c           B   s2   e  Z d  „  Z d „  Z d „  Z d „  Z d Z RS(   c         C   s%   | |  _  | | k |  _ i  |  _ d  S(   N(   RY   R%   R    (   R   RY   t   final(    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR   ]  s    	c         C   s   | |  j  | <d  S(   N(   R    (   R   R0   R/   (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyR[   e  s    c         C   s@   x9 |  j  j ƒ  D]( \ } } | | k r | |  j  | <q q Wd  S(   N(   R    R!   (   R   t   oldt   newR/   R0   (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRh   k  s    c         C   sx   |  j  | j  k r t St |  j ƒ t | j ƒ k r8 t Sx9 |  j j ƒ  D]( \ } } | | j j | ƒ k	 rH t SqH Wt S(   N(   R%   Rf   R   R    R!   t   getRe   (   R   t   otherR/   R0   (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyt   __eq__p  s    N(   R   R   R   R[   Rh   R   R   t   __hash__(    (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyRX   [  s
   				s   Grammar.txtc         C   s   t  |  ƒ } | j ƒ  S(   N(   R   R1   (   R
   t   p(    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyt   generate_grammar€  s    N(   R_   R    R   R   t   GrammarR   t   objectR   Rn   RX   R’   (    (    (    s*   /usr/lib64/python2.7/lib2to3/pgen2/pgen.pyt   <module>   s   ÿ H
%