ó
    öÞ j‘(  ã                   ó�   • S r SSKrSSKJrJrJrJrJrJr  SSK	J
r
JrJrJrJrJrJrJrJr  SS/r " S S\5      r " S S\5      rg)	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                   óŒ  • \ rS rSrSrSrSrSS/r/ SQrS/r	S	r
\R                  \R                  -  rS
\R                   4S\4\" S5      \" S5      S\4\" S5      S\R(                  4/S\" \\R(                  \5      4S\" \\R(                  \5      4\" SSSS9\4\" SSSS9\R0                  4S\4S\R4                  4S\4\" SSSS9\R8                  4S\R8                  4S\R:                  4/
S\R>                  4S\R@                  4/S \!RD                  4S!\!RF                  4S"\!RF                  4S#\!RF                  4/S$.r$S%r%g&)'r   é   z
Lexer for FORTRAN 90 code.
ÚFortranúhttps://fortran-lang.org/ÚfortranÚf90)z*.f03z*.f90z*.F03z*.F90ztext/x-fortranz0.10z^#.*\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ÚCOMPLEXzDOUBLE PRECISIONzDOUBLE 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*))?)Úrootr   r   r   © N)&Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesÚversion_addedÚreÚ
IGNORECASEÚ	MULTILINEÚflagsr
   ÚPreprocr   r   r	   Ú
Whitespacer   r   r   ÚTyper   ÚDeclarationr   ÚBuiltinÚWordr   ÚDoubleÚSingler   ÚIntegerrA  ÚtokensÚ__static_attributes__rò  ó    ÚQ/var/www/html/gaurav/venv/lib/python3.13/site-packages/pygments/lexers/fortran.pyr   r      sÁ  † ñð €DØ
%€CØ˜%Ð €GÚ4€IØ!Ð"€IØ€MØ�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)ðd 27¸xñe2Iðf �\‰\ðg3ðl ! $§,¡,Ð/à;¸X¿]¹]ÐKðUk
ð\ .¨v¯}©}Ð=Ø-¨v¯}©}Ð=ð
ð 0°·±Ð@Ø@À&Ç,Á,ÐOØ@À&Ç,Á,ÐOØ@À&Ç,Á,ÐOð	
ñyBƒFr  c                   óD  • \ rS rSrSrSrS/rSS/rSrSr	\
R                  rSS
 jrS\4S\R                  4S\4S\R"                  S4S\" \5      4/S\S4S\S4S\R,                  S4/S\" \\\R0                  5      S4S\" \\R0                  5      S4\" S5      /S.rSrg	)r   é¬   z!
Lexer for fixed format Fortran.
ÚFortranFixedÚfortranfixedz*.fz*.Fr   z2.1Nc              #   ó¾   #   • [        5       nUR                  S5      S-   nUR                  U5       H&  u  pVnUR                  SS5      nUS:w  d  M   XVU4v •  M(     g7f)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_fortranÚFortranFixedLexer._lex_fortran¸   s[   é € ä“ˆØ�{‰{˜1‹~ Ñ$ˆØ#(×#?Ñ#?ÀÖ#EÑˆE˜%Ø—M‘M $¨Ó+ˆEØ˜�{Ø EÐ)Ô)ò $Fùs   ‚AAÁAz[C*].*\nz#.*\nz {0,4}!.*\nz(.{5})ú	cont-charz.*\nÚ ÚcodeÚ0Ú.z(.{66})(.*)(\n)rñ  z(.*)(\n))rñ  r#  r%  rò  )N)ró  rô  rõ  rö  r÷  rø  rú  rû  rù  rý  rþ  rÿ  r  r!  r
   r  r   ÚLabelr   r   r	   r   ÚStrongr   r  r   r  r  rò  r  r  r   r   ¬   sã   † ñð €DØÐ€GØ˜�€IØ
%€CØ€Mà�M‰M€Eô*ð ˜'Ð"Ø�w—‘Ð'Ø˜WÐ%Ø˜Ÿ
™
 KÐ0Ø‘e˜LÓ)Ð*ð
ð �$˜ÐØ�'˜6Ð"Ø�'—.‘. &Ð)ð
ð  Ù�l G¨T¯_©_Ó=¸vðGà™( <°·±ÓAÀ6ÐJÙ�F‹Oð	
ñƒFr  )r÷  rþ  Úpygments.lexerr   r   r   r   r   r   Úpygments.tokenr	   r
   r   r   r   r   r   r   r   Ú__all__r   r   rò  r  r  Ú<module>r-     sL   ðñó 
ç O× O÷!÷ !õ !ð Ð.Ð
/€ôU�:ô Uôp(˜
õ (r  