-í
�H ?c       sn     d  Z    d k Z  d k Z  e i d ƒ i Z  e i d ƒ i Z 	 [  d f  d „  ƒ  YZ d S(   sI   Shared support for scanning document type declarations in HTML and XHTML.Ns   [a-zA-Z][-_.a-zA-Z0-9]*\s*s   (\'[^\']*\'|"[^"]*")\s*s
   ParserBasec      s³    d  Z    d „  Z  d „  Z  d „  Z  d „  Z % d „  Z 2 d Z 5 d „  Z h d „  Z ¬ d	 „  Z	 · d
 „  Z
 ð d „  Z d „  Z +d „  Z <d „  Z RS(   si   Parser base class which provides some common support methods used
    by the SGML/HTML and XHTML parsers.c    s-     |  i t j o  t d ƒ ‚ n d  S(   Ns(   markupbase.ParserBase must be subclassed(   s   selfs	   __class__s
   ParserBases   RuntimeError(   s   self(    (    s'   /mit/python/lib/python2.2/markupbase.pys   __init__ s   c    s     t  d ƒ ‚ d  S(   Ns.   subclasses of ParserBase must override error()(   s   NotImplementedError(   s   selfs   message(    (    s'   /mit/python/lib/python2.2/markupbase.pys   error s   c    s     d |  _  d |  _ d  S(   Ni   i    (   s   selfs   linenos   offset(   s   self(    (    s'   /mit/python/lib/python2.2/markupbase.pys   reset s   c    s      |  i |  i f Sd S(   s&   Return current line number and offset.N(   s   selfs   linenos   offset(   s   self(    (    s'   /mit/python/lib/python2.2/markupbase.pys   getpos s   c    s·   % & | | j o ' | Sn ( |  i } ) t i | d | | ƒ } * | oF + |  i | |  _ , t i | d | | ƒ } - | | d |  _
 n / |  i
 | | |  _
 0 | Sd  S(   Ns   
i   (   s   is   js   selfs   rawdatas   strings   counts   nliness   linenos   rindexs   poss   offset(   s   selfs   is   js   poss   rawdatas   nlines(    (    s'   /mit/python/lib/python2.2/markupbase.pys	   updatepos% s   
s    c 
   s’  5 9 |  i } : | d } ; t o | | | !d j p
 t d ‚ < | | | d !d d f j o ? d Sn A t | ƒ } B |  i | | ƒ \ } } C | d j  o D | Sn E | d	 j o F d |  _
 n G x¬G | | j  o›H | | } I | d
 j oW K | | d | !}	 L | d	 j o M |  i |	 ƒ n O |  i |	 ƒ P | d Sn Q | d j o; R t | | ƒ } S | o T d Sn U | i ƒ  } n¾ V | d j o W |  i | | ƒ \ } } n� X | |  i
 j o Y | d } nk Z | d j oA [ | d	 j o \ |  i | d | ƒ } n ^ |  i d ƒ n ` |  i d | | ƒ b | d j  o c | Sn qÛ Wd d Sd  S(   Ni   s   <!s$   unexpected call to parse_declarationi   s   -s    iÿÿÿÿi    s   doctypes   >s   "'s4   abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZs   [s"   unexpected '[' char in declarations!   unexpected %s char in declaration(   s   selfs   rawdatas   is   js	   __debug__s   AssertionErrors   lens   ns
   _scan_names   decltypes   _decl_othercharss   cs   datas   handle_decls   unknown_decls   _declstringlit_matchs   ms   ends   names   _parse_doctype_subsets   error(
   s   selfs   is   cs   decltypes   names   js   ms   ns   rawdatas   data(    (    s'   /mit/python/lib/python2.2/markupbase.pys   parse_declaration5 sJ   (! c 
   sÔ  h i |  i } j t | ƒ } k | } l xœl | | j  o‹m | | } n | d j oÒo | | | d !} p | d j o r d Sn s | d j o0 t |  i | | d ƒ u |  i
 d | ƒ n w | d | j o y d Sn z | d | j o | d Sn } | | | d !d j o= ~ |  i | d	 d
 ƒ}  | d
 j  o € | Sn � q- n ‚ |  i | d | ƒ \ } } ƒ | d j o „ d Sn … | d d d d f j o0 † |  i | | d ƒ ‡ |  i
 d | ƒ n Š t |  d | ƒ }	 ‹ |	 | | ƒ } Œ | d
 j  o � | Sn n™Ž | d j o‚ � | d | j o ’ d Sn “ |  i | d | ƒ \ } } ” | d
 j  o • | Sn – | | d j o — | d } n n˜ | d j oª ™ | d } š x6 š | | j  o | | t i j o › | d } qáWœ | | j  oF � | | d j o ž | Sn Ÿ |  i | | ƒ   |  i
 d ƒ n ¢ d SnM £ | t i j o ¤ | d } n) ¦ |  i | | ƒ § |  i
 d | ƒ q- W© d Sd  S(   Ns   <i   iÿÿÿÿs   <!i   s*   unexpected char in internal subset (in %s)i   s   <!--s   reporti    s   attlists   elements   entitys   notations)   unknown declaration %s in internal subsets   _parse_doctype_s   %s   ;s   ]s   >s%   unexpected char after internal subsets%   unexpected char %s in internal subset(   s   selfs   rawdatas   lens   ns   is   js   cs   ss	   updateposs   declstartposs   errors   parse_comments
   _scan_names   names   getattrs   meths   strings
   whitespace(
   s   selfs   is   declstartposs   names   js   cs   ns   ss   rawdatas   meth(    (    s'   /mit/python/lib/python2.2/markupbase.pys   _parse_doctype_subseth sp   	 
 $c    s‚   ¬ ­ |  i | | ƒ \ } } ® | d j o ¯ d Sn ± |  i } ² d | | j o ³ t i | d | ƒ d Sn ´ d Sd  S(   Niÿÿÿÿs   >i   (	   s   selfs
   _scan_names   is   declstartposs   names   js   rawdatas   strings   find(   s   selfs   is   declstartposs   rawdatas   js   name(    (    s'   /mit/python/lib/python2.2/markupbase.pys   _parse_doctype_element¬ s   c    s  · ¸ |  i } ¹ |  i | | ƒ \ } } º | | | d !} » | d j o ¼ d Sn ½ | d j o ¾ | d Sn ¿ x‚¿ d owÂ |  i | | ƒ \ } } Ã | d j  o Ä | Sn Å | | | d !} Æ | d j o Ç d Sn È | d j o� Ê d | | j o  Ë t i	 | d | ƒ d } n Í d SÎ x0 Î | | | d !t i
 j o Ï | d } q>WÐ | | o Ò d Sn n Ô |  i | | ƒ \ } } Õ | | | d !} Ö | o × d Sn Ø | d j od Ù t | | ƒ } Ú | o Û | i ƒ  } n Ý d SÞ | | | d !} ß | o à d Sn n á | d	 j o‡ â | | d	 j o ä d Sn å |  i | d | ƒ \ } } æ | d j  o ç | Sn è | | | d !} é | o ê d Sn n ë | d j o í | d Sn q~ Wd  S(
   Ni   s    iÿÿÿÿs   >i    s   (s   )s   '"s   #(   s   selfs   rawdatas
   _scan_names   is   declstartposs   names   js   cs   strings   finds
   whitespaces   _declstringlit_matchs   ms   end(   s   selfs   is   declstartposs   names   js   ms   cs   rawdata(    (    s'   /mit/python/lib/python2.2/markupbase.pys   _parse_doctype_attlist· s^    
  
c    s(  ð ñ |  i | | ƒ \ } } ò | d j  o ó | Sn ô |  i } õ xÙ õ d oÎ ö | | | d !} ÷ | o ù d Sn ú | d j o û | d Sn ü | d j o; ý t | | ƒ } þ | o ÿ d Sn  | i
 ƒ  } n7 |  i | | ƒ \ } } | d j  o | Sn qK Wd  S(   Ni    i   iÿÿÿÿs   >s   '"(   s   selfs
   _scan_names   is   declstartposs   names   js   rawdatas   cs   _declstringlit_matchs   ms   end(   s   selfs   is   declstartposs   rawdatas   js   ms   cs   name(    (    s'   /mit/python/lib/python2.2/markupbase.pys   _parse_doctype_notationð s&    
c    sÆ  |  i } 	| | | d !d j ox 
| d } xa d oV | | | d !} | o d Sn | t i j o | d } n Pq= Wn
 | } |  i | | ƒ \ } } | d j  o | Sn xÛ d oÐ |  i | | d !} | o d Sn | d j o: t
 | | ƒ } | o | i ƒ  } n !d SnV "| d j o #| d Sn7 %|  i | | ƒ \ } } &| d j  o '| Sn qç Wd  S(   Ni   s   %iÿÿÿÿi    s   '"s   >(   s   selfs   rawdatas   is   js   cs   strings
   whitespaces
   _scan_names   declstartposs   names   _declstringlit_matchs   ms   end(   s   selfs   is   declstartposs   cs   rawdatas   names   js   m(    (    s'   /mit/python/lib/python2.2/markupbase.pys   _parse_doctype_entitys<    
	 

c    së   +,|  i } -t | ƒ } .| | j o /t d f Sn 0t | | ƒ } 1| oi 2| i ƒ  } 3| i
 ƒ  } 4| t | ƒ | j o 5t d f Sn 6t i | ƒ | i ƒ  f Sn$ 8|  i | | ƒ 9|  i d ƒ d  S(   Niÿÿÿÿs   expected name token(   s   selfs   rawdatas   lens   ns   is   Nones   _declname_matchs   ms   groups   ss   strips   names   strings   lowers   ends	   updateposs   declstartposs   error(   s   selfs   is   declstartposs   names   ms   ns   ss   rawdata(    (    s'   /mit/python/lib/python2.2/markupbase.pys
   _scan_name+s   
 c    s
   <=d  S(   N(    (   s   selfs   data(    (    s'   /mit/python/lib/python2.2/markupbase.pys   unknown_decl<s   (   s   __doc__s   __init__s   errors   resets   getposs	   updateposs   _decl_othercharss   parse_declarations   _parse_doctype_subsets   _parse_doctype_elements   _parse_doctype_attlists   _parse_doctype_notations   _parse_doctype_entitys
   _scan_names   unknown_decl(    (    (    s'   /mit/python/lib/python2.2/markupbase.pys
   ParserBase s   		3D9$(   s   __doc__s   res   strings   compiles   matchs   _declname_matchs   _declstringlit_matchs
   ParserBase(   s   res   _declname_matchs
   ParserBases   strings   _declstringlit_match(    (    s'   /mit/python/lib/python2.2/markupbase.pys   ? s   