File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/__pycache__/fortran.cpython-310.pyc
Back
o ;j�( � @ s� d Z ddlZddlmZmZmZmZmZmZ ddl m Z mZmZm Z mZmZmZmZmZ ddgZG dd� de�ZG dd� de�ZdS ) z� pygments.lexers.fortran ~~~~~~~~~~~~~~~~~~~~~~~ Lexers for Fortran languages. :copyright: Copyright 2006-present 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 @ s" e Zd ZdZdZdZddgZg d�ZdgZdZ e je jB Z d ejfd efed�ed�d efed�dejfgdeeeje�fdeeeje�fedddd�efedddd�ejfdefdejfdefedddd�ejfdejfdejfg dejfdejfgde j!fd e j"fd!e j"fd"e j"fgd#�Z#d$S )%r z$ Lexer for FORTRAN 90 code. ZFortran�https://fortran-lang.org/ZfortranZf90)z*.f03z*.f90z*.F03z*.F90ztext/x-fortranz0.10z^#.*\nz!.*\n�strings�corez[a-z][\w$]*�numsz[\s]+z\b(DO)(\s+)(CONCURRENT)\bz\b(GO)(\s*)(TO)\b)ZABSTRACTZACCEPTZALLZALLSTOPZALLOCATABLEZALLOCATE�ARRAYZASSIGNZ ASSOCIATEZASYNCHRONOUSZ BACKSPACEZBINDZBLOCKZ BLOCKDATAZBYTE�CALLZCASEZCLASSZCLOSEZCODIMENSIONZCOMMONZ CONTIGUOUSZCONTAINS�CONTINUE�CRITICALZCYCLEZDATAZ DEALLOCATEZDECODEZDEFERREDZ DIMENSIONZDOZ ELEMENTAL�ELSEZELSEIFZENCODEZENDZENDASSOCIATEZENDBLOCKZENDDOZENDENUMZ ENDFORALLZENDFUNCTIONZENDIFZENDINTERFACEZ ENDMODULEZ ENDPROGRAMZ ENDSELECTZENDSUBMODULEZ ENDSUBROUTINEZENDTYPEZENDWHEREZENTRYZENUMZ ENUMERATORZEQUIVALENCEz ERROR STOPZEXITZEXTENDSZEXTERNALZ EXTRINSIC�FILEZFINALZFORALLZFORMATZFUNCTIONZGENERICZIFZIMAGESZIMPLICITZIMPORTZIMPUREZINCLUDEZINQUIREZINTENTZ INTERFACEZ INTRINSICZISZLOCKZMEMORYZMODULEZNAMELISTZNULLIFYZNONEZ NON_INTRINSICZNON_OVERRIDABLEZNOPASSZONLYZOPEN�OPTIONALZOPTIONSZ PARAMETERZPASSZPAUSE�POINTERZPRINTZPRIVATEZPROGRAMZ PROCEDUREZ PROTECTEDZPUBLICZPUREZREADZ RECURSIVEZRESULTZRETURNZREWINDZSAVEZSELECTZSEQUENCEZSTOPZ SUBMODULEZ SUBROUTINEZSYNCZSYNCALLZ SYNCIMAGESZ SYNCMEMORY�TARGETZTHENZTYPEZUNLOCKZUSEZVALUEZVOLATILEZWHEREZWRITEZWHILEz\bz\s*\b)�prefix�suffix)%Z CHARACTERZCOMPLEXzDOUBLE PRECISIONzDOUBLE COMPLEXZINTEGERZLOGICALZREALZC_INTZC_SHORTZC_LONGZC_LONG_LONGZ C_SIGNED_CHARZC_SIZE_TZC_INT8_TZ C_INT16_TZ C_INT32_TZ C_INT64_TZC_INT_LEAST8_TZC_INT_LEAST16_TZC_INT_LEAST32_TZC_INT_LEAST64_TZ C_INT_FAST8_TZC_INT_FAST16_TZC_INT_FAST32_TZC_INT_FAST64_TZ C_INTMAX_TZ C_INTPTR_TZC_FLOATZC_DOUBLEZ C_LONG_DOUBLEZC_FLOAT_COMPLEXZC_DOUBLE_COMPLEXZC_LONG_DOUBLE_COMPLEXZC_BOOLZC_CHARZC_PTRZC_FUNPTRz$(\*\*|\*|\+|-|\/|<|>|<=|>=|==|\/=|=)z(::)z[()\[\],:&%;.](1 ZAbortZAbsZAccessZACharZACosZACosHZAdjustLZAdjustRZAImagZAIntZAlarmZAllZ AllocatedZALogZAMaxZAMinZAModZAndZANInt�AnyZASinZASinHZ AssociatedZATanZATanHZ Atomic_DefineZ Atomic_RefZBesJZBesJNZ Bessel_J0Z Bessel_J1Z Bessel_JNZ Bessel_Y0Z Bessel_Y1Z Bessel_YNZBesYZBesYNZBGEZBGTZBLEZBLTZBit_SizeZBTestZCAbsZCCosZCeilingZCExpZCharZChDirZChModZCLogZCmplxZCommand_Argument_CountZComplexZConjgZCosZCosHZCountZCPU_TimeZCShiftZCSinZCSqRtZCTimeZC_LocZC_AssociatedZ C_Null_PtrZ C_Null_FunptrZC_F_PointerZC_F_ProcPointerZC_Null_CharZC_AlertZC_BackspaceZC_Form_FeedZC_FunLocZC_SizeofZ C_New_LineZC_Carriage_ReturnZC_Horizontal_TabZC_Vertical_TabZDAbsZDACosZDASinZDATanZ Date_and_TimeZDbesJZDbesJNZDbesYZDbesYNZDbleZDCosZDCosHZDDiMZDErFZDErFCZDExpZDigitsZDiMZDIntZDLogZDMaxZDMinZDModZDNIntZDot_ProductZDProdZDSignZDSinHZDShiftLZDShiftRZDSinZDSqRtZDTanHZDTanZDTimeZEOShiftZEpsilonZErFZErFCZErFC_ScaledZETimeZExecute_Command_LineZExitZExp�ExponentZExtends_Type_OfZFDateZFGetZFGetCZFindLoc�FloatZFloorZFlushZFNumZFPutCZFPutZFractionZFSeekZFStatZFTellZGammaZGErrorZGetArgZGet_CommandZGet_Command_ArgumentZGet_Environment_VariableZGetCWDZGetEnvZGetGIdZGetLogZGetPIdZGetUIdZGMTimeZHostNmZHugeZHypotZIAbsZIACharZIAllZIAndZIAnyZIArgCZIBClrZIBitsZIBSetZICharZIDateZIDiMZIDIntZIDNIntZIEOrZIErrNoZIFixZImagZImagPartZImage_IndexZIndexZIntZIOrZIParityZIRandZIsaTtyZIShftZIShftCZISignZ Iso_C_BindingZ Is_ContiguousZ Is_Iostat_EndZ Is_Iostat_EorZITimeZKillZKindZLBoundZLCoBoundZLenZLen_TrimZLGeZLGtZLinkZLLeZLLtZLnBlnkZLocZLogZ Log_GammaZLogicalZLongZLShiftZLStatZLTimeZMaskLZMaskRZMatMulZMaxZMaxExponentZMaxLocZMaxValZMClockZMergeZ Merge_BitsZ Move_AllocZMinZMinExponentZMinLocZMinValZModZModuloZMvBitsZNearestZNew_LineZNIntZNorm2ZNotZNullZ Num_ImagesZOrZPackZParityZPErrorZ PrecisionZPresentZProductZRadixZRandZ Random_NumberZRandom_SeedZRangeZRealZRealPartZRenameZRepeatZReshapeZ RRSpacingZRShiftZSame_Type_AsZScaleZScanZSecondZSelected_Char_KindZSelected_Int_KindZSelected_Real_KindZSet_ExponentZShapeZShiftAZShiftLZShiftRZShortZSignZSignalZSinHZSinZSleepZSnglZSpacingZSpreadZSqRtZSRandZStatZStorage_SizeZSumZSymLnk�SystemZSystem_ClockZTanZTanHZTimeZ This_ImageZTinyZTrailZZTransferZ TransposeZTrimZTtyNamZUBoundZUCoBoundZUMaskZUnlinkZUnpackZVerifyZXOrZZAbsZZCosZZExpZZLogZZSinZZSqRtz\.(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*))?)�rootr r r N)$�__name__� __module__�__qualname__�__doc__�name�url�aliases� filenamesZ mimetypes� version_added�re� IGNORECASE� MULTILINE�flagsr �Preprocr r r � Whitespacer r r �Typer ZDeclarationr ZBuiltinZWordr �Double�Singler ZIntegerr$ �tokens� r: r: �K/opt/saltstack/salt/lib/python3.10/site-packages/pygments/lexers/fortran.pyr sb ��� � � 2�3�6�n�� �c @ s� e Zd ZdZdZdgZddgZdZdZe j Zdd d �Zde fde jfd e fdejdfdee�fgdedfde dfdejdfgdeee ej�dfdeeej�dfed�gd�ZdS )r z) Lexer for fixed format Fortran. ZFortranFixedZfortranfixedz*.fz*.Fr z2.1Nc c sP � t � }|�d�d }|�|�D ]\}}}|�dd�}|dkr%|||fV qdS )z8Lex a line just as free form fortran without line break.r � � N)r �groupZget_tokens_unprocessed�replace)�self�match�ctxZlexer�text�index�token�valuer: r: r; �_lex_fortran� s ���zFortranFixedLexer._lex_fortranz[C*].*\nz#.*\nz {0,4}!.*\nz(.{5})� cont-charz.*\n� �code�0�.z(.{66})(.*)(\n)r&