HOME


Mini Shell 1.0
DIR: /lib/python3/dist-packages/pygments/lexers/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/pygments/lexers/__pycache__/fortran.cpython-312.pyc
�

|�ej(���dZddlZddlmZmZmZmZmZmZddl	m
Z
mZmZm
Z
mZmZmZmZmZddgZGd�de�ZGd�de�Zy)	z�
    pygments.lexers.fortran
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Fortran languages.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�
RegexLexer�bygroups�include�words�using�default)	�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation�Generic�FortranLexer�FortranFixedLexerc
��eZdZdZdZdZddgZgd�ZdgZe	je	jzZde
jfd	e
fed
�ed�defed
�dej$fgdeeej$e�fdeeej$e�feddd��efeddd��ej,fdefdej0fdefeddd��ej4fdej4fdej6fg
dej:fdej<fgdej@fdejBfd ejBfd!ejBfgd"�Z"y#)$rz@
    Lexer for FORTRAN 90 code.

    .. versionadded:: 0.10
    �Fortranzhttps://fortran-lang.org/�fortran�f90)z*.f03z*.f90z*.F03z*.F90ztext/x-fortranz^#.*\nz!.*\n�strings�corez[a-z][\w$]*�numsz[\s]+z\b(DO)(\s+)(CONCURRENT)\bz\b(GO)(\s*)(TO)\b)�ABSTRACT�ACCEPT�ALL�ALLSTOP�ALLOCATABLE�ALLOCATE�ARRAY�ASSIGN�	ASSOCIATE�ASYNCHRONOUS�	BACKSPACE�BIND�BLOCK�	BLOCKDATA�BYTE�CALL�CASE�CLASS�CLOSE�CODIMENSION�COMMON�
