£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

f!  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 Gd d   d e  Z d	 d d d d d
 d  Z d d   Z d d   Z e d k r e j e e     n  d S(   uZ   Parser driver.

This provides a high-level interface to parse a file into a syntax tree.

u#   Guido van Rossum <guido@python.org>u   Driveru   load_grammari    Ni   (   u   grammaru   parseu   tokenu   tokenizeu   pgenc             B   st   |  Ee  Z d  Z d d d d  Z d d d  Z d d d  Z d d d  Z d d d	 d
  Z	 d d d  Z
 d S(   u   Driverc             C   s:   | |  _  | d  k r$ t j   } n  | |  _ | |  _ d  S(   N(   u   grammaru   Noneu   loggingu	   getLoggeru   loggeru   convert(   u   selfu   grammaru   convertu   logger(    (    u9   /opt/alt/python33/lib64/python3.3/lib2to3/pgen2/driver.pyu   __init__   s
    		u   Driver.__init__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 rc| | 7} |	 \ } } | j
 d  rQ | d 7} d } qQ qQ n  | t j k rt 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(	   u4   Parse a series of tokens and return the syntax tree.i   i    u    u   
u   %s %r (prefix=%r)u   Stop.u   incomplete inputN(   u   parseu   Parseru   grammaru   convertu   setupu   Noneu   AssertionErroru   tokenizeu   COMMENTu   NLu   endswithu   tokenu   OPu   opmapu   loggeru   debugu   tok_nameu   addtokenu
   ParseErroru   rootnode(   u   selfu   tokensu   debugu   pu   linenou   columnu   typeu   valueu   startu   endu	   line_textu   prefixu	   quintupleu   s_linenou   s_column(    (    u9   /opt/alt/python33/lib64/python3.3/lib2to3/pgen2/driver.pyu   parse_tokens&   sT    
*	

	
	u   Driver.parse_tokensc             C   s"   t  j | j  } |  j | |  S(   u*   Parse a stream and return the syntax tree.(   u   tokenizeu   generate_tokensu   readlineu   parse_tokens(   u   selfu   streamu   debugu   tokens(    (    u9   /opt/alt/python33/lib64/python3.3/lib2to3/pgen2/driver.pyu   parse_stream_rawV   s    u   Driver.parse_stream_rawc             C   s   |  j  | |  S(   u*   Parse a stream and return the syntax tree.(   u   parse_stream_raw(   u   selfu   streamu   debug(    (    u9   /opt/alt/python33/lib64/python3.3/lib2to3/pgen2/driver.pyu   parse_stream[   s    u   Driver.parse_streamc          
   C   s;   t  j | d |  } z |  j | |  SWd | j   Xd S(   u(   Parse a file and return the syntax tree.u   rN(   u   codecsu   openu   parse_streamu   close(   u   selfu   filenameu   encodingu   debugu   stream(    (    u9   /opt/alt/python33/lib64/python3.3/lib2to3/pgen2/driver.pyu
   parse_file_   s    u   Driver.parse_filec             C   s+   t  j t j |  j  } |  j | |  S(   u*   Parse a string and return the syntax tree.(   u   tokenizeu   generate_tokensu   iou   StringIOu   readlineu   parse_tokens(   u   selfu   textu   debugu   tokens(    (    u9   /opt/alt/python33/lib64/python3.3/lib2to3/pgen2/driver.pyu   parse_stringg   s    u   Driver.parse_stringNF(   u   __name__u
   __module__u   __qualname__u   Noneu   __init__u   Falseu   parse_tokensu   parse_stream_rawu   parse_streamu
   parse_fileu   parse_string(   u
   __locals__(    (    u9   /opt/alt/python33/lib64/python3.3/lib2to3/pgen2/driver.pyu   Driver   s   0u   Grammar.txtc       	      C   s<  | d k r t j   } n  | d k r~ t j j |   \ } } | d k rT d } n  | | d j t t t	 j
   d } n  | s t | |   r| j d |   t j |   } | r8| j d |  y | j |  Wqt k
 r} z | j d t |   WYd d } ~ XqXq8n t j   } | j |  | S(	   u'   Load the grammar (maybe from a pickle).u   .txtu    u   .u   .pickleu!   Generating grammar tables from %su   Writing grammar tables to %su   Writing failed:N(   u   Noneu   loggingu	   getLoggeru   osu   pathu   splitextu   joinu   mapu   stru   sysu   version_infou   _neweru   infou   pgenu   generate_grammaru   dumpu   IOErroru   grammaru   Grammaru   load(	   u   gtu   gpu   saveu   forceu   loggeru   headu   tailu   gu   e(    (    u9   /opt/alt/python33/lib64/python3.3/lib2to3/pgen2/driver.pyu   load_grammarm   s&    	*0c             C   sN   t  j j |   s d St  j j |  s, d St  j j |   t  j j |  k S(   u0   Inquire whether file a was written since file b.FT(   u   osu   pathu   existsu   Falseu   Trueu   getmtime(   u   au   b(    (    u9   /opt/alt/python33/lib64/python3.3/lib2to3/pgen2/driver.pyu   _newer   s
    u   _newerc              G   si   |  s t  j d d  }  n  t j d t j d t  j d d  x$ |  D] } t | d d	 d d	 qE Wd	 S(
   u   Main program, when run as a script: produce grammar pickle files.

    Calls load_grammar for each argument, a path to a grammar text file.
    i   Nu   levelu   streamu   formatu   %(message)su   saveu   forceT(   u   sysu   argvu   loggingu   basicConfigu   INFOu   stdoutu   load_grammaru   True(   u   argsu   gt(    (    u9   /opt/alt/python33/lib64/python3.3/lib2to3/pgen2/driver.pyu   main   s    u   mainu   __main__TF(   u   __doc__u
   __author__u   __all__u   codecsu   iou   osu   loggingu   sysu    u   grammaru   parseu   tokenu   tokenizeu   pgenu   objectu   Driveru   Noneu   Trueu   Falseu   load_grammaru   _neweru   mainu   __name__u   exitu   int(    (    (    u9   /opt/alt/python33/lib64/python3.3/lib2to3/pgen2/driver.pyu   <module>   s   (P	