
xi\c           @   s   d  Z  d d l Z d d l m Z m Z d d l m Z m Z d d l m	 Z	 m
 Z
 m Z m Z m Z m Z m Z m Z m Z d g Z d e f d     YZ d S(   s   
    pygments.lexers.modula2
    ~~~~~~~~~~~~~~~~~~~~~~~

    Multi-Dialect Lexer for Modula-2.

    :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iN(   t
   RegexLexert   include(   t   get_bool_optt   get_list_opt(	   t   Textt   Commentt   Operatort   Keywordt   Namet   Stringt   Numbert   Punctuationt   Errort   Modula2Lexerc        K   B   s  e  Z d  Z d Z d d g Z d d g Z d g Z e j e j	 BZ
 i d e f d e f g d	 6d
 e j f d e j f d e j f d e j f d e j f d e j f d e j f d e j f g d 6d e f g d 6d e j f d e j f g d 6d e j f d e j f d e j f g d 6d e j f d e j f d e j f g d 6d  e f d! e f g d" 6d# e f d$ e f d% e f d& e f d' e f d( e f d) e f d* e f d+ e f d, e f g
 d- 6d. e f d/ e f d0 e f d1 e f d2 e f d3 e f d4 e f d5 e f d6 e f g	 d7 6d8 e f d9 e f d: e f d; e f d< e f d= e f d> e f g d? 6d@ e f dA e f dB e f g dC 6dD e j f dE e j f dF e j f g dG 6dH e j f dI e j f g dJ 6e d	  e d  e dJ  e dG  e d  e d  e d  e d  e d"  e d?  e d-  e dC  e d7  g dK 6Z dYZ dZZ d[Z d\Z  d]Z! d^Z" d_Z# d`Z$ daZ% dbZ& dcZ' ddZ( deZ) dfZ* dgZ+ dhZ, diZ- djZ. dkZ/ dlZ0 dmZ1 dnZ2 doZ3 dpZ4 dqZ5 drZ6 dsZ7 dtZ8 duZ9 dvZ: dwZ; dxZ< dyZ= dzZ> d{Z? d|Z@ d}ZA d~ZB dZC dZD dZE dZF dZG dZH dZI dZJ dZK dZL dZM i	 ddL6e  f dM6e$ f dN6e( f dO6e, f dP6e$ f dQ6e  f dR6e$ f dS6e$ f dT6ZN i	 e e! e% e) f dL6e e! f dM6e e% f dN6e e) f dO6e e) e- f dP6e e% e0 f dQ6e e! e3 f dR6e e% e6 f dS6e e% e9 f dT6ZO i	 e e" e& e* f dL6e e" f dM6e e& f dN6e e* f dO6e e* e. f dP6e e& e1 f dQ6e e" e4 f dR6e e& e7 f dS6e e& e: f dT6ZP i	 e e# e' e+ f dL6e e# f dM6e e' f dN6e e+ f dO6e e+ e/ f dP6e e' e2 f dQ6e e# e5 f dR6e e' e8 f dS6e e' e; f dT6ZQ i	 ddL6ddM6ddN6eF f dO6eF f dP6ddQ6ddR6ddS6ddT6ZR i	 ddL6e< f dM6eA f dN6eG eH eF f dO6eG eH f dP6eA f dQ6e< f dR6eA f dS6eA f dT6ZS i	 ddL6e= f dM6eB f dN6eI f dO6eI f dP6eB f dQ6e= f dR6eB f dS6eB f dT6ZT i	 ddL6e> f dM6eC f dN6eJ f dO6eJ f dP6eC f dQ6e> f dR6eC f dS6eC f dT6ZU i	 ddL6e? f dM6eD f dN6eK f dO6eK f dP6eD f dQ6e? f dR6eD f dS6eD f dT6ZV i	 ddL6e@ f dM6eE f dN6eL f dO6eL f dP6eE f dQ6e@ f dR6eE f dS6eE f dT6ZW dU  ZX dV  ZY dW  ZZ dX  Z[ RS(  s  
    For `Modula-2 <http://www.modula2.org/>`_ source code.

    The Modula-2 lexer supports several dialects.  By default, it operates in
    fallback mode, recognising the *combined* literals, punctuation symbols
    and operators of all supported dialects, and the *combined* reserved words
    and builtins of PIM Modula-2, ISO Modula-2 and Modula-2 R10, while not
    differentiating between library defined identifiers.

    To select a specific dialect, a dialect option may be passed
    or a dialect tag may be embedded into a source file.

    Dialect Options:

    `m2pim`
        Select PIM Modula-2 dialect.
    `m2iso`
        Select ISO Modula-2 dialect.
    `m2r10`
        Select Modula-2 R10 dialect.
    `objm2`
        Select Objective Modula-2 dialect.

    The PIM and ISO dialect options may be qualified with a language extension.

    Language Extensions:

    `+aglet`
        Select Aglet Modula-2 extensions, available with m2iso.
    `+gm2`
        Select GNU Modula-2 extensions, available with m2pim.
    `+p1`
        Select p1 Modula-2 extensions, available with m2iso.
    `+xds`
        Select XDS Modula-2 extensions, available with m2iso.


    Passing a Dialect Option via Unix Commandline Interface

    Dialect options may be passed to the lexer using the `dialect` key.
    Only one such option should be passed. If multiple dialect options are
    passed, the first valid option is used, any subsequent options are ignored.

    Examples:

    `$ pygmentize -O full,dialect=m2iso -f html -o /path/to/output /path/to/input`
        Use ISO dialect to render input to HTML output
    `$ pygmentize -O full,dialect=m2iso+p1 -f rtf -o /path/to/output /path/to/input`
        Use ISO dialect with p1 extensions to render input to RTF output


    Embedding a Dialect Option within a source file

    A dialect option may be embedded in a source file in form of a dialect
    tag, a specially formatted comment that specifies a dialect option.

    Dialect Tag EBNF::

       dialectTag :
           OpeningCommentDelim Prefix dialectOption ClosingCommentDelim ;

       dialectOption :
           'm2pim' | 'm2iso' | 'm2r10' | 'objm2' |
           'm2iso+aglet' | 'm2pim+gm2' | 'm2iso+p1' | 'm2iso+xds' ;

       Prefix : '!' ;

       OpeningCommentDelim : '(*' ;

       ClosingCommentDelim : '*)' ;

    No whitespace is permitted between the tokens of a dialect tag.

    In the event that a source file contains multiple dialect tags, the first
    tag that contains a valid dialect option will be used and any subsequent
    dialect tags will be ignored.  Ideally, a dialect tag should be placed
    at the beginning of a source file.

    An embedded dialect tag overrides a dialect option set via command line.

    Examples:

    ``(*!m2r10*) DEFINITION MODULE Foobar; ...``
        Use Modula2 R10 dialect to render this source file.
    ``(*!m2pim+gm2*) DEFINITION MODULE Bazbam; ...``
        Use PIM dialect with GNU extensions to render this source file.


    Algol Publication Mode:

    In Algol publication mode, source text is rendered for publication of
    algorithms in scientific papers and academic texts, following the format
    of the Revised Algol-60 Language Report.  It is activated by passing
    one of two corresponding styles as an option:

    `algol`
        render reserved words lowercase underline boldface
        and builtins lowercase boldface italic
    `algol_nu`
        render reserved words lowercase boldface (no underlining)
        and builtins lowercase boldface italic

    The lexer automatically performs the required lowercase conversion when
    this mode is activated.

    Example:

    ``$ pygmentize -O full,style=algol -f latex -o /path/to/output /path/to/input``
        Render input file in Algol publication mode to LaTeX output.


    Rendering Mode of First Class ADT Identifiers:

    The rendering of standard library first class ADT identifiers is controlled
    by option flag "treat_stdlib_adts_as_builtins".

    When this option is turned on, standard library ADT identifiers are rendered
    as builtins.  When it is turned off, they are rendered as ordinary library
    identifiers.

    `treat_stdlib_adts_as_builtins` (default: On)

    The option is useful for dialects that support ADTs as first class objects
    and provide ADTs in the standard library that would otherwise be built-in.

    At present, only Modula-2 R10 supports library ADTs as first class objects
    and therefore, no ADT identifiers are defined for any other dialects.

    Example:

    ``$ pygmentize -O full,dialect=m2r10,treat_stdlib_adts_as_builtins=Off ...``
        Render standard library ADTs as ordinary library types.

    .. versionadded:: 1.3

    .. versionchanged:: 2.1
       Added multi-dialect support.
    s   Modula-2t   modula2t   m2s   *.defs   *.mods   text/x-modula2s   \n+s   \s+t
   whitespaces   \(\*!m2pim\*\)s   \(\*!m2iso\*\)s   \(\*!m2r10\*\)s   \(\*!objm2\*\)s   \(\*!m2iso\+aglet\*\)s   \(\*!m2pim\+gm2\*\)s   \(\*!m2iso\+p1\*\)s   \(\*!m2iso\+xds\*\)t   dialecttagss   ([a-zA-Z_$][\w$]*)t   identifierss   0b[01]+(\'[01]+)*s   0[ux][0-9A-F]+(\'[0-9A-F]+)*t   prefixed_number_literalss>   [0-9]+(\'[0-9]+)*\.[0-9]+(\'[0-9]+)*[eE][+-]?[0-9]+(\'[0-9]+)*s$   [0-9]+(\'[0-9]+)*\.[0-9]+(\'[0-9]+)*s   [0-9]+(\'[0-9]+)*t   plain_number_literalss   [0-7]+Bs   [0-7]+Cs
   [0-9A-F]+Ht   suffixed_number_literalss   '(\\\\|\\'|[^'])*'s   "(\\\\|\\"|[^"])*"t   string_literalss   \*\.s   \+>s   <>s   <=s   >=s   ==s   ::s   :=s   \+\+s   --t   digraph_operatorss   [+-]s   [*/]s   \\s   [=#<>]s   \^t   @t   &t   ~t   `t   unigraph_operatorss   \.\.s   <<s   >>s   ->s   \|#s   ##s   \|\*t   digraph_punctuations   [()\[\]{},.:;|]t   !s   \?t   unigraph_punctuations   ^//.*?\ns   \(\*([^$].*?)\*\)s   /\*(.*?)\*/t   commentss	   <\*.*?\*>s   \(\*\$.*?\*\)t   pragmast   roott   ANDt   ARRAYt   BEGINt   BYt   CASEt   CONSTt
   DEFINITIONt   DIVt   DOt   ELSEt   ELSIFt   ENDt   EXITt   FORt   FROMt   IFt   IMPLEMENTATIONt   IMPORTt   INt   LOOPt   MODt   MODULEt   NOTt   OFt   ORt   POINTERt	   PROCEDUREt   RECORDt   REPEATt   RETURNt   SETt   THENt   TOt   TYPEt   UNTILt   VARt   WHILEt   ABSt   BOOLEANt   CARDINALt   CHARt   CHRt   FALSEt   INTEGERt   LONGINTt   LONGREALt   MAXt   MINt   NILt   ODDt   ORDt   REALt   TRUEt   ADDRESSt   BYTEt   WORDt   ADRt   $t   %t   ?s   \s   ++s   *.s   +>s   |#t   EXPORTt	   QUALIFIEDt   WITHt   BITSETt   CAPt   DECt   DISPOSEt   EXCLt   FLOATt   HALTt   HIGHt   INCt   INCLt   NEWt   PROCt   SIZEt   TRUNCt   VALt   SYSTEMt   PROCESSt   TSIZEt
   NEWPROCESSt   TRANSFERt   EXCEPTt   FINALLYt   FORWARDt	   PACKEDSETt   REMt   RETRYt   ABSTRACTt   ASt   CLASSt   GUARDt   INHERITt   OVERRIDEt   READONLYt   REVEALt   TRACEDt   UNSAFEGUARDEDt   CMPLXt   COMPLEXt   IMt   INTt   INTERRUPTIBLEt   LENGTHt   LFLOATt   LONGCOMPLEXt
   PROTECTIONt   REt   UNINTERRUBTIBLEt   CREATEt   DESTROYt   EMPTYt   ISMEMBERt   SELFt
   BITSPERLOCt   LOCSPERBYTEt   LOCSPERWORDt   LOCt   ADDADRt   SUBADRt   DIFADRt   MAKEADRt   ROTATEt   SHIFTt   CASTt
   COROUTINESt   ATTACHt	   COROUTINEt   CURRENTt   DETACHt   HANDLERt   INTERRUPTSOURCEt
   IOTRANSFERt
   IsATTACHEDt   LISTENt   NEWCOROUTINEt   PROTt
   EXCEPTIONSt   AllocateSourcet   CurrentNumbert   ExceptionNumbert   ExceptionSourcet
   GetMessaget   IsCurrentSourcet   IsExceptionalExecutiont   RAISEt   TERMINATIONt   IsTerminatingt	   HasHaltedt   M2EXCEPTIONt   M2Exceptionst   M2Exceptiont   IsM2Exceptiont   indexExceptiont   rangeExceptiont   caseSelectExceptiont   invalidLocationt   functionExceptiont   wholeValueExceptiont   wholeDivExceptiont   realValueExceptiont   realDivExceptiont   complexValueExceptiont   complexDivExceptiont   protExceptiont   sysExceptiont   coExceptiont   exExceptiont   ALIASt   ARGLISTt	   BLUEPRINTt   COPYt   GENLIBt   INDETERMINATEt   NONEt   OPAQUEt   REFERENTIALt   RELEASEt   RETAINt   ASMt   REGt   COUNTt   EXISTSt   INSERTt   LONGCARDt   OCTETt   PTRt   PREDt   READt   READNEWt   REMOVEt   RETRIEVEt   SORTt   STOREt   SUBSETt   SUCCt   TLIMITt   TMAXt   TMINt   UNICHARt   WRITEt   WRITEFt   TPROPERTIESt   PROPERTYt   LITERALt	   TPROPERTYt   TLITERALt   TBUILTINt   TDYNt   TREFCt   TNILt   TBASEt
   TPRECISIONt   TMAXEXPt   TMINEXPt
   CONVERSIONt   TSXFSIZEt   SXFt   UNSAFEt	   INTRINSICt   AVAILt   ADDt   SUBt   ADDCt   SUBCt   FETCHADDt   FETCHSUBt   SHLt   SHRt   ASHRt   ROTLt   ROTRt   ROTLCt   ROTRCt   BWNOTt   BWANDt   BWORt   BWXORt   BWNANDt   BWNORt   SETBITt   TESTBITt   LSBITt   MSBITt   CSBITSt   BAILt   TODOt   FFIt   ADDRt   VARGLISTt   VARGCt   ATOMICt   SWAPt   CASt   COMPILERt   DEBUGt   MODNAMEt   PROCNAMEt   LINENUMt   DEFAULTt   HASHt	   ASSEMBLERt   REGISTERt   SETREGt   GETREGt   CODEt   BYCOPYt   BYREFt   CONTINUEt   CRITICALt   INOUTt   METHODt   ONt   OPTIONALt   OUTt   PRIVATEt	   PROTECTEDt   PROTOCOLt   PUBLICt   SUPERt   TRYt   OBJECTt   NOt   YESt   BITSET8t   BITSET16t   BITSET32t	   CARDINAL8t
   CARDINAL16t
   CARDINAL32t   INTEGER8t	   INTEGER16t	   INTEGER32t   __ATTRIBUTE__t   __BUILTIN__t
   __COLUMN__t   __DATE__t   __FILE__t   __FUNCTION__t   __LINE__t
   __MODULE__t   VOLATILEt
   CARDINAL64t	   COMPLEX32t	   COMPLEX64t	   COMPLEX96t
   COMPLEX128t	   INTEGER64t   REAL8t   REAL16t   REAL32t   REAL96t   REAL128t   THROWt   BCDt   SEQt   ASHt   ASSERTt   DIFFADR_TYPEt   ENTIERt   INDEXt   LENt	   SHORTCARDt   SHORTINTt   BOOL8t   BOOL16t   BOOL32t   CARD8t   CARD16t   CARD32t   INT8t   INT16t   INT32t   REFt   MOVEt   FILLt   GETt   PUTt   CCt   intt   unsignedt   size_tt   voidCOMPILERt   OPTIONt   EQUATIONt   Terminalt
   FileSystemt   InOutt	   RealInOutt   MathLib0t   Storaget   Flagt   FlagSett   Responset   Commandt   Lockt
   Permissiont
   MediumTypet   Filet   FileProct   DirectoryProct   FileCommandt   DirectoryCommandt   Readt   BusyReadt	   ReadAgaint   Writet   WriteStringt   WriteLnt   Createt   Lookupt   Closet   Deletet   Renamet   SetReadt   SetWritet	   SetModifyt   SetOpent   Doiot   SetPost   GetPost   Lengtht   Resett   Againt   ReadWordt	   WriteWordt   ReadChart	   WriteChart   CreateMediumt   DeleteMediumt
   AssignNamet   DeassignNamet
   ReadMediumt   LookupMediumt	   OpenInputt
   OpenOutputt
   CloseInputt   CloseOutputt
   ReadStringt   ReadIntt   ReadCardt   ReadWrdt   WriteIntt	   WriteCardt   WriteOctt   WriteHext   WriteWrdt   ReadRealt	   WriteRealt
   WriteFixPtt   WriteRealOctt   sqrtt   expt   lnt   sint   cost   arctant   entiert   ALLOCATEt
   DEALLOCATEt   Donet   termCHt   int   outt   EOLt   LONGBCDt   SHORTBITSETt
   LONGBITSETt   LONGLONGBITSETt   LONGLONGCARDt   LONGLONGINTt   POSINTt   SHORTPOSINTt
   LONGPOSINTt   LONGLONGPOSINTt   BITSET64t	   BITSET128t   BS8t   BS16t   BS32t   BS64t   BS128t   CARDINAL128t   CARD64t   CARD128t
   INTEGER128t   INT64t   INT128t   STRINGt	   UNISTRINGt	   ProtoRoott   ProtoComputationalt   ProtoNumerict   ProtoScalart   ProtoNonScalart   ProtoCardinalt   ProtoIntegert	   ProtoRealt   ProtoComplext   ProtoVectort
   ProtoTuplet   ProtoCompArrayt   ProtoCollectiont   ProtoStaticArrayt   ProtoStaticSett   ProtoStaticStringt
   ProtoArrayt   ProtoStringt   ProtoSett   ProtoMultiSett   ProtoDictionaryt   ProtoMultiDictt   ProtoExtensiont   ProtoIOt   ProtoCardMatht   ProtoIntMatht   ProtoRealMatht   ASCIIt	   BooleanIOt   CharIOt	   UnicharIOt   OctetIOt
   CardinalIOt
   LongCardIOt	   IntegerIOt	   LongIntIOt   RealIOt
   LongRealIOt   BCDIOt	   LongBCDIOt   CardMatht   LongCardMatht   IntMatht   LongIntMatht   RealMatht   LongRealMatht   BCDMatht   LongBCDMatht   FileIOt	   IOSupportt   Statust   stdInt   stdOutt   stdErrt   pit   taut   unknownt   m2pimt   m2isot   m2r10t   objm2s   m2iso+aglets	   m2pim+gm2s   m2iso+p1s	   m2iso+xdsc         K   s   t  | d g   } xB | D]- } | |  j d d !k r |  j |  Pq q W|  j d  t |  _ t  | d g   } d | k s d | k r t |  _ n	 t |  _ t | d t  |  _ t	 j
 |  |  d  S(	   Nt   dialecti   iR  t   stylet   algolt   algol_nut   treat_stdlib_adts_as_builtins(   R   t   dialectst   set_dialectt   Falset   dialect_set_by_tagt   Truet   algol_publication_modeR   R'  R    t   __init__(   t   selft   optionsR(  t   dialect_optiont   styles(    (    s6   lib/python2.7/site-packages/pygments/lexers/modula2.pyR.    s    		c         C   s  | |  j  k r d } n | } t   } x( |  j | D] } | j t |   q5 Wt   } x( |  j | D] } | j t |   qi Wt   } x1 |  j | D]" } | j t |  j |   q Wt   } x1 |  j | D]" } | j t |  j |   q Wt   } x1 |  j | D]" } | j t |  j |   qWt   }	 x1 |  j	 | D]" } |	 j t |  j |   qTWt   }
 x1 |  j
 | D]" } |
 j t |  j |   qWt   } x1 |  j | D]" } | j t |  j |   qWt   } x1 |  j | D]" } | j t |  j |   qWt   } x1 |  j | D]" } | j t |  j |   qHW| |  _ | |  _ | |  _ | |  _ | |  _ | |  _ |	 |  _ |
 |  _ | |  _ | |  _ | |  _ d  S(   NR  (   R(  t   sett   lexemes_to_reject_dbt   updatet   reserved_words_dbt   builtins_dbt
   differencet   pseudo_builtins_dbt   stdlib_adts_dbt   stdlib_modules_dbt   stdlib_types_dbt   stdlib_procedures_dbt   stdlib_variables_dbt   stdlib_constants_dbR#  t   lexemes_to_rejectt   reserved_wordst   builtinst   pseudo_builtinst   adtst   modulest   typest
   procedurest	   variablest	   constants(   R/  t
   dialect_idR#  t   lexemes_to_reject_sett   listt   reswords_sett   builtins_sett   pseudo_builtins_sett   adts_sett   modules_sett	   types_sett   procedures_sett   variables_sett   constants_set(    (    s6   lib/python2.7/site-packages/pygments/lexers/modula2.pyR)    sX    				 	 	 	 	 	 	 	 										c   
      C   s   d } d } t  |  } t  |  } | } | } t  |  | | k r | j |  r | j |  r | | | !} xB t d t  |  j   D] }	 | |  j |	 k r | Sq Wd Sn d Sd  S(   Ns   (*!s   *)i   R  (   t   lent
   startswitht   endswitht   rangeR(  (
   R/  t   dialect_tagt   left_tag_delimt   right_tag_delimt   left_tag_delim_lent   right_tag_delim_lent   indicator_startt   indicator_endt	   indicatort   index(    (    s6   lib/python2.7/site-packages/pygments/lexers/modula2.pyt   get_dialect_from_dialect_tag}  s    c         c   s  xt  j |  |  D]\ } } } |  j rr | t j k rr |  j |  } | d k rr |  j |  t |  _ qr n  | t k r| |  j	 k r t
 j } |  j r| j   } qq| |  j k r t j } |  j r| j   } qq| |  j k rt j j } |  j r| j   } qq| |  j k re|  j s>t j } qt j j } |  j r| j   } qq| |  j k rt j } q| |  j k rt j } q| |  j k rt j } q| |  j k rt j } q| |  j k rt j } qn| t k r|  j d k r5d | k s)| d d !d k rt  } qq|  j d k r| t j! k r\t  } q| t j" k rd
 | k rt  } q| t j# k rd | k rt  } qqn?| t k r\| t j$ k r|  j d k rt  } qn  | t j% k r| j& d  r|  j j& d  rt  } qY| j& d  rY|  j d k rY|  j j& d  rYt j' } qYqn | |  j( k rtt  } n  |  j r| d k rd } q| d k rd } q| d k rd } q| d k rd } q| d k rd } qn  | | | f Vq Wd  S(   NR  R!  R"  t   'i    i   t   0bt   0xt   0ut   Ht   Es   <*R  s   (*$t   #u   ≠s   <=u   ≤s   >=u   ≥s   ==u   ≡s   *.u   •(   R  R!  R"  (   Re  Rf  Rg  (   R!  R"  (   R  R!  R"  ()   R    t   get_tokens_unprocessedR+  R   t   SpecialRc  R)  R,  R   RA  R   t   ReservedR-  t   lowerRB  t   BuiltinRC  t   PseudoRD  R'  t	   NamespaceRE  RF  t   ClassRG  t   FunctionRH  t   VariableRI  t   ConstantR
   R#  R   t   Octt   Hext   Floatt   Singlet   PreprocRW  t	   MultilineR@  (   R/  t   textRb  t   tokent   valuet   indicated_dialect(    (    s6   lib/python2.7/site-packages/pygments/lexers/modula2.pyRk    s    "																(%   R#   R$   R%   R&   R'   R(   R)   R*   R+   R,   R-   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   R;   R<   R=   R>   R?   R@   RA   RB   RC   RD   RE   RF   RG   (   RH   RI   RJ   RK   RL   RM   RN   RO   RP   RQ   RR   RS   RT   RU   RV   RW   (   RX   RY   RZ   R[   (   R   R   R   R\   R]   R^   s   \s   ==s   ++s   --s   ::s   *.s   +>s   ->s   <<s   >>s   |#s   ##(   R_   R`   Ra   (   Rb   Rc   Rd   Re   Rf   Rg   Rh   Ri   Rj   Rk   Rl   RS   Rm   Rn   Ro   Rp   (   Rq   Rr   Rs   Rt   Ru   (   R   R\   R]   R^   s   \s   ==s   ++s   --s   ::s   *.s   +>s   ->s   <<s   >>s   |#s   ##(   Rv   R_   Rw   Rx   Ry   R`   Rz   R{   Ra   R|   R}   R~   R   R   R   R   R   R   R   (   Rb   Rc   R   R   Rd   Re   Rf   Rg   Rh   Ri   R   Rj   Rk   R   R   R   R   R   Rl   Rm   R   R   Rn   Ro   R   Rp   R   R   R   R   R   (:   Rq   R   R   R   R   R   R   R   R   R[   R   R   R   Rs   R   R   R   R   R   R   R   R   R   R   R   R   Ru   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (   R   R   R   R\   R]   R   s   <>(   R   R   R   R   R   R   Rl   R   R   R   R   R   R   R   (   RJ   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   RW   Rs   R   R   R   (K   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   Rp   R   R   R   R   R  R  R  R  R  R  R  R  R	  R
  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  Rh   R  R  R  R  R  R  R   R   R   R!  Rj   Rd   R  R  R  R  R"  R#  R$  R%  R&  R'  R(  R)  R*  R+  R,  R-  (   R   R\   R]   R   s   <>(   R.  R/  R~   R0  R1  R2  R3  R4  R5  R6  R7  R8  R9  R:  R;  R<  (   R=  R>  R?  (    (    (	   R@  RA  RB  RC  RD  RE  RF  RG  RH  (    (
   R   RI  RJ  RK  RL  RM  RN  RO  RP  RQ  (   R@  RA  RB  RC  RD  RE  RR  RS  RT  RU  RV  RF  RG  RH  RW  RX  RY  RZ  R[  R\  R]  (    (    (    (   R^  (   R_  (	   R`  Ra  Rb  Rc  Rd  Re  R   Rf  Rg  (   Rr   Rt   Rh  Ri  Rj  Rk  Rl  Rm  Rn  Ro  Rp  Rq  Rr  Rs  Rt  Ru  Rv  Rw  Rx  Ry  Rz  R{  R|  (   R}  R~  R  R  R  R  (   R  R  R  R  R  R  R  R  R  R  R  R  (9   R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  (   R  R  R  R  (   R  (    (    (    (    (    (0   R^  R  Rb   R  R  R  R   R   Rf  R  Rg  R  R  R  R  R  R@  RA  RB  R  R  R  R  R  R  R  RC  RD  RE  RR  R  Rk  Rl  Rm  R  R  RF  RG  RH  RW  R  Rn  Ro  Rp  R  R  R  R  (   R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R   (   R  R  R  R  R  R  R  R  R	  R
  R  R  R  R  R  R  R  R  R  R  R  R  R~  R  R  (   R  R  (   R  R  Rn   (   R  R  R  (   R  R  (	   R  R  R   R!  R"  s   m2iso+aglets	   m2pim+gm2s   m2iso+p1s	   m2iso+xds(    (    (    (    (    (    (    (    (    (    (    (    (    (\   t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamest	   mimetypest   ret	   MULTILINEt   DOTALLt   flagsR   R   Rl  R   R
   t   BinRw  Rx  t   IntegerRv  R	   R   R   Ry  R{  Rz  R   t   tokenst   common_reserved_wordst   common_builtinst   common_pseudo_builtinst   pim_lexemes_to_rejectt   pim_additional_reserved_wordst   pim_additional_builtinst   pim_additional_pseudo_builtinst   iso_lexemes_to_rejectt   iso_additional_reserved_wordst   iso_additional_builtinst   iso_additional_pseudo_builtinst   m2r10_lexemes_to_rejectt   m2r10_additional_reserved_wordst   m2r10_additional_builtinst    m2r10_additional_pseudo_builtinst   objm2_lexemes_to_rejectt   objm2_additional_reserved_wordst   objm2_additional_builtinst    objm2_additional_pseudo_builtinst   aglet_additional_reserved_wordst   aglet_additional_builtinst    aglet_additional_pseudo_builtinst   gm2_additional_reserved_wordst   gm2_additional_builtinst   gm2_additional_pseudo_builtinst   p1_additional_reserved_wordst   p1_additional_builtinst   p1_additional_pseudo_builtinst   xds_additional_reserved_wordst   xds_additional_builtinst   xds_additional_pseudo_builtinst   pim_stdlib_module_identifierst   pim_stdlib_type_identifierst   pim_stdlib_proc_identifierst   pim_stdlib_var_identifierst   pim_stdlib_const_identifierst   iso_stdlib_module_identifierst   iso_stdlib_type_identifierst   iso_stdlib_proc_identifierst   iso_stdlib_var_identifierst   iso_stdlib_const_identifierst   m2r10_stdlib_adt_identifierst"   m2r10_stdlib_blueprint_identifierst   m2r10_stdlib_module_identifierst   m2r10_stdlib_type_identifierst   m2r10_stdlib_proc_identifierst   m2r10_stdlib_var_identifierst   m2r10_stdlib_const_identifiersR(  R4  R6  R7  R9  R:  R;  R<  R=  R>  R?  R.  R)  Rc  Rk  (    (    (    s6   lib/python2.7/site-packages/pygments/lexers/modula2.pyR      s  																																											                                                    
    	                                   




































































	&	f	0(   R  R  t   pygments.lexerR    R   t   pygments.utilR   R   t   pygments.tokenR   R   R   R   R   R	   R
   R   R   t   __all__R   (    (    (    s6   lib/python2.7/site-packages/pygments/lexers/modula2.pyt   <module>
   s   @	