;
?c           @   s3  d  Z  d k Z d k Z d g Z e i d  Z e i d  Z e i d  Z e i d  Z e i d  Z	 e i d  Z
 e i d	  Z e i d
  Z e i d  Z e i d  Z e i d  Z d e f d     YZ d e i f d     YZ d e f d     YZ e d  Z e d j o e   n d S(   s;   A parser for SGML, using the derived class as a static DTD.Ns
   SGMLParsers   [&<]sN   &([a-zA-Z][a-zA-Z0-9]*|#[0-9]*)?|<([a-zA-Z][^<>]*|/([a-zA-Z][^<>]*)?|![^<>]*)?s%   &([a-zA-Z][-.a-zA-Z0-9]*)[^a-zA-Z0-9]s   &#([0-9]+)[^0-9]s
   <[>a-zA-Z]s   <[a-zA-Z][-.a-zA-Z0-9]*/s"   <([a-zA-Z][-.a-zA-Z0-9]*)/([^/]*)/s   >s   [<>]s   [a-zA-Z][-_.a-zA-Z0-9]*sb   \s*([a-zA-Z_][-:.a-zA-Z_0-9]*)(\s*=\s*(\'[^\']*\'|"[^"]*"|[-a-zA-Z0-9./,:;+*%?!&$\(\)_#=~\'"@]*))?s   SGMLParseErrorc           B   s   t  Z d  Z RS(   s&   Exception raised for all parse errors.(   s   __name__s
   __module__s   __doc__(    (    (    s$   /mit/python/lib/python2.3/sgmllib.pys   SGMLParseError'   s    c           B   s@  t  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   Z d   Z d   Z d   Z d   Z h  d d <d d <d d <d d <d d <Z d    Z d!   Z d"   Z d#   Z d$   Z d%   Z d&   Z d'   Z d(   Z RS()   Ni    c         C   s   | |  _  |  i   d S(   s#   Initialize and reset this instance.N(   s   verboses   selfs   reset(   s   selfs   verbose(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   __init__9   s     	c         C   sJ   t  |  _ d |  _ g  |  _ d |  _ d |  _ d |  _ t i	 i
 |   d S(   s0   Reset this instance. Loses all unprocessed data.s    s   ???i    N(   s   Nones   selfs   _SGMLParser__starttag_texts   rawdatas   stacks   lasttags
   nomoretagss   literals
   markupbases
   ParserBases   reset(   s   self(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   reset>   s     						c         C   s   d |  _ |  _ d S(   sY   Enter literal mode (CDATA) till EOF.

        Intended for derived classes only.
        i   N(   s   selfs
   nomoretagss   literal(   s   self(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   setnomoretagsH   s     c         G   s   d |  _ d S(   sP   Enter literal mode (CDATA).

        Intended for derived classes only.
        i   N(   s   selfs   literal(   s   selfs   args(    (    s$   /mit/python/lib/python2.3/sgmllib.pys
   setliteralO   s     c         C   s!   |  i | |  _ |  i d  d S(   s   Feed some data to the parser.

        Call this as often as you want, with as little or as much text
        as you want (may include '
').  (This just saves the text,
        all the processing is done by goahead().)
        i    N(   s   selfs   rawdatas   datas   goahead(   s   selfs   data(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   feedV   s     c         C   s   |  i d  d S(   s   Handle the remaining data.i   N(   s   selfs   goahead(   s   self(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   closea   s     c         C   s   t  |   d  S(   N(   s   SGMLParseErrors   message(   s   selfs   message(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   errore   s    c   	      C   sz  |  i } d } t |  } x| | j  o|  i o |  i | | | ! | } Pn t i | |  } | o | i
   } n | } | | j  o |  i | | | ! n | } | | j o Pn | | d j ot i	 | |  oZ |  i o" |  i | |  | d } q n |  i |  } | d j  o Pn | } q n | i d |  o7 |  i |  } | d j  o Pn | } d |  _ q n |  i o4 | | d j o |  i d  | d } q Pq n | i d |  o. |  i |  } | d j  o Pn | } q n | i d |  o2 |  i |  } | d j  o Pn | | } q n | i d |  o. |  i |  } | d j  o Pn | } q qn+| | d j o|  i o" |  i | |  | d } q n t i	 | |  } | oU | i d  } |  i |  | i d  } | | d d	 j o | d } q q n t i	 | |  } | oU | i d  } |  i |  | i d  } | | d d	 j o | d } q q qn |  i d
  t i	 | |  } | o" |  i | |  | d } q n | i d  } | | j o Pn |  i | | | ! | } q W| o
 | | j  o |  i | | | ! | } n | | |  _ d  S(   Ni    s   <i   s   </s   <!--s   <?s   <!s   &s   ;s   neither < nor & ??(   s   selfs   rawdatas   is   lens   ns
   nomoretagss   handle_datas   interestings   searchs   matchs   starts   js   starttagopens   literals   parse_starttags   ks
   startswiths   parse_endtags   parse_comments   parse_pis   parse_declarations   charrefs   groups   names   handle_charrefs   ends	   entityrefs   handle_entityrefs   errors
   incomplete(	   s   selfs   ends   names   is   js   ns   rawdatas   ks   match(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   goaheadk   s    	 
  

  	
  
 

  

s   =c         C   s   |  i } | | | d !d j o |  i d  n t i | | d  } | o d Sn | i d  } |  i	 | | d | ! | i
 d  } | | Sd  S(   Ni   s   <?s   unexpected call to parse_pi()ii    (   s   selfs   rawdatas   is   errors   picloses   searchs   matchs   starts   js	   handle_pis   end(   s   selfs   is   js   rawdatas   match(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   parse_pi   s    	c         C   s   |  i Sd  S(   N(   s   selfs   _SGMLParser__starttag_text(   s   self(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   get_starttag_text   s    c         C   s  t  |  _ | } |  i } t i | |  o t i | |  } | o d Sn | i	 d d  \ } }	 d | |  _ | i   } | i d  }
 |  i | |	  | | | i d  d !|  _ |
 Sn t i | | d  } | o d Sn | i d  } g  } | | | d !d j o | }
 |  i } n_ t i | | d  } | o |  i d  n | i d  }
 | | d |
 !i   } | |  _ x |
 | j  o t i | |
  } | o Pn | i	 d d d  \ } } } | o
 | } n^ | d  d	 j o | d j n p# | d  d
 j o | d j n o | d d !} n | i | i   | f  | i d  }
 qW| | d j o | d } n | | | !|  _ |  i | |  | Sd  S(   Nii   i   s   <%s/i    s   <>s!   unexpected call to parse_starttagi   s   's   "s   >(   s   Nones   selfs   _SGMLParser__starttag_texts   is	   start_poss   rawdatas   shorttagopens   matchs   shorttags   groups   tags   datas   lowers   ends   ks   finish_shorttags
   endbrackets   searchs   starts   js   attrss   lasttags   tagfinds   errors   attrfinds   attrnames   rests	   attrvalues   appends   finish_starttag(   s   selfs   is   rests	   attrvalues   js   attrnames   tags   rawdatas	   start_poss   datas   ks   matchs   attrs(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   parse_starttag   sZ    			  
Lc         C   s   |  i } t i | | d  } | o d Sn | i d  } | | d | !i   i	   } | | d j o | d } n |  i |  | Sd  S(   Ni   ii    i   s   >(   s   selfs   rawdatas
   endbrackets   searchs   is   matchs   starts   js   strips   lowers   tags   finish_endtag(   s   selfs   is   js   tags   rawdatas   match(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   parse_endtag  s    	c         C   s.   |  i | g   |  i |  |  i |  d  S(   N(   s   selfs   finish_starttags   tags   handle_datas   datas   finish_endtag(   s   selfs   tags   data(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   finish_shorttag)  s    c         C   s   y t  |  d |  } Wnk t j
 o_ y t  |  d |  } Wn' t j
 o |  i | |  d Sq X|  i | | |  d Sn) X|  i i	 |  |  i | | |  d Sd  S(   Ns   start_s   do_ii    i   (
   s   getattrs   selfs   tags   methods   AttributeErrors   unknown_starttags   attrss   handle_starttags   stacks   append(   s   selfs   tags   attrss   method(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   finish_starttag0  s    		c         C   sx  | o9 t |  i  d } | d j  o |  i |  d  Sq n | |  i j oO y t |  d |  } Wn  t j
 o |  i |  n X|  i	 |  d  Sn t |  i  } x2 t
 |  D]$ } |  i | | j o
 | } q q Wx t |  i  | j ov |  i d } y t |  d |  } Wn t j
 o t } n X| o |  i | |  n |  i |  |  i d =q Wd  S(   Ni   i    s   end_i(   s   tags   lens   selfs   stacks   founds   unknown_endtags   getattrs   methods   AttributeErrors   report_unbalanceds   ranges   is   Nones   handle_endtag(   s   selfs   tags   is   founds   method(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   finish_endtagB  s8       c         C   s   | |  d  S(   N(   s   methods   attrs(   s   selfs   tags   methods   attrs(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   handle_starttaga  s    c         C   s   |   d  S(   N(   s   method(   s   selfs   tags   method(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   handle_endtage  s    c         C   s+   |  i o d | d GHd G|  i GHn d  S(   Ns   *** Unbalanced </s   >s
   *** Stack:(   s   selfs   verboses   tags   stack(   s   selfs   tag(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   report_unbalancedi  s    
c         C   s   y t  |  } Wn$ t j
 o |  i |  d Sn Xd | j o
 d j n o |  i |  d Sn |  i t |   d S(   s0   Handle character reference, no need to override.Ni    i   (   s   ints   names   ns
   ValueErrors   selfs   unknown_charrefs   handle_datas   chr(   s   selfs   names   n(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   handle_charrefn  s     	s   lts   <s   gts   >s   amps   &s   quots   "s   aposs   'c         C   s@   |  i } | | j o |  i | |  n |  i |  d Sd S(   s   Handle entity references.

        There should be no need to override this method; it can be
        tailored by setting up the self.entitydefs mapping appropriately.
        N(   s   selfs
   entitydefss   tables   names   handle_datas   unknown_entityref(   s   selfs   names   table(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   handle_entityref~  s     	c         C   s   d  S(   N(    (   s   selfs   data(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   handle_data  s    c         C   s   d  S(   N(    (   s   selfs   data(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   handle_comment  s    c         C   s   d  S(   N(    (   s   selfs   decl(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   handle_decl  s    c         C   s   d  S(   N(    (   s   selfs   data(    (    s$   /mit/python/lib/python2.3/sgmllib.pys	   handle_pi  s    c         C   s   d  S(   N(    (   s   selfs   tags   attrs(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   unknown_starttag  s    c         C   s   d  S(   N(    (   s   selfs   tag(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   unknown_endtag  s    c         C   s   d  S(   N(    (   s   selfs   ref(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   unknown_charref  s    c         C   s   d  S(   N(    (   s   selfs   ref(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   unknown_entityref  s    (    s   __name__s
   __module__s   __init__s   resets   setnomoretagss
   setliterals   feeds   closes   errors   goaheads   _decl_othercharss   parse_pis   get_starttag_texts   parse_starttags   parse_endtags   finish_shorttags   finish_starttags   finish_endtags   handle_starttags   handle_endtags   report_unbalanceds   handle_charrefs
   entitydefss   handle_entityrefs   handle_datas   handle_comments   handle_decls	   handle_pis   unknown_starttags   unknown_endtags   unknown_charrefs   unknown_entityref(    (    (    s$   /mit/python/lib/python2.3/sgmllib.pys
   SGMLParser7   s<   	
						g			7								3								s   TestSGMLParserc           B   se   t  Z d d  Z d   Z d   Z d   Z d   Z d   Z d   Z d	   Z	 d
   Z
 d   Z RS(   Ni    c         C   s   d |  _ t i |  |  d  S(   Ns    (   s   selfs   testdatas
   SGMLParsers   __init__s   verbose(   s   selfs   verbose(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   __init__  s    	c         C   s9   |  i | |  _ t |  i  d j o |  i   n d  S(   NiF   (   s   selfs   testdatas   datas   lens   flush(   s   selfs   data(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   handle_data  s    c         C   s+   |  i } | o d |  _ d G| GHn d  S(   Ns    s   data:(   s   selfs   testdatas   data(   s   selfs   data(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   flush  s    		c         C   sK   |  i   | } t |  d j o | d  d | d } n d G| GHd  S(   NiD   i    s   ...is   comment:(   s   selfs   flushs   datas   rs   len(   s   selfs   datas   r(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   handle_comment  s
    
c         C   s_   |  i   | o d | d GHn9 d | Gx( | D]  \ } } | d d | d Gq2 Wd GHd  S(   Ns   start tag: <s   >s   =s   "(   s   selfs   flushs   attrss   tags   names   value(   s   selfs   tags   attrss   values   name(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   unknown_starttag  s    
 c         C   s   |  i   d | d GHd  S(   Ns   end tag: </s   >(   s   selfs   flushs   tag(   s   selfs   tag(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   unknown_endtag  s    
c         C   s   |  i   d | d GHd  S(   Ns   *** unknown entity ref: &s   ;(   s   selfs   flushs   ref(   s   selfs   ref(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   unknown_entityref  s    
c         C   s   |  i   d | d GHd  S(   Ns   *** unknown char ref: &#s   ;(   s   selfs   flushs   ref(   s   selfs   ref(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   unknown_charref  s    
c         C   s   |  i   d | d GHd  S(   Ns   *** unknown decl: [s   ](   s   selfs   flushs   data(   s   selfs   data(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   unknown_decl  s    
c         C   s   t  i |   |  i   d  S(   N(   s
   SGMLParsers   closes   selfs   flush(   s   self(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   close  s    (   s   __name__s
   __module__s   __init__s   handle_datas   flushs   handle_comments   unknown_starttags   unknown_endtags   unknown_entityrefs   unknown_charrefs   unknown_decls   close(    (    (    s$   /mit/python/lib/python2.3/sgmllib.pys   TestSGMLParser  s   				
				c   	      C   s2  d  k  } |  t j o | i d }  n |  o |  d d j o |  d }  t } n t } |  o |  d } n d } | d j o | i } nF y t
 | d  } Wn/ t j
 o# } | Gd G| GH| i d  n X| i   } | | i j	 o | i   n |   } x | D] } | i |  qW| i   d  S(   Ni   i    s   -ss	   test.htmls   -s   rs   :(   s   syss   argss   Nones   argvs
   SGMLParsers   klasss   TestSGMLParsers   files   stdins   fs   opens   IOErrors   msgs   exits   reads   datas   closes   xs   cs   feed(	   s   argss   files   fs   datas   cs   syss   klasss   xs   msg(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   test  s2    	

	 s   __main__(   s   __doc__s
   markupbases   res   __all__s   compiles   interestings
   incompletes	   entityrefs   charrefs   starttagopens   shorttagopens   shorttags   picloses
   endbrackets   tagfinds   attrfinds   RuntimeErrors   SGMLParseErrors
   ParserBases
   SGMLParsers   TestSGMLParsers   Nones   tests   __name__(   s   starttagopens
   SGMLParsers   TestSGMLParsers   SGMLParseErrors   __all__s   res   interestings   charrefs   tagfinds
   markupbases   tests	   entityrefs   shorttags   attrfinds   shorttagopens
   endbrackets   picloses
   incomplete(    (    s$   /mit/python/lib/python2.3/sgmllib.pys   ?   s*   			 l7$