CONTIGUOUS�CONTAINS�CONTINUE�CRITICAL�CYCLE�DATA�
DEALLOCATE�DECODE�DEFERRED�	DIMENSION�DO�	ELEMENTAL�ELSE�ELSEIF�ENCODE�END�ENDASSOCIATE�ENDBLOCK�ENDDO�ENDENUM�	ENDFORALL�ENDFUNCTION�ENDIF�ENDINTERFACE�	ENDMODULE�
ENDPROGRAM�	ENDSELECT�ENDSUBMODULE�
ENDSUBROUTINE�ENDTYPE�ENDWHERE�ENTRY�ENUM�
ENUMERATOR�EQUIVALENCEz
ERROR STOP�EXIT�EXTENDS�EXTERNAL�	EXTRINSIC�FILE�FINAL�FORALL�FORMAT�FUNCTION�GENERIC�IF�IMAGES�IMPLICIT�IMPORT�IMPURE�INCLUDE�INQUIRE�INTENT�	INTERFACE�	INTRINSIC�IS�LOCK�MEMORY�MODULE�NAMELIST�NULLIFY�NONE�
NON_INTRINSIC�NON_OVERRIDABLE�NOPASS�ONLY�OPEN�OPTIONAL�OPTIONS�	PARAMETER�PASS�PAUSE�POINTER�PRINT�PRIVATE�PROGRAM�	PROCEDURE�	PROTECTED�PUBLIC�PURE�READ�	RECURSIVE�RESULT�RETURN�REWIND�SAVE�SELECT�SEQUENCE�STOP�	SUBMODULE�
SUBROUTINE�SYNC�SYNCALL�
SYNCIMAGES�
SYNCMEMORY�TARGET�THEN�TYPE�UNLOCK�USE�VALUE�VOLATILE�WHERE�WRITE�WHILEz\bz\s*\b)�prefix�suffix)%�	CHARACTER�COMPLEXzDOUBLE PRECISIONzDOUBLE COMPLEX�INTEGER�LOGICAL�REAL�C_INT�C_SHORT�C_LONG�C_LONG_LONG�
C_SIGNED_CHAR�C_SIZE_T�C_INT8_T�	C_INT16_T�	C_INT32_T�	C_INT64_T�C_INT_LEAST8_T�C_INT_LEAST16_T�C_INT_LEAST32_T�C_INT_LEAST64_T�
C_INT_FAST8_T�C_INT_FAST16_T�C_INT_FAST32_T�C_INT_FAST64_T�
C_INTMAX_T�
C_INTPTR_T�C_FLOAT�C_DOUBLE�
C_LONG_DOUBLE�C_FLOAT_COMPLEX�C_DOUBLE_COMPLEX�C_LONG_DOUBLE_COMPLEX�C_BOOL�C_CHAR�C_PTR�C_FUNPTRz$(\*\*|\*|\+|-|\/|<|>|<=|>=|==|\/=|=)z(::)z[()\[\],:&%;.](1�Abort�Abs�Access�AChar�ACos�ACosH�AdjustL�AdjustR�AImag�AInt�Alarm�All�	Allocated�ALog�AMax�AMin�AMod�And�ANInt�Any�ASin�ASinH�
Associated�ATan�ATanH�
Atomic_Define�
Atomic_Ref�BesJ�BesJN�	Bessel_J0�	Bessel_J1�	Bessel_JN�	Bessel_Y0�	Bessel_Y1�	Bessel_YN�BesY�BesYN�BGE�BGT�BLE�BLT�Bit_Size�BTest�CAbs�CCos�Ceiling�CExp�Char�ChDir�ChMod�CLog�Cmplx�Command_Argument_Count�Complex�Conjg�Cos�CosH�Count�CPU_Time�CShift�CSin�CSqRt�CTime�C_Loc�C_Associated�
C_Null_Ptr�
C_Null_Funptr�C_F_Pointer�C_F_ProcPointer�C_Null_Char�C_Alert�C_Backspace�C_Form_Feed�C_FunLoc�C_Sizeof�
C_New_Line�C_Carriage_Return�C_Horizontal_Tab�C_Vertical_Tab�DAbs�DACos�DASin�DATan�
Date_and_Time�DbesJ�DbesJN�DbesY�DbesYN�Dble�DCos�DCosH�DDiM�DErF�DErFC�DExp�Digits�DiM�DInt�DLog�DMax�DMin�DMod�DNInt�Dot_Product�DProd�DSign�DSinH�DShiftL�DShiftR�DSin�DSqRt�DTanH�DTan�DTime�EOShift�Epsilon�ErF�ErFC�ErFC_Scaled�ETime�Execute_Command_Line�Exit�Exp�Exponent�Extends_Type_Of�FDate�FGet�FGetC�FindLoc�Float�Floor�Flush�FNum�FPutC�FPut�Fraction�FSeek�FStat�FTell�Gamma�GError�GetArg�Get_Command�Get_Command_Argument�Get_Environment_Variable�GetCWD�GetEnv�GetGId�GetLog�GetPId�GetUId�GMTime�HostNm�Huge�Hypot�IAbs�IAChar�IAll�IAnd�IAny�IArgC�IBClr�IBits�IBSet�IChar�IDate�IDiM�IDInt�IDNInt�IEOr�IErrNo�IFix�Imag�ImagPart�Image_Index�Index�Int�IOr�IParity�IRand�IsaTty�IShft�IShftC�ISign�
Iso_C_Binding�
Is_Contiguous�
Is_Iostat_End�
Is_Iostat_Eor�ITime�Kill�Kind�LBound�LCoBound�Len�Len_Trim�LGe�LGt�Link�LLe�LLt�LnBlnk�Loc�Log�	Log_Gamma�Logical�Long�LShift�LStat�LTime�MaskL�MaskR�MatMul�Max�MaxExponent�MaxLoc�MaxVal�MClock�Merge�
Merge_Bits�
Move_Alloc�Min�MinExponent�MinLoc�MinVal�Mod�Modulo�MvBits�Nearest�New_Line�NInt�Norm2�Not�Null�
Num_Images�Or�Pack�Parity�PError�	Precision�Present�Product�Radix�Rand�
Random_Number�Random_Seed�Range�Real�RealPart�Rename�Repeat�Reshape�	RRSpacing�RShift�Same_Type_As�Scale�Scan�Second�Selected_Char_Kind�Selected_Int_Kind�Selected_Real_Kind�Set_Exponent�Shape�ShiftA�ShiftL�ShiftR�Short�Sign�Signal�SinH�Sin�Sleep�Sngl�Spacing�Spread�SqRt�SRand�Stat�Storage_Size�Sum�SymLnk�System�System_Clock�Tan�TanH�Time�
This_Image�Tiny�TrailZ�Transfer�	Transpose�Trim�TtyNam�UBound�UCoBound�UMask�Unlink�Unpack�Verify�XOr�ZAbs�ZCos�ZExp�ZLog�ZSin�ZSqRtz\.(true|false)\.z+\.(eq|ne|lt|le|gt|ge|not|and|or|eqv|neqv)\.z"(\\[0-7]+|\\[^0-7]|[^"\\])*"z'(\\[0-7]+|\\[^0-7]|[^'\\])*'z\d+(?![.e])(_([1-9]|[a-z]\w*))?z0[+-]?\d*\.\d+([ed][-+]?\d+)?(_([1-9]|[a-z]\w*))?z0[+-]?\d+\.\d*([ed][-+]?\d+)?(_([1-9]|[a-z]\w*))?z0[+-]?\d+(\.\d*)?[ed][-+]?\d+(_([1-9]|[a-z]\w*))?)�rootrrrN)#�__name__�
__module__�__qualname__�__doc__�name�url�aliases�	filenames�	mimetypes�re�
IGNORECASE�	MULTILINE�flagsr
�Preprocrr
r	�
Whitespacerrr�Typer�Declarationr�Builtin�Wordr�Double�Singler�Integerr?�tokens���9/usr/lib/python3/dist-packages/pygments/lexers/fortran.pyrrs����
�D�
%�C��%� �G�4�I�!�"�I��M�M�B�L�L�(�E�����(�
�w���I���F�O�
�T�"��F�O�
�t���'�
�*�8�G�T�_�_�g�+V�W�
!�8�G�T�_�_�g�#N�O�
�7�*@E�X�+W�,�-
�2�R� ��	2��\�\�

