
][Tc           @   s  d  Z  d d l Z d d l m Z m Z m Z m Z m Z m Z 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 d l m Z d d d	 g Z d e f d
     YZ d e f d     YZ d	 e f d     YZ d S(   s   
    pygments.lexers.pascal
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Pascal family languages.

    :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iN(   t   Lexert
   RegexLexert   includet   bygroupst   wordst   usingt   thist   default(   t   get_bool_optt   get_list_opt(	   t   Textt   Commentt   Operatort   Keywordt   Namet   Stringt   Numbert   Punctuationt   Error(   t   Scannert   DelphiLexert   Modula2Lexert   AdaLexerc          B   s   e  Z d  Z d Z d d d d g Z d g Z d g Z dZ dZ dZ	 e
 d Z e
 d  Z e
 d! Z e
 d" Z i d#d:6d$d46d%da6d&d6Z e
 d' Z e
 d( Z d  Z d  Z RS()  sj  
    For `Delphi <http://www.borland.com/delphi/>`_ (Borland Object Pascal),
    Turbo Pascal and Free Pascal source code.

    Additional options accepted:

    `turbopascal`
        Highlight Turbo Pascal specific keywords (default: ``True``).
    `delphi`
        Highlight Borland Delphi specific keywords (default: ``True``).
    `freepascal`
        Highlight Free Pascal specific keywords (default: ``True``).
    `units`
        A list of units that should be considered builtin, supported are
        ``System``, ``SysUtils``, ``Classes`` and ``Math``.
        Default is to consider all of them builtin.
    t   Delphit   delphit   past   pascalt   objectpascals   *.pass   text/x-pascalt   absolutet   andt   arrayt   asmt   begint   breakt   caset   constt   constructort   continuet
   destructort   divt   dot   downtot   elset   endt   filet   fort   functiont   gotot   ift   implementationt   int	   inheritedt   inlinet	   interfacet   labelt   modt   nilt   nott   objectt   oft   ont   operatort   ort   packedt	   proceduret   programt   recordt   reintroducet   repeatt   selft   sett   shlt   shrt   stringt   thent   tot   typet   unitt   untilt   usest   vart   whilet   witht   xort   ast   classt   exceptt   exportst   finalizationt   finallyt   initializationt   ist   libraryt   propertyt   raiset	   threadvart   tryt   disposet   exitt   falset   newt   truet   aliast   cdeclt   exportt	   interruptt   nostackframet   registert   safecallt	   softfloatt   stdcallt   varargst   namet   dynamict   neart   virtualt   externalt   overridet	   assemblert   abstractt   cppdeclR   t   fart   far16t   forwardt   indext
   oldfpccallt   privatet	   protectedt	   publishedt   publict   ansichart
   ansistringt   boolt   booleant   bytet   byteboolt   cardinalt   chart   compt   currencyt   doublet   dwordt   extendedt   int64t   integert   iunknownt   longboolt   longintt   longwordt	   pansichart   pansistringt   pboolt   pbooleant   pbytet
   pbytearrayt	   pcardinalt   pchart   pcompt	   pcurrencyt   pdatet	   pdatetimet   pdoublet   pdwordt	   pextendedt   phandlet   pint64t   pintegert   plongintt	   plongwordt   pointert   ppointert	   pshortintt   pshortstringt   psinglet	   psmallintt   pstringt   pvariantt	   pwidechart   pwidestringt   pwordt
   pwordarrayt	   pwordboolt   realt   real48t   shortintt   shortstringt   singlet   smallintt   tclasst   tdatet	   tdatetimet   textfilet   thandlet   tobjectt   ttimet   variantt   widechart
   widestringt   wordt   wordboolt   abst   acquireexceptionobjectt   addrt
   ansitoutf8t   appendt   arctant   assertt   assignedt
   assignfilet   beginthreadt	   blockreadt
   blockwritet   chdirt   chrt   closet	   closefilet   comptocurrencyt   comptodoublet   concatt   copyt   cost   dect   deletet   doubletocompt	   endthreadt   enummodulest   enumresourcemodulest   eoft   eolnt   eraset
   exceptaddrt   exceptobjectt   excludet   expt   filepost   filesizet   fillchart   finalizet   findclasshinstancet   findhinstancet   findresourcehinstancet   flusht   fract   freememt	   get8087cwt   getdirt   getlasterrort   getmemt   getmemorymanagert   getmodulefilenamet   getvariantmanagert   haltt   hit   hight   incR   t
   initializet   insertt   intt   ioresultt   ismemorymanagersett   isvariantmanagersett   lengtht   lnt   lot   lowt   mkdirt   movet   oddt   olestrtostringt   olestrtostrvart   ordt
   paramcountt   paramstrt   pit   post   predt   ptrt
   pucs4charst   randomt	   randomizet   readt   readlnt
   reallocmemt   releaseexceptionobjectt   renamet   resett   rewritet   rmdirt   roundt   runerrort   seekt   seekeoft   seekeolnt	   set8087cwt	   setlengtht   setlinebreakstylet   setmemorymanagert	   setstringt
   settextbuft   setvariantmanagert   sint   sizeoft   slicet   sqrt   sqrtt   strt   stringofchart   stringtoolestrt   stringtowidechart   succt   swapt   trunct   truncatet   typeinfot   ucs4stringtowidestringt   unicodetoutf8t   uniquestringt   upcaset
   utf8decodet
   utf8encodet
   utf8toansit   utf8tounicodet   valt   vararrayredimt   varcleart   widecharlentostringt   widecharlentostrvart   widechartostringt   widechartostrvart   widestringtoucs4stringt   writet   writelnt   Systemt   abortt   addexitproct   addterminateproct   adjustlinebreakst   allocmemt   ansicomparefilenamet   ansicomparestrt   ansicomparetextt   ansidequotedstrt   ansiextractquotedstrt   ansilastchart   ansilowercaset   ansilowercasefilenamet   ansipost   ansiquotedstrt   ansisamestrt   ansisametextt   ansistrcompt   ansistricompt   ansistrlastchart   ansistrlcompt   ansistrlicompt   ansistrlowert
   ansistrpost   ansistrrscant   ansistrscant   ansistruppert   ansiuppercaset   ansiuppercasefilenamet	   appendstrt	   assignstrt   beept	   booltostrt   bytetocharindext   bytetocharlent   bytetypet   callterminateprocst   changefileextt
   charlengtht   chartobyteindext   chartobytelent
   comparememt
   comparestrt   comparetextt	   createdirt
   createguidt   currentyeart	   currtostrt
   currtostrft   datet   datetimetofiledatet   datetimetostrt   datetimetostringt   datetimetosystemtimet   datetimetotimestampt	   datetostrt	   dayofweekt
   decodedatet   decodedatefullyt
   decodetimet
   deletefilet   directoryexistst   diskfreet   disksizet
   disposestrt
   encodedatet
   encodetimet   exceptionerrormessaget   excludetrailingbackslasht   excludetrailingpathdelimitert   expandfilenamet   expandfilenamecaset   expanduncfilenamet   extractfiledirt   extractfiledrivet   extractfileextt   extractfilenamet   extractfilepatht   extractrelativepatht   extractshortpathnamet   fileaget	   filecloset
   filecreatet   filedatetodatetimet
   fileexistst   filegetattrt   filegetdatet   fileisreadonlyt   fileopent   filereadt
   filesearcht   fileseekt   filesetattrt   filesetdatet   filesetreadonlyt	   filewritet   finalizepackaget	   findcloset   findcmdlineswitcht	   findfirstt   findnextt   floattocurrt   floattodatetimet   floattodecimalt
   floattostrt   floattostrft   floattotextt   floattotextfmtt
   fmtloadstrt   fmtstrt   forcedirectoriest   formatt	   formatbuft
   formatcurrt   formatdatetimet   formatfloatt
   freeandnilt   getcurrentdirt   getenvironmentvariablet   getfileversiont   getformatsettingst   getlocaleformatsettingst   getmodulenamet   getpackagedescriptiont   getpackageinfot   gettimet   guidtostringt	   incamontht   includetrailingbackslasht   includetrailingpathdelimitert   incmontht   initializepackaget   interlockeddecrementt   interlockedexchanget   interlockedexchangeaddt   interlockedincrementt   inttohext   inttostrt   isdelimitert   isequalguidt
   isleapyeart   ispathdelimitert   isvalididentt	   languagest   lastdelimitert   loadpackaget   loadstrt	   lowercaset   msecstotimestampt   newstrt   nextcharindext   nowt   outofmemoryerrort	   quotedstrt   raiselastoserrort   raiselastwin32errort	   removedirt
   renamefilet   replacedatet   replacetimet   safeloadlibraryt   samefilenamet   sametextt   setcurrentdirt   showexceptiont   sleept   stralloct
   strbufsizet   strbytetypet   strcatt   strcharlengtht   strcompt   strcopyt
   strdisposet   strecopyt   strendt   strfmtt   stricompt   stringreplacet   stringtoguidt   strlcatt   strlcompt   strlcopyt   strlent   strlfmtt	   strlicompt   strlowert   strmovet   strnewt   strnextchart   strpast   strpcopyt	   strplcopyt   strpost   strrscant   strscant	   strtoboolt   strtobooldeft	   strtocurrt   strtocurrdeft	   strtodatet   strtodatedeft   strtodatetimet   strtodatetimedeft
   strtofloatt   strtofloatdeft   strtointt
   strtoint64t   strtoint64deft   strtointdeft	   strtotimet   strtotimedeft   struppert   supportst   syserrormessaget   systemtimetodatetimet   texttofloatt   timet   timestamptodatetimet   timestamptomsecst	   timetostrt   trimt   trimleftt	   trimrightt   tryencodedatet   tryencodetimet   tryfloattocurrt   tryfloattodatetimet   trystrtoboolt   trystrtocurrt   trystrtodatet   trystrtodatetimet   trystrtofloatt   trystrtointt   trystrtoint64t   trystrtotimet   unloadpackaget	   uppercaset   widecomparestrt   widecomparetextt
   widefmtstrt
   wideformatt   wideformatbuft   widelowercaset   widesamestrt   widesametextt   wideuppercaset
   win32checkt   wraptextt   SysUtilst   activateclassgroupt   allocatehwndt   bintohext   checksynchronizet   collectionsequalt   countgenerationst   deallocatehwndt	   equalrectt   extractstringst	   findclasst   findglobalcomponentt   getclasst   groupdescendantswitht   hextobint
   identtointt   initinheritedcomponentt
   inttoidentt   invalidpointt   isuniqueglobalcomponentnamet	   linestartt   objectbinarytotextt   objectresourcetotextt   objecttexttobinaryt   objecttexttoresourcet   pointsequalt   readcomponentrest   readcomponentresext   readcomponentresfilet   rectt   registerclasst   registerclassaliast   registerclassest   registercomponentst   registerintegerconstst   registernoicont   registernonactivext
   smallpointt   startclassgroupt   teststreamformatt   unregisterclasst   unregisterclassest   unregisterintegerconstst   unregistermoduleclassest   writecomponentresfilet   Classest   arccost   arccosht   arccott   arccotht   arccsct   arccscht   arcsect   arcsecht   arcsint   arcsinht   arctan2t   arctanht   ceilt   comparevaluet   cosecantt   cosht   cott   cotant   cotht   csct   cscht
   cycletodegt   cycletogradt
   cycletoradt
   degtocyclet	   degtogradt   degtoradt   divmodt   doubledecliningbalancet   ensureranget   floort   frexpt   futurevaluet   getexceptionmaskt   getprecisionmodet   getroundmodet   gradtocyclet	   gradtodegt	   gradtoradt   hypott   inranget   interestpaymentt   interestratet   internalrateofreturnt   intpowert
   isinfinitet   isnant   iszerot   ldexpt   lnxp1t   log10t   log2t   lognt   maxt   maxintvaluet   maxvaluet   meant   meanandstddevt   mint   minintvaluet   minvaluet   momentskewkurtosist   netpresentvaluet   normt   numberofperiodst   paymentt   periodpaymentt   polyt
   popnstddevt   popnvariancet   powert   presentvaluet
   radtocyclet   radtodegt	   radtogradt   randgt   randomranget   roundtot	   samevaluet   sect   secantt   secht   setexceptionmaskt   setprecisionmodet   setroundmodet   signt   simpleroundtot   sincost   sinht   slndepreciationt   stddevt   sumt   sumintt   sumofsquarest   sumsandsquarest   syddepreciationt   tant   tanht   totalvariancet   variancet   Matht   aht   alt   axt   bht   blt   bpt   bxt   cht   clt   cr0t   cr1t   cr2t   cr3t   cr4t   cst   cxt   dht   dit   dlt   dr0t   dr1t   dr2t   dr3t   dr4t   dr5t   dr6t   dr7t   dst   dxt   eaxt   ebpt   ebxt   ecxt   edit   edxt   est   esit   espt   fst   gst   mm0t   mm1t   mm2t   mm3t   mm4t   mm5t   mm6t   mm7t   sit   spt   sst   st0t   st1t   st2t   st3t   st4t   st5t   st6t   st7t   xmm0t   xmm1t   xmm2t   xmm3t   xmm4t   xmm5t   xmm6t   xmm7t   aaat   aadt   aamt   aast   adct   addt   arplt   boundt   bsft   bsrt   bswapt   btt   btct   btrt   btst   callt   cbwt   cdqt   clct   cldt   clit   cltst   cmct   cmovat   cmovaet   cmovbt   cmovbet   cmovct   cmovcxzt   cmovet   cmovgt   cmovget   cmovlt   cmovlet   cmovnat   cmovnaet   cmovnbt   cmovnbet   cmovnct   cmovnet   cmovngt   cmovnget   cmovnlt   cmovnlet   cmovnot   cmovnpt   cmovnst   cmovnzt   cmovot   cmovpt   cmovpet   cmovpot   cmovst   cmovzt   cmpt   cmpsbt   cmpsdt   cmpswt   cmpxchgt
   cmpxchg486t	   cmpxchg8bt   cpuidt   cwdt   cwdet   daat   dast   emmst   entert   hltt   ibtst   icebpt   idivt   imult   insbt   insdt   inswt   int01t   int03t   int1t   int3t   intot   invdt   invlpgt   irett   iretdt   iretwt   jat   jaet   jbt   jbet   jct   jcxzt   jet   jecxzt   jgt   jget   jlt   jlet   jmpt   jnat   jnaet   jnbt   jnbet   jnct   jnet   jngt   jnget   jnlt   jnlet   jnot   jnpt   jnst   jnzt   jot   jpt   jpet   jpot   jst   jzt   lahft   lart   lcallt   ldst   leat   leavet   lest   lfst   lgdtt   lgst   lidtt   ljmpt   lldtt   lmswt   loadallt
   loadall286t   lockt   lodsbt   lodsdt   lodswt   loopt   loopet   loopnet   loopnzt   loopzt   lslt   lsst   ltrt   movt   movdt   movqt   movsbt   movsdt   movswt   movsxt   movzxt   mult   negt   nopt   outt   outsbt   outsdt   outswt   popt   popat   popadt   popawt   popft   popfdt   popfwt   pusht   pushat   pushadt   pushawt   pushft   pushfdt   pushfwt   rclt   rcrt   rdmsrt   rdpmct   rdshrt   rdtsct   rept   repet   repnet   repnzt   repzt   rett   retft   retnt   rolt   rort   rsdct   rsldtt   rsmt   sahft   salt   salct   sart   sbbt   scasbt   scasdt   scaswt   setat   setaet   setbt   setbet   setct   setcxzt   setet   setgt   setget   setlt   setlet   setnat   setnaet   setnbt   setnbet   setnct   setnet   setngt   setnget   setnlt   setnlet   setnot   setnpt   setnst   setnzt   setot   setpt   setpet   setpot   setst   setzt   sgdtt   shldt   shrdt   sidtt   sldtt   smit   smintt   smintoldt   smswt   stct   stdt   stit   stosbt   stosdt   stoswt   subt   svdct   svldtt   svtst   syscallt   sysentert   sysexitt   sysrett   testt   ud1t   ud2t   umovt   verrt   verwt   waitt   wbinvdt   wrmsrt   wrshrt   xaddt   xbtst   xchgt   xlatt   xlatbc         K   s   t  j |  |  t   |  _ t | d t  rD |  j j |  j  n  t | d t  rl |  j j |  j  n  t | d t  r |  j j |  j	  n  t   |  _
 x: t | d t |  j   D] } |  j
 j |  j |  q Wd  S(   Nt   turbopascalR   t
   freepascalt   units(   R    t   __init__RF   t   keywordsR   t   Truet   updatet   TURBO_PASCAL_KEYWORDSt   DELPHI_KEYWORDSt   FREE_PASCAL_KEYWORDSt   builtinsR	   t   listt   BUILTIN_UNITS(   RE   t   optionsRM   (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/pascal.pyR/  *  s    "c         c   so  t  | t j t j Bt j B } d g } t } t } t } t } t } t }	 t   }
 d d g } x| j sjt } | d d k r| j	 d  r t
 } q,| j	 d  r | j j d  r t j } qt j } q,| j	 d  r t j } q,| j	 d  r&t } |	 r| j d	 k rt }	 qq,| j	 d
  rt } t } | sM| r| j d k ro| d c d 7<q| j d k r| d c d 8<q| j d k r| d c d 7<q| j d k r| d c d 8<qqq,| j	 d  r#| j j   } | d k rt j j } q| |  j k rt } | s5| r| |  j k r| d d k r| d d k rt } t } d d g } t   }
 n  | d+ k rt }	 q | d k r| j d  q | d k rt } t } q | d, k r t } t } q q| r| |  j k rt j } q| r7| d- k r7t j } t } q| rj| j d  rXt j } q t j } t } q| rt j  } t } q|	 rt j! } |
 j" | j j    q| |
 k rt j! } q| |  j# k rt j$ } q| |  j% k rt j } q| r| |  j& k rt j } qt } q,| j	 d  rHt' } | j d  q,| j	 d   rct' j( } q,| j	 d!  r~t) j* } q,| j	 d"  rt) j+ } q,| j	 d#  rt) j, } q,t- |  d k r| j.   n  | j/   nL| d d k r\| j	 d$  rt' j0 } q,| j	 d  r-t' } | j.   q,| j	 d%  rEt' } q,| j/   | j.   n| d d k r,| j	 d  rt
 } q,| j	 d&  rt } | j.   q,| j	 d  r| j j d  rt j } q)t j } q,| j	 d  rt j } q,| j	 d  rt' } | j d  q,| j	 d'  r:t j! } q,| j	 d  r| j j   } | |  j1 k rpt } q)| |  j2 k rt j } q)t } q,| j	 d(  rt } q,| j	 d
  rt } q,| j	 d!  rt) j* } q,| j	 d"  rt) j+ } q,| j	 d#  rt) j, } q,| j/   | j.   n  | j j3   rM| j d) k } n  | j4 | | j pbd* f Vqe Wd  S(.   Nt   initiali    is   \s+s   \{.*?\}|\(\*.*?\*\)t   $s   //.*?$s   [-+*\/=<>:;,.@\^]t   ;s   [\(\)\[\]]+t   (i   t   )t   [t   ]s   [A-Za-z_][A-Za-z_0-9]*t   resultR6   R/   R   R]   R@   R=   R.   R$   R&   R  RJ  s   \s*\.\s*t   'RI   s   \#(\d+|\$[0-9A-Fa-f]+)s   \$[0-9A-Fa-f]+s   \d+(?![eE]|\.[^.])s&   \d+(\.\d+([eE][+-]?\d+)?|[eE][+-]?\d+)s   ''s   [^']*R+   s   @@[A-Za-z_][A-Za-z_0-9]*s   [-+*\/=<>:;,.@\^]+t   .t    (   R6   R/   (   R@   R=   R.   s   constructorR&   (   s   reads   write(5   R   t   ret   DOTALLt	   MULTILINEt
   IGNORECASEt   FalseRF   t   eosR   t   scanR
   t   matcht
   startswithR   t   Preproct	   Multilinet   SingleR   R   t   lowerR   t   Builtint   PseudoR0  R   t   BLOCK_KEYWORDSR1  R   t   FUNCTION_MODIFIERSR  t   Classt   Functiont   Propertyt   LabelR!  t   BUILTIN_TYPESt   Typet
   DIRECTIVESR6  R   t   CharR   t   Hext   Integert   Floatt   lenR  t   get_chart   Escapet   ASM_INSTRUCTIONSt   ASM_REGISTERSt   stript	   start_pos(   RE   t   textt   scannert   stackt   in_function_blockt   in_property_blockt   was_dott   next_token_is_functiont   next_token_is_propertyt   collect_labelst   block_labelst   brace_balancet   tokent   lowercase_name(    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/pascal.pyt   get_tokens_unprocessed7  s2    					 										
					
(8   R   R   s   arrays   asmR    R!   R"   R#   s   constructorR%   s
   destructorR'   R(   R)   s   elses   ends   fileR-   s   functions   gotoR0   R1   s   inR3   R4   R5   s   labels   modR8   R9   s   objectR;   R<   s   operators   orR?   s	   procedureRA   s   recordRC   s   repeats   selfs   setRG   RH   s   stringRJ   RK   s   types   unitRN   RO   s   varRQ   RR   RS   (   RT   RU   RV   RW   RX   RY   RZ   R[   R\   R<   s   propertyR^   R_   R`   (   Ra   s   exitRc   s   newRe   (   R    RU   R#   s   constructors
   destructors   endRX   s   functionR1   RZ   s   labelR\   s   operators	   procedureRA   s   propertys   recordR_   s   types   unitRO   s   var(   s   aliasRg   Rh   R4   Ri   Rj   R   s   registerRl   Rm   Rn   Ro   s   nameRq   Rr   Rs   Rt   Ru   Rv   (   R   Rw   Rv   Rx   s   defaultRy   Rz   R{   s   indexR}   R~   R   R   R   (G   R   R   s   boolR   R   R   R   s   chars   compR   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   s   realR   R   R   R   R   s   stringR   R   R   R   R   R   R   R   R   R   R   R   (   s   absR   R   R   s   appendR   s   assertR   R   R   R   R   R!   s   chdirs   chrs   closeR   R   R   R   R%   s   copyR   R   R   Ra   R   R   R   R   s   eofR   R   R   R   R   s   exitR   R   R   R   R   R   R   R   s   flushR   R   R   R   R   R   R   R   R   R   s   hiR   R   s   includeR   s   inserts   intR  R  R  R  s   lns   loR  s   mkdirR
  s   newR  R  R  s   ordR  R  R  s   posR  R  R  R  R  s   readR  R  R  s   renames   resetR  s   rmdirs   roundR!  s   seekR#  R$  R%  R&  R'  R(  R)  R*  R+  R,  R-  s   sliceR/  R0  s   strR2  R3  R4  R5  R6  R7  s   truncateR9  R:  R;  R<  R=  R>  R?  R@  RA  RB  RC  RD  RE  RF  RG  RH  RI  s   writeRK  (   s   abortRN  RO  RP  RQ  RR  RS  RT  RU  RV  RW  RX  RY  RZ  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  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  s   formatR  R  R  R  R  R  R  R  R  R  s   getmodulenameR  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  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/  R0  R1  R2  R3  R4  R5  R6  R7  R8  R9  R:  R;  R<  R=  R>  R?  R@  RA  RB  RC  RD  RE  (,   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`  Ra  Rb  Rc  Rd  Re  Rf  Rg  Rh  Ri  Rj  Rk  Rl  Rm  Rn  Ro  Rp  Rq  Rr  (d   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  s   divmodR  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   maxR  R  R  R  s   minR  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   sumR  R  R  R  R  R  R  R  (C   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  R  R  R  R  R  (  R  R  R  R  R   s   addR   R"  R#  R$  R%  R&  R'  R(  R)  R*  s   callR,  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  s   cmpRS  RT  RU  RV  RW  RX  RY  s   cwdR[  R\  R]  R   R'   R^  R_  R`  Ra  Rb  Rc  Rd  s   inR   Re  Rf  Rg  s   intRh  Ri  Rj  Rk  Rl  Rm  Rn  Ro  Rp  Rq  Rr  Rs  Rt  Ru  Rv  Rw  Rw  Rx  Ry  Rz  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  R  R9   s   ors   outR  R  R  s   popR  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  R  R  R   R  R  R  R  R  R  RG   R  RH   R  R	  R
  R  R  R  R  R  R  R  R  R  R  s   strs   subR  R  R  R  R  R  R  s   testR  R  R   R!  R"  s   waitR$  R%  R&  R'  R(  R)  R*  R+  RS   (   t   __name__t
   __module__t   __doc__Rp   t   aliasest	   filenamest	   mimetypesR3  R4  R5  RF   RT  RU  R\  RZ  R8  Re  Rd  R/  Ru  (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/pascal.pyR      s  		            	   	  	            	                                                                                                                             
       	                                     		c        :   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 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 d e f g d 6d e f d e f d e f d e f d e f d e f g d 6d e 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 g d' 6e d	  e d$  e d'  e d  e d  e d  e d  e d   g d( 6Z d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< d= d> d? d@ dA dB dC dD dE dF dG dH dI dJ dK dL dM dN dO dP g( Z dQ dR dS dT dU dV dW dX dY dZ d[ d\ d] d^ d_ d` da db dc dd de df dg dh di dj dk dl dm dn do g Z d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 dp d5 d6 dq d7 dr d8 d9 d: d; d< d= d> d? d@ dA dB ds dC dD dE dF dG dt du dH dI dJ dK dL dM dN dO dP g. Z dQ dR dS dT dU dV dW dv dw dX dY dZ d[ d\ d] d^ dx d_ d` dy da dz d{ d| d} db dc dd de df dg dh di dj d~ d dk dl dm dn d do g* Z d) d* d+ d, d- d. d/ d0 d1 d2 d3 d4 d d5 d7 d8 d9 d d: d; d< d d= d> d? d@ dA d dB dC dD dF dG dH dI dJ dK dL dM dN d dO d d d d d d d d d d d d d d d d g: Z  dQ dR dS dU dV dW dY d[ d] d^ da d d{ d db dc dd de d df d dg d dh di d dj d dk d d d dm d d do d d d d d g) Z! d d d d d d d d d d g
 Z" d d d d d d d d d d d d d d d d d d d d d g Z# d   Z$ d   Z% RS(   s  
    For `Modula-2 <http://www.modula2.org/>`_ source code.

    Additional options that determine which keywords are highlighted:

    `pim`
        Select PIM Modula-2 dialect (default: True).
    `iso`
        Select ISO Modula-2 dialect (default: False).
    `objm2`
        Select Objective Modula-2 dialect (default: False).
    `gm2ext`
        Also highlight GNU extensions (default: False).

    .. versionadded:: 1.3
    s   Modula-2t   modula2t   m2s   *.defs   *.mods   text/x-modula2s   \n+s   \s+t
   whitespaces   ([a-zA-Z_$][\w$]*)t   identifierss   [01]+Bs   [0-7]+Bs   [0-7]+Cs
   [0-9A-F]+Cs
   [0-9A-F]+Hs   [0-9]+\.[0-9]+E[+-][0-9]+s   [0-9]+\.[0-9]+s   [0-9]+t   numliteralss   '(\\\\|\\'|[^'])*'s   "(\\\\|\\"|[^"])*"t   stringss   [*/+=#~&<>\^-]s   :=t   @s   \.\.t   `s   ::t	   operatorss   [()\[\]{},.:;|]t   punctuations   //.*?\ns   /\*(.*?)\*/s   \(\*([^$].*?)\*\)t   commentss   \(\*\$(.*?)\*\)s   <\*(.*?)\*>t   pragmast   roott   ANDt   ARRAYt   BEGINt   BYt   CASEt   CONSTt
   DEFINITIONt   DIVt   DOt   ELSEt   ELSIFt   ENDt   EXITt   EXPORTt   FORt   FROMt   IFt   IMPLEMENTATIONt   IMPORTt   INt   LOOPt   MODt   MODULEt   NOTt   OFt   ORt   POINTERt	   PROCEDUREt	   QUALIFIEDt   RECORDt   REPEATt   RETURNt   SETt   THENt   TOt   TYPEt   UNTILt   VARt   WHILEt   WITHt   ABSt   BITSETt   BOOLEANt   CAPt   CARDINALt   CHARt   CHRt   DECt   DISPOSEt   EXCLt   FALSEt   FLOATt   HALTt   HIGHt   INCt   INCLt   INTEGERt   LONGINTt   LONGREALt   MAXt   MINt   NEWt   NILt   ODDt   ORDt   PROCt   REALt   SIZEt   TRUEt   TRUNCt   VALt   EXCEPTt   FINALLYt   FORWARDt	   PACKEDSETt   REMt   RETRYt   CMPLXt   COMPLEXt   IMt   INTt   INTERRUPTIBLEt   LENGTHt   LFLOATt   LONGCOMPLEXt
   PROTECTIONt   REt   UNINTERRUBTIBLEt   ENUMt	   IMMUTABLEt   ISt   OPAQUEt   VARIADICt   BYCOPYt   BYREFt   CLASSt   CONTINUEt   CRITICALt   INOUTt   METHODt   ONt   OPTIONALt   OUTt   PRIVATEt	   PROTECTEDt   PROTOCOLt   PUBLICt   SUPERt   TRYt   INRANGEt   LONGCARDt   NEGt   NEXTVt   OCTETt   PREDt   READt   SUCCt   TMAXt   TMINt   TSIZEt   UNICHARt   WRITEt   WRITEFt   OBJECTt   NOt   YESt   ASMt   __ATTRIBUTE__t   __BUILTIN__t
   __COLUMN__t   __DATE__t   __FILE__t   __FUNCTION__t   __LINE__t
   __MODULE__t   VOLATILEt   BITSET8t   BITSET16t   BITSET32t	   CARDINAL8t
   CARDINAL16t
   CARDINAL32t
   CARDINAL64t	   COMPLEX32t	   COMPLEX64t	   COMPLEX96t
   COMPLEX128t   INTEGER8t	   INTEGER16t	   INTEGER32t	   INTEGER64t   REAL8t   REAL16t   REAL32t   REAL96t   REAL128t   THROWc         K   s  t    |  _ t    |  _ t | d t  rS |  j j |  j  |  j j |  j  na t | d t  r |  j j |  j  |  j j |  j	  n& |  j j |  j
  |  j j |  j  t | d t  r |  j j |  j  |  j j |  j  n  t j |  |  d  S(   Nt   isot   objm2t   gm2ext(   RF   t   reserved_wordst
   pervasivesR   RI  R2  t   iso_reserved_wordst   iso_pervasivest   objm2_reserved_wordst   objm2_pervasivest   pim_reserved_wordst   pim_pervasivest   gnu_reserved_wordst   gnu_pervasivesR   R/  (   RE   R9  (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/pascal.pyR/    s    c         c   s}   xv t  j |  |  D]b \ } } } | t k rg | |  j k rI t j } qg | |  j k rg t j } qg n  | | | f Vq Wd  S(   N(   R   Ru  R   R)  R   t   ReservedR*  t	   Pervasive(   RE   Rh  R|   Rs  t   value(    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/pascal.pyRu    s    "(&   Rv  Rw  Rx  Rp   Ry  Rz  R{  RE  RG  RF  t   flagsR
   R   R   t   Bint   OctR^  R`  R_  R   R   R   R   RP  RO  RN  R   t   tokensR/  R0  R+  R,  R-  R.  R1  R2  R/  Ru  (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/pascal.pyR     s   																	c        Q   B   s  e  Z d  Z d Z d d d g Z d d d g Z d g Z e j e j	 BZ
 i d	 e f d
 e j f d	 e f d e j d f d e e j e e j  d f d e j f d e e j e  f d e e j e  d f d e e j e e j  f d e j f e d d0 d1 e j f d2 e j f d3 e j f d4 e j d4 f d5 e j d6 f d7 e e j e  d8 f d9 e e j e e e e j  f d: e j f d; e e j e e e e j  f e d dw d1 d0 d1 e j f dx e f e dy  e dz  d{ e j f d| e e e e    f d} e f d~ e f d e f g d 6d e! j" f d e! j# f d e! j$ f g dz 6d e e e j%  f g dy 6d e d f d e d f d e j d f d e j& f e d  g d 6d e j f d e j& f d e f d e d f g d 6d e d f d e d f d e j f d5 e j d f d e j d f d e e j e  d f e d  g d 6d e d f d e e j e e j  f e d  g d6 6d e j d f e d  g d 6d e j d f e' d  g d8 6d e d f d e j( f d e f d e j f e d  g d 6dF e j f d e j f dW e j d f d e d f d e d f d e j) f e d  g d4 6d e e j( e e  f d e f d e d f e d  g d 6Z* RS(   s9   
    For Ada source code.

    .. versionadded:: 1.3
    t   Adat   adat   ada95t   ada2005s   *.adbs   *.adss   *.adas
   text/x-adas   [^\S\n]+s   --.*?\ns   function|procedure|entryt
   subprograms   (subtype|type)(\s+)(\w+)t   type_defs   task|protecteds   (subtype)(\s+)s
   (end)(\s+)R+   s   (pragma)(\s+)(\w+)s   (true|false|null)\bt   Addresst   Bytet   Booleant	   Charactert
   Controlledt   Countt   Cursort   Durationt	   File_Modet	   File_TypeR`  t	   GeneratorR_  t
   Long_Floatt   Long_Integert   Long_Long_Floatt   Long_Long_Integert   Naturalt   Positivet   Reference_Typet   Short_Floatt   Short_Integert   Short_Short_Floatt   Short_Short_IntegerR   t   Wide_Charactert   Wide_Stringt   suffixs   \bs,   (and(\s+then)?|in|mod|not|or(\s+else)|rem)\bs   generic|privatet   packages   array\bt	   array_defs   (with|use)(\s+)t   imports   (\w+)(\s*)(:)(\s*)(constant)s   <<\w+>>s0   (\w+)(\s*)(:)(\s*)(declare|begin|loop|for|while)RM  R   Rw   t   acceptt   accesst   aliasedt   allR   t   atR    t   bodyR"   t   constantt   declaret   delayt   deltat   digitsR(   R*   t   elsift   entryt	   exceptionRb   R5   R-   R/   R0   R[   t   limitedR  Rd   t   nullR;   R>   t   othersR  t
   overridingt   pragmaR   R^   t   rangeRB   t   renamest   requeuet   returnt   reverset   selectt   separatet   subtypet   synchronizedt   taskt   taggedt	   terminateRJ   RL   RN   t   whenRQ   RS   t   prefixs   "[^"]*"t	   attributet   numberss   '[^']'s   (\w+)(\s*|[(,])s   (<>|=>|:=|[()|:;,.'])s
   [*<>+=/&-]s   \n+R  s   [0-9_]+#[0-9a-f]+#s   [0-9_]+\.[0-9_]*s   [0-9_]+s   (')(\w+)s   \(s   #popt   formal_partR<  s   is\bs   "[^"]+"|\w+s   (if|case|record|loop|select)s   "[^"]+"|[\w.]+s   \s+s   with|and|uses   record\bt
   record_defs   (null record)(;)s   (\w+)(\s+)(range)s
   end records   [\w.]+s   \)s   \w+s   ,|:[^=]s   (in|not|null|out|access)\bs   is\s+new|renamest   package_instantiations   ([\w.]+)s   ("[^"]+"|\w+)(\s+)(=>)s   [\w.\'"](   R@  RA  RB  s	   CharacterRD  RE  RF  RG  RH  RI  s   FloatRJ  s   IntegerRK  RL  RM  RN  RO  RP  RQ  RR  RS  RT  RU  s   StringRV  RW  (<   s   aborts   abss   abstractR\  s   accessR^  s   alls   arrays   ats   beginRa  s   caseRb  Rc  Rd  Re  Rf  s   dos   elseRg  s   ends   entryRi  s   exits	   interfaces   fors   gotos   ifs   isRj  s   loops   newRk  s   ofs   orRl  s   outRm  Rn  s	   protecteds   raises   ranges   records   renamesRq  Rr  s   reverseRt  Ru  s   subtypeRw  Rx  Ry  Rz  s   thens   types   untilR{  s   whiles   xor(   s   #popR  (   s   #popRZ  (+   Rv  Rw  Rx  Rp   Ry  Rz  R{  RE  RG  RH  R6  R
   R   RP  R   t   DeclarationR   R[  R3  RN  t   ConstantR   R   t   Wordt	   NamespaceR   R   RY  R   R   RC  R   R   R   R^  R`  R_  t	   AttributeRW  R   t   VariableRV  R9  (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/pascal.pyR     s   			    	        									(   Rx  RE  t   pygments.lexerR    R   R   R   R   R   R   R   t   pygments.utilR   R	   t   pygments.tokenR
   R   R   R   R   R   R   R   R   t   pygments.scannerR   t   __all__R   R   R   (    (    (    s:   /usr/lib/python2.7/dist-packages/pygments/lexers/pascal.pyt   <module>
   s   :@ 