MINI MINI MANI MO
ó
Eì]c           @   sæ   d  Z  d Z d d g Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l m	 Z	 m
 Z
 m Z m Z m
 Z
 d e f d „  ƒ  YZ d	 d e e d d
 „ Z d „  Z d „  Z e d
 k râ e j e e ƒ  ƒ ƒ n  d S(   sZ   Parser driver.
This provides a high-level interface to parse a file into a syntax tree.
s#   Guido van Rossum <guido@python.org>t   Drivert   load_grammariÿÿÿÿNi   (   t   grammart   parset   tokent   tokenizet   pgenc           B   sV   e  Z d d d  „ Z e d „ Z e d „ Z e d „ Z d e d „ Z e d „ Z	 RS(   c         C   s:   | |  _  | d  k r$ t j ƒ  } n  | |  _ | |  _ d  S(   N(   R   t   Nonet   loggingt	   getLoggert   loggert   convert(   t   selfR   R   R
   (    (    s,   /usr/lib64/python2.7/lib2to3/pgen2/driver.pyt   __init__   s
    		c         C   s=  t  j |  j |  j ƒ } | j ƒ  d } d } d	 } } } }	 }
 d } xé| D]Ã} | \ } } } }	 }
 | | | f k r
| | f | k s¨ t | | f | f ƒ ‚ | \ }
 } | |
 k  rá | d |
 | 7} |
 } d } n  | | k  r
| |
 | | !7} | } q
n  | t j t j	 f k r`| | 7} |	 \ } } | j
 d ƒ rQ | d 7} d } qQ qQ n  | t j k rt j
 | } n  | r¨|  j j d t j | | | ƒ n  | j | | | | f ƒ rà| rÜ|  j j d ƒ n  Pn  d } |	 \ } } | j
 d ƒ rQ | d 7} d } qQ qQ Wt  j d | | | | f ƒ ‚ | j S(
   s4   Parse a series of tokens and return the syntax tree.i   i    u    s   
s   %s %r (prefix=%r)s   Stop.t    s   incomplete inputN(   R   t   ParserR   R   t   setupR   t   AssertionErrorR   t   COMMENTt   NLt   endswithR   t   OPt   opmapR
   t   debugt   tok_namet   addtokent
   ParseErrort   rootnode(   R   t   tokensR   t   pt   linenot   columnt   typet   valuet   startt   endt	   line_textt   prefixt	   quintuplet   s_linenot   s_column(    (    s,   /usr/lib64/python2.7/lib2to3/pgen2/driver.pyt   parse_tokens&