�5�h�?�
�g�)�)�*�
��,�
�2)�d27�x�e2I�f�\�\�g3
�l!�$�,�,�/�
;�X�]�]�K�Uk
�\.�v�}�}�=�
-�v�}�}�=�
�0����@�
@�&�,�,�O�
@�&�,�,�O�
@�&�,�,�O�	
�yB�Frc�2�eZdZdZdZdgZddgZejZ	dd�Z
defd	ejfd
efde
jdfd
ee�fgdedfdedfdej&dfgdee
eej*�dfdee
ej*�dfed�gd�Zy)rzD
    Lexer for fixed format Fortran.

    .. versionadded:: 2.1
    �FortranFixed�fortranfixedz*.fz*.FNc#�K�t�}|jd�dz}|j|�D]%\}}}|jdd�}|dk7s�|||f���'y�w)z8Lex a line just as free form fortran without line break.r�
�N)r�group�get_tokens_unprocessed�replace)�self�match�ctx�lexer�text�index�token�values        r	�_lex_fortranzFortranFixedLexer._lex_fortran�sd��������{�{�1�~��$��#(�#?�#?��#E�	*��E�5�%��M�M�$��+�E���{��U�E�)�)�	*�s�AA�
Az[C*].*\nz#.*\nz {0,4}!.*\nz(.{5})�	cont-charz.*\n� �code�0�.z(.{66})(.*)(\n)r�z(.*)(\n))r�rr)N)r�r�r�r�r�r�r�r�r�r�rr
r�r
�Labelrrr	r�Strongrr�rrrrr	rr�s����
�D���G����I��M�M�E�*��'�"�
�w���'�
�W�%�
��
�
�K�0�
�e�L�)�*�
��$���
�'�6�"�
�'�.�.�&�)�
� �
�l�G�T�_�_�
=�v�
G�
�(�<����A�6�J��F�O�	
��Fr)r�r��pygments.lexerrrrrrr�pygments.tokenr	r
rrr
rrrr�__all__rrrrr	�<module>r&sL���
�O�O�!�!�!��.�
/��V�:�V�r(�
�(r