3
V'ícÐm ã @ sÔ d Z ddlZddlmZmZmZmZ ddlmZm Z m
Z
mZmZm
Z
mZmZmZmZ ddlmZ dddd d
dgZG dd deZG d
d deZG dd deZG dd d eZG dd
d
eZG dd deZdS )zÞ
pygments.lexers.business
~~~~~~~~~~~~~~~~~~~~~~~~
Lexers for "business-oriented" languages.
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
é N)Ú
RegexLexerÚincludeÚwordsÚbygroups)
ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚErrorÚ
Whitespace)ÚOPENEDGEKEYWORDSÚ
CobolLexerÚCobolFreeformatLexerÚ ABAPLexerÚ
OpenEdgeLexerÚGoodDataCLLexerÚ MaqlLexerc ' @ s$ e Zd ZdZdZdgZddddgZdgZej ej
B Zed ed
ededd
e
jfdefgdefgde
jfed dkdldmejfed
dkdldmejfeddkdldmefdüejfdýefdþefdÿe
jfd e
jfdejfg
dejfdejfgde j!fde j"fde j"fgdZ#dS ( r z>
Lexer for OpenCOBOL code.
.. versionadded:: 1.6
ZCOBOLZcobolz*.cobz*.COBz*.cpyz*.CPYztext/x-cobolÚcommentÚstringsÚcoreÚnumsz[a-z0-9]([\w\-]*[a-z0-9]+)?z[ \t]+z(^.{6}[*/].*\n|^.{6}|\*>.*\n)za(^|(?<=[^\w\-]))(ALL\s+)?((ZEROES)|(HIGH-VALUE|LOW-VALUE|QUOTE|SPACE|ZERO)(S)?)\s*($|(?=[^\w\-]))ÚACCEPTÚADDÚALLOCATEÚCALLÚCANCELÚCLOSEÚCOMPUTEÚ
CONFIGURATIONÚCONTINUEÚDATAÚDELETEÚDISPLAYÚDIVIDEÚDIVISIONÚELSEÚENDú
END-ACCEPTúEND-ADDúEND-CALLúEND-COMPUTEú
END-DELETEúEND-DISPLAYú
END-DIVIDEúEND-EVALUATEúEND-IFúEND-MULTIPLYúEND-OF-PAGEúEND-PERFORMúEND-READú
END-RETURNúEND-REWRITEú
END-SEARCHú END-STARTú
END-STRINGúEND-SUBTRACTúEND-UNSTRINGú END-WRITEÚENVIRONMENTÚEVALUATEÚEXITÚFDÚFILEúFILE-CONTROLÚFOREVERÚFREEÚGENERATEÚGOÚGOBACKÚIDENTIFICATIONÚIFÚ
INITIALIZEÚINITIATEúINPUT-OUTPUTÚINSPECTÚINVOKEúI-O-CONTROLÚLINKAGEú
LOCAL-STORAGEÚMERGEÚMOVEÚMULTIPLYÚOPENÚPERFORMÚ PROCEDUREú
PROGRAM-IDÚRAISEÚREADÚRELEASEÚRESUMEÚRETURNÚREWRITEÚSCREENÚSDÚSEARCHÚSECTIONÚSETÚSORTÚSTARTÚSTOPÚSTRINGÚSUBTRACTÚSUPPRESSÚ TERMINATEÚTHENÚUNLOCKÚUNSTRINGÚUSEÚVALIDATEúWORKING-STORAGEÚWRITEz(^|(?<=[^\w\-]))z\s*($|(?=[^\w\-])))ÚprefixÚsuffixÚACCESSÚADDRESSÚ ADVANCINGÚAFTERÚALLÚALPHABETÚ
ALPHABETICúALPHABETIC-LOWERúALPHABETIC-UPPERÚALPHANUMERICúALPHANUMERIC-EDITEDÚALSOÚALTERÚALTERNATEANYÚAREÚAREAÚAREASúARGUMENT-NUMBERúARGUMENT-VALUEÚASÚ ASCENDINGÚASSIGNÚATÚAUTOú AUTO-SKIPÚ AUTOMATICÚ
AUTOTERMINATEúBACKGROUND-COLORÚBASEDÚBEEPÚBEFOREÚBELLÚBLANKÚBLINKÚBLOCKÚBOTTOMÚBYúBYTE-LENGTHÚCHAININGÚ CHARACTERÚ
CHARACTERSÚCLASSÚCODEúCODE-SETÚCOLÚ COLLATINGÚCOLSÚCOLUMNÚCOLUMNSÚCOMMAúCOMMAND-LINEÚCOMMITÚCOMMONÚCONSTANTÚCONTAINSÚCONTENTÚCONTROLÚCONTROLSÚ
CONVERTINGÚCOPYÚCORRÚ
CORRESPONDINGÚCOUNTÚCRTÚCURRENCYÚCURSORÚCYCLEÚDATEÚDAYúDAY-OF-WEEKÚDEÚ DEBUGGINGú
DECIMAL-POINTÚDECLARATIVESÚDEFAULTÚ DELIMITEDÚ DELIMITERÚ DEPENDINGÚ
DESCENDINGÚDETAILÚDISKÚDOWNÚ
DUPLICATESÚDYNAMICÚEBCDICÚENTRYúENVIRONMENT-NAMEúENVIRONMENT-VALUEÚEOLÚEOPÚEOSÚERASEÚERRORÚESCAPEÚ EXCEPTIONÚ EXCLUSIVEÚEXTENDÚEXTERNALúFILE-IDÚFILLERÚFINALÚFIRSTÚFIXEDú
FLOAT-LONGúFLOAT-SHORTÚFOOTINGÚFORúFOREGROUND-COLORÚFORMATÚFROMÚFULLÚFUNCTIONúFUNCTION-IDÚGIVINGÚGLOBALÚGROUPÚHEADINGÚ HIGHLIGHTúI-OÚIDÚIGNOREÚIGNORINGÚINÚINDEXÚINDEXEDÚINDICATEÚINITIALÚINITIALIZEDÚINPUTÚINTOÚ INTRINSICÚINVALIDÚISÚJUSTÚ JUSTIFIEDÚKEYÚLABELÚLASTÚLEADINGÚLEFTÚLENGTHÚLIMITÚLIMITSÚLINAGEúLINAGE-COUNTERÚLINEÚLINESÚLOCALEÚLOCKÚLOWLIGHTÚMANUALÚMEMORYÚMINUSÚMODEÚMULTIPLEÚNATIONALúNATIONAL-EDITEDÚNATIVEÚNEGATIVEÚNEXTÚNOÚNULLÚNULLSÚNUMBERÚNUMBERSÚNUMERICúNUMERIC-EDITEDúOBJECT-COMPUTERÚOCCURSÚOFÚOFFÚOMITTEDÚONÚONLYÚOPTIONALÚORDERÚORGANIZATIONÚOTHERÚOUTPUTÚOVERFLOWÚOVERLINEúPACKED-DECIMALÚPADDINGÚPAGEÚ PARAGRAPHÚPLUSÚPOINTERÚPOSITIONÚPOSITIVEÚPRESENTÚPREVIOUSÚPRINTERÚPRINTINGúPROCEDURE-POINTERÚ
PROCEDURESÚPROCEEDÚPROGRAMúPROGRAM-POINTERÚPROMPTÚQUOTEÚQUOTESÚRANDOMÚRDÚRECORDÚ RECORDINGÚRECORDSÚ RECURSIVEÚ REDEFINESÚREELÚ REFERENCEÚRELATIVEÚ REMAINDERÚREMOVALÚRENAMESÚ REPLACINGÚREPORTÚ REPORTINGÚREPORTSÚ
REPOSITORYÚREQUIREDÚRESERVEÚ RETURNINGú
REVERSE-VIDEOÚREWINDÚRIGHTÚROLLBACKÚROUNDEDÚRUNÚSAMEÚSCROLLÚSECUREú
SEGMENT-LIMITÚSELECTÚSENTENCEÚSEPARATEÚSEQUENCEÚ
SEQUENTIALÚSHARINGÚSIGNÚSIGNEDú
SIGNED-INTúSIGNED-LONGúSIGNED-SHORTÚSIZEú
SORT-MERGEÚSOURCEúSOURCE-COMPUTERú
SPECIAL-NAMESÚSTANDARDú
STANDARD-1ú
STANDARD-2ÚSTATUSÚSUBKEYÚSUMÚSYMBOLICÚSYNCÚSYNCHRONIZEDÚTALLYINGÚTAPEÚTESTÚTHROUGHÚTHRUÚTIMEÚTIMESÚTOÚTOPÚTRAILINGÚ TRANSFORMÚTYPEÚ UNDERLINEÚUNITÚUNSIGNEDúUNSIGNED-INTú
UNSIGNED-LONGúUNSIGNED-SHORTÚUNTILÚUPÚUPDATEÚUPONÚUSAGEÚUSINGÚVALUEÚVALUESÚVARYINGÚWAITÚWHENÚWITHÚWORDSÚYYYYDDDÚYYYYMMDDúACTIVE-CLASSÚALIGNEDÚANYCASEÚ
ARITHMETICÚ ATTRIBUTEúB-ANDúB-NOTúB-ORúB-XORÚBITÚBOOLEANÚCDÚCENTERÚCFÚCHÚCHAINúCLASS-IDÚCLASSIFICATIONÚ
COMMUNICATIONÚ CONDITIONúDATA-POINTERÚDESTINATIONÚDISABLEÚECÚEGIÚEMIÚENABLEúEND-RECEIVEúENTRY-CONVENTIONÚEOÚESIúEXCEPTION-OBJECTÚEXPANDSÚFACTORYúFLOAT-BINARY-16úFLOAT-BINARY-34úFLOAT-BINARY-7úFLOAT-DECIMAL-16úFLOAT-DECIMAL-34úFLOAT-EXTENDEDúFUNCTION-POINTERÚGETúGROUP-USAGEÚ
IMPLEMENTSÚINFINITYÚINHERITSÚ INTERFACEúINTERFACE-IDÚLC_ALLÚ
LC_COLLATEÚLC_CTYPEÚLC_MESSAGESÚLC_MONETARYÚ
LC_NUMERICÚLC_TIMEúLINE-COUNTERÚMESSAGEÚMETHODú METHOD-IDÚNESTEDÚNONEÚNORMALÚOBJECTúOBJECT-REFERENCEÚOPTIONSÚOVERRIDEúPAGE-COUNTERÚPFÚPHÚPROPERTYÚ PROTOTYPEÚPURGEÚQUEUEÚRAISINGÚRECEIVEÚRELATIONÚREPLACEúREPRESENTS-NOT-A-NUMBERÚRESETÚRETRYÚRFÚRHÚSECONDSÚSEGMENTÚSELFÚSENDÚSOURCESÚ STATEMENTÚSTEPÚSTRONGúSUB-QUEUE-1úSUB-QUEUE-2úSUB-QUEUE-3ÚSUPERÚSYMBOLúSYSTEM-DEFAULTÚTABLEÚTERMINALÚTEXTÚTYPEDEFúUCS-4Ú UNIVERSALúUSER-DEFAULTúUTF-16úUTF-8ú
VAL-STATUSÚVALIDúVALIDATE-STATUSzÈ(^|(?<=[^\w\-]))(PIC\s+.+?(?=(\s|\.\s))|PICTURE\s+.+?(?=(\s|\.\s))|(COMPUTATIONAL)(-[1-5X])?|(COMP)(-[1-5X])?|BINARY-C-LONG|BINARY-CHAR|BINARY-DOUBLE|BINARY-LONG|BINARY-SHORT|BINARY)\s*($|(?=[^\w\-]))z"(\*\*|\*|\+|-|/|<=|>=|<|>|==|/=|=)z([(),;:&%.])a½ (^|(?<=[^\w\-]))(ABS|ACOS|ANNUITY|ASIN|ATAN|BYTE-LENGTH|CHAR|COMBINED-DATETIME|CONCATENATE|COS|CURRENT-DATE|DATE-OF-INTEGER|DATE-TO-YYYYMMDD|DAY-OF-INTEGER|DAY-TO-YYYYDDD|EXCEPTION-(?:FILE|LOCATION|STATEMENT|STATUS)|EXP10|EXP|E|FACTORIAL|FRACTION-PART|INTEGER-OF-(?:DATE|DAY|PART)|INTEGER|LENGTH|LOCALE-(?:DATE|TIME(?:-FROM-SECONDS)?)|LOG(?:10)?|LOWER-CASE|MAX|MEAN|MEDIAN|MIDRANGE|MIN|MOD|NUMVAL(?:-C)?|ORD(?:-MAX|-MIN)?|PI|PRESENT-VALUE|RANDOM|RANGE|REM|REVERSE|SECONDS-FROM-FORMATTED-TIME|SECONDS-PAST-MIDNIGHT|SIGN|SIN|SQRT|STANDARD-DEVIATION|STORED-CHAR-LENGTH|SUBSTITUTE(?:-CASE)?|SUM|TAN|TEST-DATE-YYYYMMDD|TEST-DAY-YYYYDDD|TRIM|UPPER-CASE|VARIANCE|WHEN-COMPILED|YEAR-TO-YYYY)\s*($|(?=[^\w\-]))z.(^|(?<=[^\w\-]))(true|false)\s*($|(?=[^\w\-]))z\(^|(?<=[^\w\-]))(equal|equals|ne|lt|le|gt|ge|greater|less|than|not|and|or)\s*($|(?=[^\w\-]))z"[^"\n]*("|\n)z'[^'\n]*('|\n)z\d+(\s*|\.$|$)z[+-]?\d*\.\d+(E[-+]?\d+)?z[+-]?\d+\.\d*(E[-+]?\d+)?)Úrootr r r r N)Zr r r r r r r! r"