MINI MINI MANI MO
ó
Eì]c           @   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  } xE | 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   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   sD   |  j  | } i  } x* | D]"