-í
ó­<c       sB     d  Z   d k Z  d k Z  d k Z 	 d k l Z  d „  Z  d „  Z  d „  Z  d „  Z	 ' d „  Z
 1 d „  Z 9 d	 „  Z ? d
 „  Z E d „  Z N d „  Z Q d „  Z T d „  Z W d „  Z Z d „  Z ] d „  Z d e i Z f e i d „ Z p d „  Z y e d „ Z € d „  Z ˆ d d „ Z Ž e i Z ‘ d „  Z — e e d „ Z ¢ e e d „ Z  ¬ e e d „ Z! ¶ e e d „ Z" Ä e e d „ Z# Ò e e d „ Z$ Û e e d „ Z% å e e d  „ Z& ò e e e d! „ Z' 	e e e d" „ Z( $e i) Z) %e i* Z* *d# „  Z+ d S($   s   0.8N(   s	   xmlreaderc    s      t  i |  ƒ Sd S(   s   (s) -> match the literal stringN(   s
   Expressions   Strs   s(   s   s(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Str1 s   c     sT      t  |  ƒ d j o  t |  d ƒ Sn  t i t t t |  ƒ ƒ ƒ Sd S(   s&   (s1, s2, ...) -> match s1 or s2 or ...i   i    N(   s   lens   argss   Str1s
   Expressions   Alts   tuples   maps   Str(   s   args(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Str s   c    sG      t  |  ƒ d j o  t i |  ƒ Sn  t i |  d ƒ Sd S(   s   (s) -> match any character in si   i    N(   s   lens   ss
   Expressions   Literals   Any(   s   s(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Any s   c    s      t  i |  d ƒ Sd S(   s!   s -> match any character not in si   N(   s
   Expressions   Anys   s(   s   s(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   AnyBut s   c     sb   ' ( + xB |  D+ ]7 } , t o' t | t i ƒ p t d t | ƒ ‚ q W/ t i |  ƒ Sd S(   s>   exp1, exp2, ... -> match exp1 followed by exp2 followed by ...s!   expecting an Expression, not a %sN(   s   argss   args	   __debug__s
   isinstances
   Expressions   AssertionErrors   types   Seq(   s   argss   arg(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Seq' s
   
 	5c     sb   1 2 4 xB |  D4 ]7 } 5 t o' t | t i ƒ p t d t | ƒ ‚ q W7 t i |  ƒ Sd S(   sB   exp1, exp2, ... -> match exp1 or (if that fails) match exp2 or ...s!   expecting an Expression, not a %sN(   s   argss   args	   __debug__s
   isinstances
   Expressions   AssertionErrors   types   Alt(   s   argss   arg(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Alt1 s
   
 	5c    sQ   9 : ; t  o' t |  t i ƒ p t d t |  ƒ ‚ = t i |  d d ƒ Sd S(   s!   expr -> match 'expr' 1 or 0 timess!   expecting an Expression, not a %si    i   N(   s	   __debug__s
   isinstances   exprs
   Expressions   AssertionErrors   types	   MaxRepeat(   s   expr(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Opt9 s   1c    sN   ? @ A t  o' t |  t i ƒ p t d t |  ƒ ‚ C t i |  d ƒ Sd S(   s;   expr -> match 'expr' as many times as possible, even 0 times!   expecting an Expression, not a %si    N(   s	   __debug__s
   isinstances   exprs
   Expressions   AssertionErrors   types	   MaxRepeat(   s   expr(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Rep? s   1c    sN   E F G t  o' t |  t i ƒ p t d t |  ƒ ‚ I t i |  d ƒ Sd S(   sA   expr -> match 'expr' as many times as possible, but at least onces!   expecting an Expression, not a %si   N(   s	   __debug__s
   isinstances   exprs
   Expressions   AssertionErrors   types	   MaxRepeat(   s   expr(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Rep1E s   1c    s   N O t  ‚ d  S(   N(   s   NotImplementedError(   s   expr(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   NoCaseN s   c    s   Q R t  ‚ d  S(   N(   s   NotImplementedError(   s   expr(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   CaseQ s   c      s   T U t  ‚ d  S(   N(   s   NotImplementedError(    (    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   BolT s   c      s   W X t  ‚ d  S(   N(   s   NotImplementedError(    (    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   EolW s   c      s   Z [ t  ‚ d  S(   N(   s   NotImplementedError(    (    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   EmptyZ s   c      s   ] ^ t  ‚ _ t i ƒ  Sd  S(   N(   s   NotImplementedErrors
   Expressions   AtEnd(    (    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Eof] s   	c    sQ   f k l t  o' t |  t i ƒ p t d t |  ƒ ‚ n t i |  | | ƒ Sd S(   s®   expr, min_count, max_count = 65535 -> match between min- and max_count times

    If max_count == 65535 (which is Expression.MAXREPEAT) then there
    is no upper limit.
    s!   expecting an Expression, not a %sN(	   s	   __debug__s
   isinstances   exprs
   Expressions   AssertionErrors   types	   MaxRepeats	   min_counts	   max_count(   s   exprs	   min_counts	   max_count(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys	   MaxRepeatf s   1c    s    p u v t  i |  | | ƒ Sd S(   sÉ   expr, count -> match the expression 'count' number of time

    This option is handy for named group repeats since you don't have
    to use the name twice; for the min_count and max_count fields.
    N(   s
   Expressions	   MaxRepeats   exprs   count(   s   exprs   count(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   RepNp s   c    sQ   y z { t  o' t | t i ƒ p t d t | ƒ ‚ } t i |  | | ƒ Sd S(   sI   name, expr -> use 'name' to describe a successful match of the expressions!   expecting an Expression, not a %sN(	   s	   __debug__s
   isinstances   exprs
   Expressions   AssertionErrors   types   Groups   names   attrs(   s   names   exprs   attrs(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Groupy s   1c    sM   € ƒ t  i |  d d ƒ }  „ t  i |  d d ƒ }  … t  i |  d d ƒ Sd  S(   Ns   
s   
s   s   \R(   s   strings   replaces   s(   s   s(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   _fix_newlines€ s   i    c    s7   ˆ ‰ Š | o ‹ t |  ƒ }  n Œ t i |  ƒ Sd S(   s<   pattern -> the expression tree for the regexp pattern stringN(   s   fix_newliness   _fix_newliness   patterns
   convert_res   make_expression(   s   patterns   fix_newlines(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Reˆ s   
c    sX   ‘ ’ |  t j o. “ t o | p t d | f ‚ ” | Sn • t |  | | ƒ Sd  S(   Ns$   Attributes (%s) require a group name(   s   names   Nones	   __debug__s   attrss   AssertionErrors   exps   Group(   s   names   exps   attrs(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   _group‘ s   #c    s#   — Ÿ   t  |  t d ƒ | ƒ Sd S(   sí   match one or more decimal digits

    This is the same as (?P<name?attrs>\d+).
    
    If 'name' is not None, the matching text will be put inside a
    group of the given name.  You can optionally include group
    attributes.    
    s   \d+N(   s   _groups   names   Res   attrs(   s   names   attrs(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Digits— s   c    s,   ¢ ¨ © t  d ƒ } ª t |  | | ƒ Sd S(   sÔ   match an integer (digits w/ optional leading + or - sign)

    If 'name' is not None, the matching text will be put inside a
    group of the given name.  You can optionally include group
    attributes.    
    s   [+-]?\d+N(   s   Res   exps   _groups   names   attrs(   s   names   attrss   exp(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Integer¢ s   c    s,   ¬ ² ³ t  d ƒ } ´ t |  | | ƒ Sd S(   s×   match floating point numbers like 6, 6., -.1, 2.3, +4E-5, ...

    If 'name' is not None, the matching text will be put inside of a
    group of the given name.  You can optionally include group
    attributes.
    s,   [+-]?((\d+(\.\d*)?)|\.\d+)([eE][+-]?[0-9]+)?N(   s   Res   exps   _groups   names   attrs(   s   names   attrss   exp(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Float¬ s   c    s,   ¶ À Á t  d ƒ } Â t |  | | ƒ Sd S(   s-  match a 'word'
 
    A 'word' is defined as '\w+', and \w is [a-zA-Z0-9_].
 
    If 'name' is not None, the matching text will be put inside of a
    group of the given name.  You can optionally include group
    attributes.    
 
    In other words, this is the short way to write (?P<name>\w+).
    s   \w+N(   s   Res   exps   _groups   names   attrs(   s   names   attrss   exp(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   Word¶ s   
c    s,   Ä Î Ï t  d ƒ } Ð t |  | | ƒ Sd S(   sŒ  match one or more whitespace (except newline)
 
    "Spaces" is defined as [\t\v\f\r ]+, which is *not* the same
    as '\s+'.  (It's missing the '\n', which is useful since you
    almost never mean for whitespace to go beyond the newline.)
 
    If 'name' is not None, the matching text will be put inside of a
    group of the given name.  You can optionally include group
    attributes.
    s
   [\t\v\f ]+N(   s   Res   exps   _groups   names   attrs(   s   names   attrss   exp(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   SpacesÄ s   
c    s&   Ò Ø Ù t  |  t t i ƒ | ƒ Sd S(   sá   match an unprintable character (characters not in string.printable)

    If 'name' is not None, the matching text will be put inside of a
    group of the given name.  You can optionally include group
    attributes.    
    N(   s   _groups   names   AnyButs   strings	   printables   attrs(   s   names   attrs(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   UnprintableÒ s   c    s&   Û á â t  |  t t i ƒ | ƒ Sd S(   sÞ   match a punctuation character (characters in string.punctuation)

    If 'name' is not None, the matching text will be put inside of a
    group of the given name.  You can optionally include group
    attributes.    
    N(   s   _groups   names   Anys   strings   punctuations   attrs(   s   names   attrs(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   PunctuationÛ s   c    sn   å ë ì |  t j o4 í t o | p t d | f ‚ î t d ƒ Sn! ð t |  t d ƒ | ƒ t ƒ  Sd S(   sè   match everything up to and including the end of line

    If 'name' is not None, the matching text, except for the newline,
    will be put inside a group of the given name.  You can optionally
    include group attributes.    
    s$   Attributes (%s) require a group names   [^\R]*\Rs   [^\R]*N(   s   names   Nones	   __debug__s   attrss   AssertionErrors   Res   Groups   AnyEol(   s   names   attrs(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   ToEolå s
   #c    sž   ò þ ÿ | t j o t d ƒ ‚ n t o1 d | j o
 d | j p t d t | ƒ f ‚ t t | d ƒ ƒ } t	 |  | | ƒ t | ƒ Sd S(   sÍ  match all characters up to the given delimiter(s)

    This is useful for parsing space, tab, color, or other character
    delimited fields.  There is no default delimiter.
    
    If 'name' is not None, the matching text, except for the delimiter
    will be put inside a group of the given name.  You can optionally
    include group attributes.  The delimiter character will also be
    consumed.

    Neither "\r" nor "\n" may be used as a delimiter.
    s   Must specify a delimiters   s   
s   cannot use %s as a delimiters   
N(   s	   delimiters   Nones	   TypeErrors	   __debug__s   AssertionErrors   reprs   Reps   AnyButs   exps   _groups   names   attrss   Str(   s   names	   delimiters   attrss   exp(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   ToSepò s   ;c    s¸   	| t j o t d ƒ ‚ n t o1 d | j o
 d | j p t d t | ƒ f ‚ t |  t t	 | d ƒ ƒ | ƒ } t t | ƒ | ƒ }  | | t ƒ  Sd S(   s  match 0 or more fields seperated by the given delimiter(s)

    This is useful for parsing space, tab, color, or other character
    delimited fields.  There is no default delimiter.

    If 'name' is not None, the delimited text, excluding the delimiter,
    will be put inside groups of the given name.  You can optionally
    include group attributes.  The delimiter character is consumed,
    but not accessible using a group.

    Neither "\r" nor "\n" may be used as a delimiter.
    The line as a whole is not included in a group.
    s   Must specify a delimiters   s   
s   cannot use %s as a delimiters   
N(   s	   delimiters   Nones	   TypeErrors	   __debug__s   AssertionErrors   reprs   _groups   names   Reps   AnyButs   attrss   terms   Anys   reps   AnyEol(   s   names	   delimiters   attrss   terms   rep(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   DelimitedFields	s   ;%c    sB   *-|  i ƒ  } 0| i | ƒ 3d  k } 4| i | ƒ Sd  S(   N(   s
   expressions   copys   exps   _select_namess   namess   optimizes   optimize_unnamed_groups(   s
   expressions   namess   exps   optimize(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   select_names*s   (,   s   __version__s
   Expressions
   convert_res   strings   xml.saxs	   xmlreaders   Str1s   Strs   Anys   AnyButs   Seqs   Alts   Opts   Reps   Rep1s   NoCases   Cases   Bols   Eols   Emptys   Eofs   AnyEols	   MAXREPEATs	   MaxRepeats   RepNs   Nones   Groups   _fix_newliness   Res   NullOps   _groups   Digitss   Integers   Floats   Words   Spacess   Unprintables   Punctuations   ToEols   ToSeps   DelimitedFieldss   ParseRecordss   HeaderFooters   select_names()   s   Cases   NullOps   Anys   Groups   Eofs
   convert_res   Reps   Punctuations   Eols   RepNs   Bols   Unprintables   Strs   NoCases   Words   select_namess   AnyEols   _groups   Emptys   strings   Opts	   MaxRepeats   ToSeps   AnyButs   Seqs   Res   Digitss
   Expressions   Floats   DelimitedFieldss   Rep1s	   xmlreaders   _fix_newliness   Spacess   ParseRecordss   ToEols   Integers   Alts   __version__s   Str1s   HeaderFooter(    (    s9   /mit/seven/lib/python2.2/site-packages/Martel/__init__.pys   ? sP   

	
	

	
