////////////////////////////////////////////////////////////////////////////// // // Cobol85 highlighter written by Mehmet Türker, mturker@innova-turk.com // ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// // language name Language: Cobol85 ////////////////////////////////////////////////////////////////////////////// // default file filter // note: if more than one extension is associated, eg: // C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp Filter: Cobol85 files (*.cob)|*.cob ////////////////////////////////////////////////////////////////////////////// // help file which will be invokend when F1 is pressed HelpFile: ////////////////////////////////////////////////////////////////////////////// // language case sensitivity // 0 - no // 1 - yes CaseSensitive: 0 ////////////////////////////////////////////////////////////////////////////// // comment type: LineComment - comment to the end of line // BlockCommentBeg - block comment begin, it could be // multiline // BlockCommentEnd - block comment end LineComment: * BlockCommentBeg: BlockCommentEnd: ////////////////////////////////////////////////////////////////////////////// // identifier characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char IdentifierBegChars: a..z A..Z _%@. ? IdentifierChars: a..z A..Z _ 0..9 ? - ////////////////////////////////////////////////////////////////////////////// // numeric constants begin characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char // number always starts with 0..9 except when NumConstBeg // defines other NumConstBegChars: 0..9 ////////////////////////////////////////////////////////////////////////////// // numeric constants characters // note: characters shouldn't be delimited, except arrays // array of chars could be defined as from_char..to_char // number always starts with 0..9 except when NumConstBeg // defines other NumConstChars: 0..9 abcdefhABCDEFH ////////////////////////////////////////////////////////////////////////////// // escape character EscapeChar: ////////////////////////////////////////////////////////////////////////////// // keyword table // note: delimited with spaces, lines could be wrapped // you may divide keywords into two groups which can be // highlighted differently // All Keywords KeyWords1: accept access add address advancing after all alphabet as alphabetic alphabetic-upper alphanumeric alphanumeric-edited also alter alternate and any approximate area areas ascending assign at before binary blank block bottom by begin call cancel cd cf ch character characters character-set checkpoint class clock-units close cobol code code-set collating column comma common communication comp comp-3 comp-5 computational computational-3 computational-5 compute contains content continue control controls converting copy corr corresponding count currency date date-compiled date-written day day-of-week de debug-contents debugging debug-item debug-line debug-name debug-sub-1 debug-sub-2 debug-sub-3 decimal-point declaratives delete delimited delimiter depending descending destination detail disable display divide down duplicates dynamic egi else emi end-exec enable end end-add end-compute end-delete end-divide end-evaluate end-if end-multiply end-of-page end-perform end-read end-receive end-return end-rewrite end-search exec end-start end-string end-subtract end-unstring end-write enter eop equal error esi evaluate every exception exclusive exit extend extended-storage external fd file-control filler final first footing for from function generate generic giving global go greater group guardian-err heading high-value high-values if in index indexed indicate initial invoke initialize initiate input inspect installation into invalid i-o i-o-control is just justified key label last leading left length less limit limits linage linage-counter line line-counter linkage lock lockfile low-value low-values memory merge message mode modules move multiple multiply native negative next no not null nulls number numeric numeric-edited occurs of off omitted on open optional or order organization other output overflow packed-decimal padding page page-counter perform pf ph pic picture plus pointer position positive printing procedures proceed program program-status program-status-1 program-status-2 prompt protected purge queue quote quotes random rd read receive receive-control record records redefines reel reference references relative release remainder removal renames replace replacing reply report reporting reports rerun reserve reset return reversed rewind rewrite rf rh right rounded run same saveabend sd search security segment segment-limit select send sentence separate sequence sequential set shared sign size sort sort-merge source space spaces sql structure standard standard-1 standard-2 start startbackup status stop string sub-queue-1 sub-queue-2 sub-queue-3 subtract sum suppress symbolic sync syncdepth synchronized table tal tallying tape terminal terminate test text than then through thru time times to top trailing type unit unlock unlockfile unlockrecord unstring until up upon usage use using value values varying when with words write zero zeroes false true KeyWords2: ?sql ?env ?symbols ?heading program-id special-names author object-computer source-computer input-output file configuration file working-storage declare section KeyWords3: environment identification data division procedure main-section ////////////////////////////////////////////////////////////////////////////// // string delimiter: StringBegChar - string begin char // StringEndChar - string end char // MultilineStrings - enables multiline strings, as perl // has it StringBegChar: " StringEndChar: " MultilineStrings: 1 ////////////////////////////////////////////////////////////////////////////// // use preprocessor: 0 - no // 1 - yes // note: if yes, '#' and statements after it will be // highlighted with Preprocessor defined colors UsePreprocessor: 0 ////////////////////////////////////////////////////////////////////////////// // highlight line: 0 - no // 1 - yes // note: if yes, current line will be highlighted CurrLineHighlighted: 0 ////////////////////////////////////////////////////////////////////////////// // colors // note: first value is foreground, second is background color // and third (optional) represents font attribute: // B - bold // I - italic // U - underline // S - strike out // attributes can be combined: eg. B or BI // as value, it could be used any standard windows color: // clBlack, clMaroon, clGreen, clOlive, clNavy, // clPurple, clTeal, clGray, clSilver, clRed, clLime, // clYellow, clBlue, clFuchsia, clAqua, clLtGray, // clDkGray, clWhite, clScrollBar, clBackground, // clActiveCaption, clInactiveCaption, clMenu, clWindow, // clWindowFrame, clMenuText, clWindowText, clCaptionText, // clActiveBorder, clInactiveBorder, clAppWorkSpace, // clHighlight, clHighlightText, clBtnFace, clBtnShadow, // clGrayText, clBtnText, clInactiveCaptionText, // clBtnHighlight, cl3DDkShadow, cl3DLight, clInfoText, // clInfoBk // as value, it could be used hex numeric constant too: // $BBGGRR - BB: blue, GG: green, RR: red, eg: $FF6A00 SpaceCol: clWindowText clWindow Keyword1Col: clNavy clWindow Keyword2Col: clTeal clWindow B Keyword3Col: clBlue clWindow B IdentifierCol: clWindowText clWindow CommentCol: clGray clWindow I NumberCol: clRed clWindow StringCol: clMaroon clWindow I SymbolCol: clGray clWindow PreprocessorCol: clBlue clWindow SelectionCol: clWhite clNavy CurrentLineCol: clBlack clYellow