
%^Tc           @   s   d  Z  d d l Z d d l m Z m Z m Z d d l 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.fortran
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Fortran languages.

    :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iN(   t
   RegexLexert   includet   words(   t   Textt   Commentt   Operatort   Keywordt   Namet   Stringt   Numbert   Punctuationt   FortranLexerc        8  B   su  e  Z d  Z d Z d g Z d d d d g Z d g Z e j e j	 BZ
 i d e j f d	 e f e d
  e d  d e f e d  d e f g d 6e dd d d d e f e dd d d d e j f d e f d e j f d e f e dd d d d e j f de j f de j 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 6Z RS(  s@   
    Lexer for FORTRAN 90 code.

    .. versionadded:: 0.10
    t   Fortrant   fortrans   *.fs   *.f90s   *.Fs   *.F90s   text/x-fortrans   ^#.*\ns   !.*\nt   stringst   cores   [a-z][\w$]*t   numss   [\s]+t   roott   ABSTRACTt   ACCEPTt   ALLt   ALLSTOPt   ALLOCATABLEt   ALLOCATEt   ARRAYt   ASSIGNt	   ASSOCIATEt   ASYNCHRONOUSt	   BACKSPACEt   BINDt   BLOCKt	   BLOCKDATAt   BYTEt   CALLt   CASEt   CLASSt   CLOSEt   CODIMENSIONt   COMMONt   CONCURRRENTt
   CONTIGUOUSt   CONTAINSt   CONTINUEt   CRITICALt   CYCLEt   DATAt
   DEALLOCATEt   DECODEt   DEFERREDt	   DIMENSIONt   DOt	   ELEMENTALt   ELSEt   ENCODEt   ENDt   ENTRYt   ENUMt
   ENUMERATORt   EQUIVALENCEt   EXITt   EXTENDSt   EXTERNALt	   EXTRINSICt   FILEt   FINALt   FORALLt   FORMATt   FUNCTIONt   GENERICt   GOTOt   IFt   IMAGESt   IMPLICITt   IMPORTt   IMPUREt   INCLUDEt   INQUIREt   INTENTt	   INTERFACEt	   INTRINSICt   ISt   LOCKt   MEMORYt   MODULEt   NAMELISTt   NULLIFYt   NONEt   NON_INTRINSICt   NON_OVERRIDABLEt   NOPASSt   OPENt   OPTIONALt   OPTIONSt	   PARAMETERt   PASSt   PAUSEt   POINTERt   PRINTt   PRIVATEt   PROGRAMt	   PROCEDUREt	   PROTECTEDt   PUBLICt   PUREt   READt	   RECURSIVEt   RESULTt   RETURNt   REWINDt   SAVEt   SELECTt   SEQUENCEt   STOPt	   SUBMODULEt
   SUBROUTINEt   SYNCt   SYNCALLt
   SYNCIMAGESt
   SYNCMEMORYt   TARGETt   THENt   TYPEt   UNLOCKt   USEt   VALUEt   VOLATILEt   WHEREt   WRITEt   WHILEt   prefixs   \bt   suffixs   \s*\bt	   CHARACTERt   COMPLEXs   DOUBLE PRECISIONs   DOUBLE COMPLEXt   INTEGERt   LOGICALt   REALt   C_INTt   C_SHORTt   C_LONGt   C_LONG_LONGt   C_SIGNED_CHARt   C_SIZE_Tt   C_INT8_Tt	   C_INT16_Tt	   C_INT32_Tt	   C_INT64_Tt   C_INT_LEAST8_Tt   C_INT_LEAST16_Tt   C_INT_LEAST32_Tt   C_INT_LEAST64_Tt   C_INT_FAST8_Tt   C_INT_FAST16_Tt   C_INT_FAST32_Tt   C_INT_FAST64_Tt
   C_INTMAX_Tt
   C_INTPTR_Tt   C_FLOATt   C_DOUBLEt   C_LONG_DOUBLEt   C_FLOAT_COMPLEXt   C_DOUBLE_COMPLEXt   C_LONG_DOUBLE_COMPLEXt   C_BOOLt   C_CHARt   C_PTRt   C_FUNPTRs$   (\*\*|\*|\+|-|\/|<|>|<=|>=|==|\/=|=)s   (::)s   [()\[\],:&%;.]t   Abortt   Abst   Accesst   AChart   ACost   ACosHt   AdjustLt   AdjustRt   AImagt   AIntt   Alarmt   Allt	   Allocatedt   ALogt   AMaxt   AMint   AModt   Andt   ANIntt   Anyt   ASint   ASinHt
   Associatedt   ATant   ATanHt   Atomic_Definet
   Atomic_Reft   BesJt   BesJNt	   Bessel_J0t	   Bessel_J1t	   Bessel_JNt	   Bessel_Y0t	   Bessel_Y1t	   Bessel_YNt   BesYt   BesYNt   BGEt   BGTt   BLEt   BLTt   Bit_Sizet   BTestt   CAbst   CCost   Ceilingt   CExpt   Chart   ChDirt   ChModt   CLogt   Cmplxt   Command_Argument_Countt   Complext   Conjgt   Cost   CosHt   Countt   CPU_Timet   CShiftt   CSint   CSqRtt   CTimet   C_Loct   C_Associatedt
   C_Null_Ptrt   C_Null_Funptrt   C_F_Pointert   C_F_ProcPointert   C_Null_Chart   C_Alertt   C_Backspacet   C_Form_Feedt   C_FunLoct   C_Sizeoft
   C_New_Linet   C_Carriage_Returnt   C_Horizontal_Tabt   C_Vertical_Tabt   DAbst   DACost   DASint   DATant   Date_and_Timet   DbesJt   DbesJNt   DbesYt   DbesYNt   Dblet   DCost   DCosHt   DDiMt   DErFt   DErFCt   DExpt   Digitst   DiMt   DIntt   DLogt   DMaxt   DMint   DModt   DNIntt   Dot_Productt   DProdt   DSignt   DSinHt   DShiftLt   DShiftRt   DSint   DSqRtt   DTanHt   DTant   DTimet   EOShiftt   Epsilont   ErFt   ErFCt   ErFC_Scaledt   ETimet   Execute_Command_Linet   Exitt   Expt   Exponentt   Extends_Type_Oft   FDatet   FGett   FGetCt   FindLoct   Floatt   Floort   Flusht   FNumt   FPutCt   FPutt   Fractiont   FSeekt   FStatt   FTellt   Gammat   GErrort   GetArgt   Get_Commandt   Get_Command_Argumentt   Get_Environment_Variablet   GetCWDt   GetEnvt   GetGIdt   GetLogt   GetPIdt   GetUIdt   GMTimet   HostNmt   Huget   Hypott   IAbst   IAChart   IAllt   IAndt   IAnyt   IArgCt   IBClrt   IBitst   IBSett   IChart   IDatet   IDiMt   IDIntt   IDNIntt   IEOrt   IErrNot   IFixt   Imagt   ImagPartt   Image_Indext   Indext   Intt   IOrt   IParityt   IRandt   IsaTtyt   IShftt   IShftCt   ISignt   Iso_C_Bindingt   Is_Contiguoust   Is_Iostat_Endt   Is_Iostat_Eort   ITimet   Killt   Kindt   LBoundt   LCoBoundt   Lent   Len_Trimt   LGet   LGtt   Linkt   LLet   LLtt   LnBlnkt   Loct   Logt	   Log_Gammat   Logicalt   Longt   LShiftt   LStatt   LTimet   MaskLt   MaskRt   MatMult   Maxt   MaxExponentt   MaxLoct   MaxValt   MClockt   Merget
   Merge_Bitst
   Move_Alloct   Mint   MinExponentt   MinLoct   MinValt   Modt   Modulot   MvBitst   Nearestt   New_Linet   NIntt   Norm2t   Nott   Nullt
   Num_Imagest   Ort   Packt   Parityt   PErrort	   Precisiont   Presentt   Productt   Radixt   Randt   Random_Numbert   Random_Seedt   Ranget   Realt   RealPartt   Renamet   Repeatt   Reshapet	   RRSpacingt   RShiftt   Same_Type_Ast   Scalet   Scant   Secondt   Selected_Char_Kindt   Selected_Int_Kindt   Selected_Real_Kindt   Set_Exponentt   Shapet   ShiftAt   ShiftLt   ShiftRt   Shortt   Signt   Signalt   SinHt   Sint   Sleept   Snglt   Spacingt   Spreadt   SqRtt   SRandt   Statt   Storage_Sizet   Sumt   SymLnkt   Systemt   System_Clockt   Tant   TanHt   Timet
   This_Imaget   Tinyt   TrailZt   Transfert	   Transposet   Trimt   TtyNamt   UBoundt   UCoBoundt   UMaskt   Unlinkt   Unpackt   Verifyt   XOrt   ZAbst   ZCost   ZExpt   ZLogt   ZSint   ZSqRts   \.(true|false)\.s+   \.(eq|ne|lt|le|gt|ge|not|and|or|eqv|neqv)\.s!   (?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"s!   (?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'s   \d+(?![.e])(_[a-z]\w+)?s%   [+-]?\d*\.\d+(e[-+]?\d+)?(_[a-z]\w+)?s%   [+-]?\d+\.\d*(e[-+]?\d+)?(_[a-z]\w+)?(o   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R    s   CALLR"   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`   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   s   DOUBLE PRECISIONs   DOUBLE COMPLEXR   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (1  R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R  R  R  R  R  R  R  R	  R
  R  R  R  R  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   FloatR(  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`  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  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  R  (   t   __name__t
   __module__t   __doc__t   namet   aliasest	   filenamest	   mimetypest   ret
   IGNORECASEt	   MULTILINEt   flagsR   t   PreprocR   R   R   R   R   t   TypeR   t   DeclarationR
   t   Builtint   WordR   t   Doublet   SingleR	   t   IntegerR'  t   tokens(    (    (    s;   /usr/lib/python2.7/dist-packages/pygments/lexers/fortran.pyR      s   								                        			                                                 	(   R  R  t   pygments.lexerR    R   R   t   pygments.tokenR   R   R   R   R   R   R	   R
   t   __all__R   (    (    (    s;   /usr/lib/python2.7/dist-packages/pygments/lexers/fortran.pyt   <module>
   s
   :	