summaryrefslogtreecommitdiff
path: root/pygments/lexers/compiled.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2014-09-16 10:06:15 +0200
committerGeorg Brandl <georg@python.org>2014-09-16 10:06:15 +0200
commit90af20b186242fa9a96b3f86173261a192fd80bf (patch)
treecc1924f0ea6d0557bfce8005332a6f343695ea48 /pygments/lexers/compiled.py
parentdd633af87bff78758abd120a68eb71635458b729 (diff)
parent2e4de38f5cce9f53dbe6a4984be23b401c774447 (diff)
downloadpygments-90af20b186242fa9a96b3f86173261a192fd80bf.tar.gz
Merged in aphirst/pygments-main/aphirst/added-missing-fortran-20038-keywordsintr-1406288193785 (pull request #384)
Added missing Fortran 2003/8 keywords/intrinsics.
Diffstat (limited to 'pygments/lexers/compiled.py')
-rw-r--r--pygments/lexers/compiled.py84
1 files changed, 49 insertions, 35 deletions
diff --git a/pygments/lexers/compiled.py b/pygments/lexers/compiled.py
index 6556b77e..61b4ffe4 100644
--- a/pygments/lexers/compiled.py
+++ b/pygments/lexers/compiled.py
@@ -1582,17 +1582,23 @@ class FortranLexer(RegexLexer):
],
'core': [
# Statements
- (r'\b(ABSTRACT|ACCEPT|ALLOCATABLE|ALLOCATE|ARRAY|ASSIGN|ASYNCHRONOUS|'
- r'BACKSPACE|BIND|BLOCK( DATA)?|BYTE|CALL|CASE|CLASS|CLOSE|COMMON|CONTAINS|'
- r'CONTINUE|CYCLE|DATA|DEALLOCATE|DECODE|DEFERRED|DIMENSION|DO|'
- r'ELEMENTAL|ELSE|ENCODE|END( FILE)?|ENDIF|ENTRY|ENUMERATOR|EQUIVALENCE|'
- r'EXIT|EXTERNAL|EXTRINSIC|FINAL|FORALL|FORMAT|FUNCTION|GENERIC|'
- r'GOTO|IF|IMPLICIT|IMPORT|INCLUDE|INQUIRE|INTENT|INTERFACE|'
- r'INTRINSIC|MODULE|NAMELIST|NULLIFY|NONE|NON_INTRINSIC|'
- r'NON_OVERRIDABLE|NOPASS|OPEN|OPTIONAL|OPTIONS|PARAMETER|PASS|'
- r'PAUSE|POINTER|PRINT|PRIVATE|PROGRAM|PROTECTED|PUBLIC|PURE|READ|'
- r'RECURSIVE|RESULT|RETURN|REWIND|SAVE|SELECT|SEQUENCE|STOP|SUBROUTINE|'
- r'TARGET|THEN|TYPE|USE|VALUE|VOLATILE|WHERE|WRITE|WHILE)\s*\b',
+ (r'\b(ABSTRACT|ACCEPT|ALL|ALLSTOP|ALLOCATABLE|ALLOCATE|ARRAY|ASSIGN|'
+ r'ASSOCIATE|ASYNCHRONOUS|BACKSPACE|BIND|BLOCK|BLOCKDATA|BYTE|CALL|'
+ r'CASE|CLASS|CLOSE|CODIMENSION|COMMON|CONCURRRENT|CONTIGUOUS|'
+ r'CONTAINS|CONTINUE|CRITICAL|CYCLE|DATA|DEALLOCATE|DECODE|DEFERRED|'
+ r'DIMENSION|DO|ELEMENTAL|ELSE|ENCODE|ENDASSOCIATE|ENDBLOCK|'
+ r'ENDBLOCKDATA|ENDCRITICAL|ENDDO|ENDFILE|ENDFORALL|ENDFUNCTION|ENDIF|'
+ r'ENDINTERFACE|ENDMODULE|ENDPROCEDURE|ENDPROGRAM|ENDSELECT|'
+ r'ENDSUBMODULE|ENDSUBROUTINE|ENDTYPE|ENDWHERE|ENTRY|ENUM|ENUMERATOR|'
+ r'EQUIVALENCE|EXIT|EXTENDS|EXTERNAL|EXTRINSIC|FINAL|FORALL|FORMAT|'
+ r'FUNCTION|GENERIC|GOTO|IF|IMAGES|IMPLICIT|IMPORT|IMPURE|INCLUDE|'
+ r'INQUIRE|INTENT|INTERFACE|INTRINSIC|IS|LOCK|MEMORY|MODULE|NAMELIST|'
+ r'NULLIFY|NONE|NON_INTRINSIC|NON_OVERRIDABLE|NOPASS|OPEN|OPTIONAL|'
+ r'OPTIONS|PARAMETER|PASS|PAUSE|POINTER|PRINT|PRIVATE|PROGRAM|'
+ r'PROTECTED|PUBLIC|PURE|READ|RECURSIVE|RESULT|RETURN|REWIND|SAVE|'
+ r'SELECT|SEQUENCE|STOP|SUBMODULE|SUBROUTINE|SYNC|SYNCALL|SYNCIMAGES|'
+ r'SYNCMEMORY|TARGET|THEN|TYPE|UNLOCK|USE|VALUE|VOLATILE|WHERE|WRITE|'
+ r'WHILE)\s*\b',
Keyword),
# Data Types
@@ -1614,37 +1620,45 @@ class FortranLexer(RegexLexer):
(r'[()\[\],:&%;]', Punctuation),
# Intrinsics
- (r'\b(Abort|Abs|Access|AChar|ACos|AdjustL|AdjustR|AImag|AInt|Alarm|'
- r'All|Allocated|ALog|AMax|AMin|AMod|And|ANInt|Any|ASin|Associated|'
- r'ATan|BesJ|BesJN|BesY|BesYN|Bit_Size|BTest|CAbs|CCos|Ceiling|'
+ (r'\b(Abort|Abs|Access|AChar|ACos|ACosH|AdjustL|AdjustR|AImag|AInt|'
+ r'Alarm|All|Allocated|ALog|AMax|AMin|AMod|And|ANInt|Any|ASin|ASinH|'
+ r'Associated|ATan|ATanH|Atomic_Define|Atomic_Ref|BesJ|BesJN|'
+ r'Bessel_J0|Bessel_J1|Bessel_JN|Bessel_Y0|Bessel_Y1|Bessel_YN|'
+ r'BesY|BesYN|BGE|BGT|BLE|BLT|Bit_Size|BTest|CAbs|CCos|Ceiling|'
r'CExp|Char|ChDir|ChMod|CLog|Cmplx|Command_Argument_Count|Complex|'
r'Conjg|Cos|CosH|Count|CPU_Time|CShift|CSin|CSqRt|CTime|C_Funloc|'
- r'C_Loc|C_Associated|C_Null_Ptr|C_Null_Funptr|C_F_Pointer|'
- r'C_Null_Char|C_Alert|C_Backspace|C_Form_Feed|C_New_Line|'
+ r'C_Loc|C_Associated|C_Null_Ptr|C_Null_Funptr|C_F_Pointer|
+ r'C_F_ProcPointer|C_Null_Char|C_Alert|C_Backspace|C_Form_Feed|'
+ r'C_FunLoc|C_Loc|C_SizeofC_New_Line|'
r'C_Carriage_Return|C_Horizontal_Tab|C_Vertical_Tab|'
r'DAbs|DACos|DASin|DATan|Date_and_Time|DbesJ|'
r'DbesJ|DbesJN|DbesY|DbesY|DbesYN|Dble|DCos|DCosH|DDiM|DErF|DErFC|'
r'DExp|Digits|DiM|DInt|DLog|DLog|DMax|DMin|DMod|DNInt|Dot_Product|'
- r'DProd|DSign|DSinH|DSin|DSqRt|DTanH|DTan|DTime|EOShift|Epsilon|'
- r'ErF|ErFC|ETime|Exit|Exp|Exponent|Extends_Type_Of|FDate|FGet|'
- r'FGetC|Float|Floor|Flush|FNum|FPutC|FPut|Fraction|FSeek|FStat|'
- r'FTell|GError|GetArg|Get_Command|Get_Command_Argument|'
+ r'DProd|DSign|DSinH|DShiftL|DShiftR|DSin|DSqRt|DTanH|DTan|DTime|
+ r'EOShift|Epsilon|ErF|ErFC|ErFC_Scaled|ETime|Execute_Command_Line|'
+ r'Exit|Exp|Exponent|Extends_Type_Of|FDate|FGet|FGetC|'
+ r'FindLoc|Float|Floor|Flush|FNum|FPutC|FPut|Fraction|FSeek|FStat|'
+ r'FTell|Gamma|GError|GetArg|Get_Command|Get_Command_Argument|'
r'Get_Environment_Variable|GetCWD|GetEnv|GetGId|GetLog|GetPId|'
- r'GetUId|GMTime|HostNm|Huge|IAbs|IAChar|IAnd|IArgC|IBClr|IBits|'
- r'IBSet|IChar|IDate|IDiM|IDInt|IDNInt|IEOr|IErrNo|IFix|Imag|'
- r'ImagPart|Index|Int|IOr|IRand|IsaTty|IShft|IShftC|ISign|'
- r'Iso_C_Binding|Is_Iostat_End|Is_Iostat_Eor|ITime|Kill|Kind|'
- r'LBound|Len|Len_Trim|LGe|LGt|Link|LLe|LLt|LnBlnk|Loc|Log|'
- r'Logical|Long|LShift|LStat|LTime|MatMul|Max|MaxExponent|MaxLoc|'
- r'MaxVal|MClock|Merge|Move_Alloc|Min|MinExponent|MinLoc|MinVal|'
- r'Mod|Modulo|MvBits|Nearest|New_Line|NInt|Not|Or|Pack|PError|'
- r'Precision|Present|Product|Radix|Rand|Random_Number|Random_Seed|'
- r'Range|Real|RealPart|Rename|Repeat|Reshape|RRSpacing|RShift|'
- r'Same_Type_As|Scale|Scan|Second|Selected_Int_Kind|'
- r'Selected_Real_Kind|Set_Exponent|Shape|Short|Sign|Signal|SinH|'
- r'Sin|Sleep|Sngl|Spacing|Spread|SqRt|SRand|Stat|Sum|SymLnk|'
- r'System|System_Clock|Tan|TanH|Time|Tiny|Transfer|Transpose|Trim|'
- r'TtyNam|UBound|UMask|Unlink|Unpack|Verify|XOr|ZAbs|ZCos|ZExp|'
+ r'GetUId|GMTime|HostNm|Huge|Hypot|IAbs|IAChar|IAll|IAnd|IAny|'
+ r'IArgC|IBClr|IBits|IBSet|IChar|IDate|IDiM|IDInt|IDNInt|IEOr|'
+ r'IErrNo|IFix|Imag|ImagPart|Image_Index|Index|Int|IOr|IParity|'
+ r'IRand|IsaTty|IShft|IShftC|ISign|Iso_C_Binding|Is_Contiguous|'
+ r'Is_Iostat_End|Is_Iostat_Eor|ITime|Kill|Kind|LBound|LCoBound|'
+ r'Len|Len_Trim|LGe|LGt|Link|LLe|LLt|LnBlnk|Loc|Log|Log_Gamma|'
+ r'Logical|Long|LShift|LStat|LTime|MaskL|MaskR|MatMul|Max|'
+ r'MaxExponent|MaxLoc|MaxVal|MClock|Merge|Merge_Bits|Move_Alloc|'
+ r'Min|MinExponent|MinLoc|MinVal|Mod|Modulo|MvBits|Nearest|'
+ r'New_Line|NInt|Norm2|Not|Null|Num_Images|Or|Pack|Parity|PError|'
+ r'Precision|Present|Product|Radix|Rand|Random_Number|'
+ r'Random_Seed|Range|Real|RealPart|Rename|Repeat|Reshape|'
+ r'RRSpacing|RShift|Same_Type_As|Scale|Scan|Second|'
+ r'Selected_Char_Kind|Selected_Int_Kind|Selected_Real_Kind|'
+ r'Set_Exponent|Shape|ShiftA|ShiftL|ShiftR|Short|Sign|Signal|SinH|'
+ r'Sin|Sleep|Sngl|Spacing|Spread|SqRt|SRand|Stat|Storage_Size|Sum|'
+ r'SymLnk|System|System_Clock|Tan|TanH|Time|This_Image|Tiny|'
+ r'TrailZ|Transfer|Transpose|Trim|TtyNam|UBound|UCoBound|UMask|'
+ r'Unlink|Unpack|Verify|XOr|ZAbs|ZCos|ZExp|'
r'ZLog|ZSin|ZSqRt)\s*\b',
Name.Builtin),