1<?php 2/************************************************************************************* 3 * cobol.php 4 * ---------- 5 * Author: BenBE (BenBE@omorphia.org) 6 * Copyright: (c) 2007-2008 BenBE (http://www.omorphia.de/) 7 * Release Version: 1.0.9.1 8 * Date Started: 2007/07/02 9 * 10 * COBOL language file for GeSHi. 11 * 12 * Most of the compiler directives, reserved words and intrinsic functions are 13 * from the 2009 COBOL Draft Standard, Micro Focus, and GNU Cobol. The lists of 14 * these were found in the draft standard (Sections 8.9, 8.10, 8.11 and 8.12), 15 * Micro Focus' COBOL Language Reference and the GNU Cobol FAQ. 16 * 17 * CHANGES 18 * ------- 19 * 2013/11/17 (1.0.8.13) 20 * - Changed compiler directives to be handled like comments. 21 * - Fixed bug where keywords in identifiers were highlighted. 22 * 2013/08/19 (1.0.8.13) 23 * - Added more intrinsic functions, reserved words, and compiler directives 24 * from the (upcoming) standard. 25 * 2013/07/07 (1.0.8.13) 26 * - Added more reserved words, compiler directives and intrinsic functions. 27 * - Added modern comment syntax and corrected the other one. 28 * - Set OOLANG to true and added an object splitter. 29 * - Added extra symbols. 30 * - Fixed bug where scope terminators were only the statement in 31 * end-statement was highlighted. 32 * 33 * TODO (updated 2013/11/17) 34 * ------------------------- 35 * 36 ************************************************************************************* 37 * 38 * This file is part of GeSHi. 39 * 40 * GeSHi is free software; you can redistribute it and/or modify 41 * it under the terms of the GNU General Public License as published by 42 * the Free Software Foundation; either version 2 of the License, or 43 * (at your option) any later version. 44 * 45 * GeSHi is distributed in the hope that it will be useful, 46 * but WITHOUT ANY WARRANTY; without even the implied warranty of 47 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 48 * GNU General Public License for more details. 49 * 50 * You should have received a copy of the GNU General Public License 51 * along with GeSHi; if not, write to the Free Software 52 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 53 * 54 ************************************************************************************/ 55 56$language_data = array ( 57 'LANG_NAME' => 'COBOL', 58 'COMMENT_SINGLE' => array( 59 1 => '*>', // COBOL 2002 inline comment 60 2 => '>>' // COBOL compiler directive indicator 61 ), 62 'COMMENT_MULTI' => array(), 63 'COMMENT_REGEXP' => array( 64 1 => '/^......(\*.*?$)/m', // Fixed-form comment 65 2 => '/\$SET.*/i' // MF compiler directive indicator 66 ), 67 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 68 'QUOTEMARKS' => array('"', "'"), 69 'ESCAPE_CHAR' => '', 70 'NUMBERS' => 71 GESHI_NUMBER_INT_BASIC | 72 GESHI_NUMBER_FLT_NONSCI | 73 GESHI_NUMBER_FLT_SCI_SHORT | 74 GESHI_NUMBER_FLT_SCI_ZERO, 75 'KEYWORDS' => array( 76 // Statements containing spaces. These are separate to other statements 77 // so that they are highlighted correctly. 78 1 => array( 79 'DELETE FILE', 'GO TO', 'NEXT SENTENCE', 'XML GENERATE', 80 'XML PARSE' 81 ), 82 83 2 => array( // Other Reserved Words 84 '3-D', 'ABSENT', 'ABSTRACT', 'ACCESS', 'ACQUIRE', 85 'ACTION', 'ACTIVE-CLASS', 'ACTIVE-X', 'ACTUAL', 'ADDRESS', 86 'ADDRESS-ARRAY', 'ADDRESS-OFFSET', 'ADJUSTABLE-COLUMNS', 87 'ADVANCING', 'AFP-5A', 'AFTER', 'ALIGNED', 'ALIGNMENT', 'ALL', 88 'ALLOW', 'ALLOWING', 'ALPHABET', 'ALPHABETIC', 89 'ALPHABETIC-LOWER', 'ALPHABETIC-UPPER', 'ALPHANUMERIC', 90 'ALPHANUMERIC-EDITED', 'ALSO', 'ALTERNATE', 'AND', 'ANY', 91 'ANYCASE', 92 'APPLY', 'ARE', 'AREA', 'AREAS', 'ARGUMENT-NUMBER', 93 'ARGUMENT-VALUE', 94 'ARITHMETIC', 'AS', 'ASCENDING', 95 'ASSEMBLY-ATTRIBUTES', 'ASSIGN', 'AT', 'ATTRIBUTE', 'AUTHOR', 96 'AUTO', 'AUTO-DECIMAL', 'AUTO-HYPHEN-SKIP', 'AUTO-MINIMIZE', 97 'AUTO-RESIZE', 'AUTO-SKIP', 'AUTO-SPIN', 'AUTOMATIC', 98 'AUTOTERMINATE', 'AWAY-FROM-ZERO', 99 'AX-EVENT-LIST', 'B-AND', 'B-EXOR', 'B-LEFT', 100 'B-NOT', 'B-OR', 'B-RIGHT', 'B-XOR', 'BACKGROUND-COLOR', 101 'BACKGROUND-COLOUR', 'BACKGROUND-HIGH', 'BACKGROUND-LOW', 102 'BACKGROUND-STANDARD', 'BACKWARD', 'BAR', 'BASED', 'BASIS', 'BEEP', 103 'BEFORE', 'BEGINNING', 'BELL', 'BINARY', 'BINARY-CHAR', 104 'BINARY-DOUBLE', 'BINARY-LONG', 'BINARY-SHORT', 'BIND', 'BIT', 105 'BITMAP', 'BITMAP-END', 'BITMAP-HANDLE', 'BITMAP-NUMBER', 106 'BITMAP-RAW-HEIGHT', 'BITMAP-RAW-WIDTH', 'BITMAP-SCALE', 107 'BITMAP-START', 'BITMAP-TIMER', 'BITMAP-TRAILING', 'BITMAP-WIDTH', 108 'BLANK', 'BLINK', 'BLINKING', 'BLOB', 'BLOB-FILE', 'BLOB-LOCATOR', 109 'BLOCK', 'BOLD', 'BOOLEAN', 'BOTTOM', 'BOX', 'BOXED', 'BROWSING', 110 'BUSY', 'BUTTONS', 'BY', 'C01', 'C02', 'C03', 'C04', 111 'C05', 112 'C06', 'C07', 'C08', 'C09', 'C10', 'C11', 'C12', 'CALENDAR-FONT', 113 'CALLED', 'CANCEL-BUTTON', 'CAPACITY', 'CATCH', 'CBL', 114 'CBL-CTR', 'CCOL', 'CD', 'CELL', 'CELL-COLOR', 'CELL-DATA', 115 'CELL-FONT', 'CELL-PROTECTION', 'CELLS', 'CENTER', 'CENTERED', 116 'CENTERED-HEADINGS', 'CENTURY-DATE', 'CENTURY-DAY', 'CF', 'CH', 117 'CHAINING', 'CHANGED', 'CHAR-VARYING', 118 'CHARACTER', 119 'CHARACTERS', 'CHART', 'CHECK-BOX', 'CHECKING', 'CLASS', 120 'CLASS-ATTRIBUTES', 'CLASS-CONTROL', 'CLASS-ID', 'CLASS-OBJECT', 121 'CLASSIFICATION', 122 'CLEAR-SELECTION', 'CLINE', 'CLINES', 'CLOB', 'CLOB-FILE', 123 'CLOB-LOCATOR', 'CLOCK-UNITS', 'COBOL', 'CODE', 'CODE-SET', 124 'COERCION', 'COL', 'COLLATING', 'COLORS', 'COLOUR', 125 'COLOURS', 'COLS', 'COLUMN', 'COLUMN-COLOR', 'COLUMN-DIVIDERS', 126 'COLUMN-FONT', 'COLUMN-HEADINGS', 'COLUMN-PROTECTION', 'COLUMNS', 127 'COM-REG', 'COMBO-BOX', 'COMMA', 'COMMITMENT', 'COMMON', 128 'COMMUNICATION', 'COMP', 'COMP-0', 'COMP-1', 'COMP-2', 'COMP-3', 129 'COMP-4', 'COMP-5', 'COMP-6', 'COMP-X', 'COMPRESSION', 130 'COMPUTATIONAL', 'COMPUTATIONAL-0', 'COMPUTATIONAL-1', 131 'COMPUTATIONAL-2', 'COMPUTATIONAL-3', 'COMPUTATIONAL-4', 132 'COMPUTATIONAL-5', 'COMPUTATIONAL-6', 'COMPUTATIONAL-X', 133 'CONDITION-VALUE', 'CONFIGURATION', 'CONSOLE', 'CONSTANT', 134 'CONSTRAIN', 'CONSTRAINTS', 'CONTAINS', 'CONTENT', 135 'CONTROL', 'CONTROL-AREA', 'CONTROLS', 'CONTROLS-UNCROPPED', 136 'CONVERSION', 'CONVERT', 'CONVERTING', 'COPY-SELECTION', 137 'CORE-INDEX', 'CORR', 'CORRESPONDING', 'COUNT', 138 'CREATING', 'CRT', 'CRT-UNDER', 'CSIZE', 'CSP', 'CURRENCY', 139 'CURSOR', 'CURSOR-COL', 'CURSOR-COLOR', 140 'CURSOR-FRAME-WIDTH', 'CURSOR-ROW', 'CURSOR-X', 'CURSOR-Y', 141 'CUSTOM-ATTRIBUTE', 'CUSTOM-PRINT-TEMPLATE', 'CYCLE', 'CYL-INDEX', 142 'CYL-OVERFLOW', 'DASHED', 'DATA', 'DATA-COLUMNS', 143 'DATA-POINTER', 'DATA-TYPES', 'DATABASE-KEY', 'DATABASE-KEY-LONG', 144 'DATE', 'DATE-COMPILED', 'DATE-ENTRY', 'DATE-RECORD', 145 'DATE-WRITTEN', 'DAY', 'DAY-OF-WEEK', 'DBCLOB', 'DBCLOB-FILE', 146 'DBCLOB-LOCATOR', 'DBCS', 'DE', 'DEBUG', 'DEBUG-CONTENTS', 147 'DEBUG-ITEM', 'DEBUG-LINE', 'DEBUG-NAME', 'DEBUG-SUB-1', 148 'DEBUG-SUB-2', 'DEBUG-SUB-3', 'DEBUGGING', 'DECIMAL', 149 'DECIMAL-POINT', 'DECLARATIVES', 'DEFAULT', 150 'DEFAULT-BUTTON', 'DEFAULT-FONT', 'DEFINITION', 151 'DELEGATE-ID', 'DELIMITED', 'DELIMITER', 'DEPENDING', 152 'DESCENDING', 'DESTINATION', 'DESTROY', 'DETAIL', 'DICTIONARY', 153 'DISABLE', 'DISC', 'DISJOINING', 'DISK', 'DISP', 154 'DISPLAY-1', 'DISPLAY-COLUMNS', 'DISPLAY-FORMAT', 'DISPLAY-ST', 155 'DIVIDER-COLOR', 'DIVIDERS', 'DIVISION', 'DOT-DASH', 156 'DOTTED', 'DOWN', 'DRAG-COLOR', 'DRAW', 'DROP', 'DROP-DOWN', 157 'DROP-LIST', 'DUPLICATES', 'DYNAMIC', 'EBCDIC', 'EC', 'ECHO', 'EGCS', 158 'EGI', 'EJECT', 'ELEMENTARY', 'ELSE', 'EMI', 'EMPTY-CHECK', 159 'ENABLE', 'ENABLED', 'END', 'END-ACCEPT', 'END-ADD', 'END-CALL', 160 'END-CHAIN', 'END-COLOR', 'END-COMPUTE', 'END-DELEGATE', 161 'END-DELETE', 'END-DISPLAY', 'END-DIVIDE', 'END-EVALUATE', 162 'END-IF', 'END-INVOKE', 'END-MODIFY', 'END-MOVE', 'END-MULTIPLY', 163 'END-OF-PAGE', 'END-PERFORM', 'END-READ', 'END-RECEIVE', 164 'END-RETURN', 'END-REWRITE', 'END-SEARCH', 'END-START', 165 'END-STRING', 'END-SUBTRACT', 'END-SYNC', 'END-TRY', 166 'END-UNSTRING', 'END-WAIT', 'END-WRITE', 'END-XML', 'ENDING', 167 'ENGRAVED', 'ENSURE-VISIBLE', 'ENTRY-CONVENTION', 168 'ENTRY-FIELD', 169 'ENTRY-REASON', 'ENUM', 'ENUM-ID', 'ENVIRONMENT', 170 'ENVIRONMENT-NAME', 'ENVIRONMENT-VALUE', 'EOL', 'EOP', 171 'EOS', 'EQUAL', 'EQUALS', 'ERASE', 'ERROR', 'ESCAPE', 172 'ESCAPE-BUTTON', 'ESI', 'EVENT', 'EVENT-LIST', 173 'EVENT-POINTER', 'EVERY', 'EXCEEDS', 'EXCEPTION', 174 'EXCEPTION-OBJECT', 'EXCEPTION-VALUE', 'EXCESS-3', 175 'EXCLUDE-EVENT-LIST', 'EXCLUSIVE', 176 'EXPAND', 'EXPANDS', 'EXTEND', 'EXTENDED', 177 'EXTENDED-SEARCH', 'EXTENSION', 'EXTERNAL', 'EXTERNAL-FORM', 178 'EXTERNALLY-DESCRIBED-KEY', 'FACTORY', 'FALSE', 'FD', 179 'FH--FCD', 'FH--KEYDEF', 'FILE', 'FILE-CONTROL', 'FILE-ID', 180 'FILE-LIMIT', 'FILE-LIMITS', 'FILE-NAME', 'FILE-POS', 'FILL-COLOR', 181 'FILL-COLOR2', 'FILL-PERCENT', 'FILLER', 'FINAL', 'FINALLY', 182 'FINISH-REASON', 'FIRST', 'FIXED', 'FIXED-FONT', 'FIXED-WIDTH', 183 'FLAT', 'FLAT-BUTTONS', 'FLOAT-BINARY-7', 'FLOAT-BINARY-16', 184 'FLOAT-BINARY-34', 'FLOAT-DECIMAL-16', 'FLOAT-DECIMAL-34', 185 'FLOAT-EXTENDED', 'FLOAT-LONG', 186 'FLOAT-SHORT', 'FLOATING', 'FONT', 'FOOTING', 'FOR', 187 'FOREGROUND-COLOR', 'FOREGROUND-COLOUR', 'FOREVER', 'FORMAT', 188 'FRAME', 'FRAMED', 'FROM', 'FULL', 'FULL-HEIGHT', 189 'FUNCTION', 'FUNCTION-ID', 'FUNCTION-POINTER', 'GENERATE', 190 'GET', 'GETTER', 'GIVING', 'GLOBAL', 'GO-BACK', 'GO-FORWARD', 191 'GO-HOME', 'GO-SEARCH', 'GRAPHICAL', 'GREATER', 'GRID', 192 'GRIP', 'GROUP', 'GROUP-USAGE', 'GROUP-VALUE', 'HANDLE', 193 'HAS-CHILDREN', 'HEADING', 'HEADING-COLOR', 'HEADING-DIVIDER-COLOR', 194 'HEADING-FONT', 'HEAVY', 'HEIGHT', 'HEIGHT-IN-CELLS', 'HELP-ID', 195 'HIDDEN-DATA', 'HIGH', 'HIGH-COLOR', 'HIGH-VALUE', 'HIGH-VALUES', 196 'HIGHLIGHT', 'HORIZONTAL', 'HOT-TRACK', 'HSCROLL', 'HSCROLL-POS', 197 'I-O', 'I-O-CONTROL', 'ICON', 'ID', 'IDENTIFICATION', 198 'IDENTIFIED', 'IFINITY', 'IGNORE', 'IGNORING', 'IMPLEMENTS', 'IN', 199 'INDEPENDENT', 'INDEX', 'INDEXED', 'INDEXER', 'INDEXER-ID', 'INDIC', 200 'INDICATE', 'INDICATOR', 'INDICATORS', 'INDIRECT', 201 'INHERITING', 'INHERITS', 202 'INITIAL', 'INITIALIZED', 'INPUT', 203 'INPUT-OUTPUT', 'INQUIRE', 'INSERT', 'INSERT-ROWS', 204 'INSERTION-INDEX', 'INSTALLATION', 'INSTANCE', 205 'INTERFACE', 'INTERFACE-ID', 'INTERMEDIATE', 206 'INTERNAL', 'INTO', 'INTRINSIC', 207 'INVALID', 'INVOKED', 'IS', 'ITEM', 'ITEM-BOLD', 208 'ITEM-ID', 'ITEM-TEXT', 'ITEM-TO-ADD', 'ITEM-TO-DELETE', 209 'ITEM-TO-EMPTY', 'ITEM-VALUE', 'ITERATOR', 'ITERATOR-ID', 'J', 210 'JOINED', 'JOINING', 'JUST', 'JUSTIFIED', 'KANJI', 211 'KEPT', 'KEY', 'KEY-YY', 'KEYBOARD', 'LABEL', 'LABEL-OFFSET', 212 'LARGE-FONT', 'LAST', 'LAST-ROW', 'LAYOUT-DATA', 'LAYOUT-MANAGER', 213 'LC_ALL', 'LC_COLLATE', 'LC_CTYPE', 'LC_CURRENCY', 'LC_MESSAGES', 214 'LC_MONETARY', 'LC_NUMERIC', 'LC_TIME', 'LEADING', 'LEADING-SHIFT', 215 'LEAVE', 'LEFT', 'LEFT-JUSTIFY', 'LEFT-TEXT', 'LEFTLINE', 216 'LENGTH-CHECK', 'LESS', 'LIMIT', 'LIMITS', 'LIN', 'LINAGE', 217 'LINAGE-COUNTER', 'LINE', 'LINE-COUNTER', 'LINES', 'LINES-AT-ROOT', 218 'LINK', 'LINKAGE', 'LIST', 'LIST-BOX', 'LM-RESIZE', 'LOCAL-STORAGE', 219 'LOCALE', 'LOCK', 'LOCKING', 'LONG-DATE', 'LONG-VARBINARY', 220 'LONG-VARCHAR', 'LOW', 'LOW-COLOR', 'LOW-VALUE', 'LOW-VALUES', 221 'LOWER', 'LOWERED', 'LOWLIGHT', 'MANUAL', 'MASS-UPDATE', 222 'MASTER-INDEX', 'MAX-HEIGHT', 'MAX-LINES', 'MAX-PROGRESS', 223 'MAX-SIZE', 'MAX-TEXT', 'MAX-VAL', 'MAX-WIDTH', 'MDI-CHILD', 224 'MDI-FRAME', 'MEDIUM-FONT', 'MEMORY', 'MENU', 'MESSAGE', 225 'MESSAGES', 'METACLASS', 'METHOD', 'METHOD-ID', 'MIN-HEIGHT', 226 'MIN-LINES', 'MIN-SIZE', 'MIN-VAL', 'MIN-WIDTH', 'MODAL', 'MODE', 227 'MODELESS', 'MODIFIED', 'MODULES', 'MONITOR-POINTER', 228 'MORE-LABELS', 'MULTILINE', 229 'MUTEX-POINTER', 'NAME', 'NAMED', 'NATIONAL', 230 'NATIONAL-EDITED', 'NATIVE', 'NAVIGATE-URL', 'NCHAR', 231 'NEAREST-AWAY-FROM-ZERO', 'NEAREST-EVEN', 'NEAREST-TOWARD-ZERO', 232 'NEGATIVE', 'NEGATIVE-INFINITY', 233 'NESTED', 'NET-EVENT-LIST', 'NEW', 'NEWABLE', 'NEXT ', 'NEXT-ITEM', 234 'NO', 'NO-AUTO-DEFAULT', 'NO-AUTOSEL', 'NO-BOX', 'NO-CELL-DRAG', 235 'NO-CLOSE', 'NO-DIVIDERS', 'NO-ECHO', 'NO-F4', 'NO-FOCUS', 236 'NO-GROUP-TAB', 'NO-KEY-LETTER', 'NO-SEARCH', 'NO-TAB', 'NO-UPDOWN', 237 'NOMINAL', 'NONE', 'NORMAL', 'NOT', 'NOT-A-NUMBER', 'NOTIFY', 238 'NOTIFY-CHANGE', 'NOTIFY-DBLCLICK', 'NOTIFY-SELCHANGE', 239 'NSTD-REELS', 'NULL', 'NULLS', 'NUM-COL-HEADINGS', 240 'NUM-ROW-HEADINGS', 'NUM-ROWS', 'NUMBER', 'NUMBERS', 'NUMERIC', 241 'NUMERIC-EDITED', 'NUMERIC-FILL', 'O-FILL', 'OBJECT', 242 'OBJECT-COMPUTER', 'OBJECT-ID', 'OBJECT-REFERENCE', 243 'OBJECT-STORAGE', 'OCCURS', 'OF', 'OFF', 'OK-BUTTON', 'OMITTED', 244 'ONLY', 'OOSTACKPTR', 'OPERATOR', 'OPERATOR-ID', 245 'OPTIONAL', 'OPTIONS', 'OR', 'ORDER', 'ORGANIZATION', 'OTHER', 246 'OTHERWISE', 'OUTPUT', 'OVERFLOW', 'OVERLAP-LEFT', 'OVERLAP-TOP', 247 'OVERLAPPED', 'OVERLINE', 'OVERRIDE', 'PACKED-DECIMAL', 248 'PADDING', 'PAGE', 'PAGE-COUNTER', 'PAGE-SETUP', 'PAGE-SIZE', 249 'PAGED', 'PANEL-INDEX', 'PANEL-STYLE', 'PANEL-TEXT', 'PANEL-WIDTHS', 250 'PARAGRAPH', 'PARAMS', 'PARENT', 'PARSE', 'PARTIAL', 'PASSWORD', 251 'PERMANENT', 'PF', 'PH', 'PIC', 'PICTURE', 'PIXEL', 252 'PIXELS', 'PLACEMENT', 'PLUS', 'POINTER', 'POP-UP', 'POSITION', 253 'POSITION-SHIFT', 'POSITIONING', 'POSITIVE', 'POSITIVE-INFINITY', 254 'PREFIXED', 'PREFIXING', 'PRESENT', 255 'PREVIOUS', 'PRINT', 'PRINT-CONTROL', 'PRINT-NO-PROMPT', 256 'PRINT-PREVIEW', 'PRINT-SWITCH', 'PRINTER', 'PRINTER-1', 'PRINTING', 257 'PRIOR', 'PRIORITY', 'PRIVATE', 'PROCEDURE', 'PROCEDURE-POINTER', 258 'PROCEDURES', 'PROCEED', 'PROCESS', 'PROCESSING', 'PROGRAM', 259 'PROGRAM-ID', 'PROGRAM-POINTER', 'PROGRESS', 'PROHIBITED', 260 'PROMPT', 'PROPERTIES', 261 'PROPERTY', 'PROPERTY-ID', 'PROPERTY-VALUE', 'PROTECTED', 262 'PROTOTYPE', 'PUBLIC', 'PURGE', 'PUSH-BUTTON', 'QUERY-INDEX', 263 'QUEUE', 'QUOTE', 'QUOTES', 'RADIO-BUTTON', 'RAISED', 264 'RAISING', 'RD', 'READ-ONLY', 'READING', 265 'READY', 'RECORD', 'RECORD-DATA', 'RECORD-OVERFLOW', 266 'RECORD-TO-ADD', 'RECORD-TO-DELETE', 'RECORDING', 'RECORDS', 267 'RECURSIVE', 'REDEFINE', 'REDEFINES', 'REDEFINITION', 'REEL', 268 'REFERENCE', 'REFERENCES', 'REFRESH', 'REGION-COLOR', 'RELATION', 269 'RELATIVE', 'RELOAD', 'REMAINDER', 'REMARKS', 'REMOVAL', 270 'RENAMES', 'REORG-CRITERIA', 'REPEATED', 'REPLACE', 'REPLACING', 271 'REPORT', 'REPORTING', 'REPORTS', 'REPOSITORY', 'REQUIRED', 272 'REPRESENTS-NOT-A-NUMBER', 273 'REREAD', 'RERUN', 'RESERVE', 'RESET-GRID', 'RESET-LIST', 274 'RESET-TABS', 'RESIZABLE', 'RESTRICTED', 'RESULT-SET-LOCATOR', 275 'RETRY', 'RETURN-CODE', 'RETURNING', 276 'REVERSE-VIDEO', 'REVERSED', 'REWIND', 'RF', 'RH', 277 'RIGHT', 'RIGHT-ALIGN', 'RIGHT-JUSTIFY', 'RIMMED', 278 'ROLLING', 'ROUNDED', 'ROUNDING', 'ROW-COLOR', 'ROW-COLOR-PATTERN', 279 'ROW-DIVIDERS', 'ROW-FONT', 'ROW-HEADINGS', 'ROW-PROTECTION', 280 'ROWID', 'RUN', 'S01', 'S02', 'S03', 'S04', 'S05', 'SAME', 281 'SAVE-AS', 'SAVE-AS-NO-PROMPT', 'SCREEN', 'SCROLL', 'SCROLL-BAR', 282 'SD', 'SEARCH-OPTIONS', 'SEARCH-TEXT', 'SECONDS', 283 'SECTION', 'SECURE', 'SECURITY', 'SEEK', 'SEGMENT', 'SEGMENT-LIMIT', 284 'SELECT-ALL', 'SELECTION-INDEX', 'SELECTION-TEXT', 285 'SELECTIVE', 'SELF', 'SELF-ACT', 'SELFCLASS', 'SEMAPHORE-POINTER', 286 'SEND', 'SENTENCE', 'SEPARATE', 'SEPARATION', 'SEQUENCE', 287 'SEQUENTIAL', 'SETTER', 'SHADING', 'SHADOW', 288 'SHARING', 'SHIFT-IN', 'SHIFT-OUT', 'SHORT-DATE', 'SHOW-LINES', 289 'SHOW-NONE', 'SHOW-SEL-ALWAYS', 'SIGNED', 'SIGNED-INT', 290 'SIGNED-LONG', 'SIGNED-SHORT', 'SIZE', 'SKIP1', 291 'SKIP2', 'SKIP3', 'SMALL-FONT', 'SORT-CONTROL', 292 'SORT-CORE-SIZE', 'SORT-FILE-SIZE', 'SORT-MERGE', 'SORT-MESSAGE', 293 'SORT-MODE-SIZE', 'SORT-OPTION', 'SORT-ORDER', 'SORT-RETURN', 294 'SORT-TAPE', 'SORT-TAPES', 'SOURCE', 'SOURCE-COMPUTER', 'SOURCES', 295 'SPACE', 'SPACE-FILL', 'SPACES', 'SPECIAL-NAMES', 'SPINNER', 'SQL', 296 'SQUARE', 'STANDARD', 'STANDARD-1', 'STANDARD-2', 'STANDARD-3', 297 'STANDARD-BINARY', 'STANDARD-DECIMAL', 298 'START-X', 'START-Y', 'STARTING', 'STATEMENT', 'STATIC', 299 'STATIC-LIST', 300 'STATUS', 'STATUS-BAR', 'STATUS-TEXT', 'STEP', 301 'STOP-BROWSER', 'STRONG', 'STYLE', 'SUB-QUEUE-1', 302 'SUB-QUEUE-2', 'SUB-QUEUE-3', 'SUBFILE', 'SUBWINDOW', 303 'SUFFIXING', 'SUPER', 'SYMBOL', 'SYMBOLIC', 304 'SYNCHRONIZED', 'SYSIN', 'SYSIPT', 'SYSLST', 'SYSOUT', 305 'SYSPCH', 'SYSPUNCH', 'SYSTEM', 'SYSTEM-DEFAULT', 'SYSTEM-INFO', 306 'TAB', 'TAB-CONTROL', 'TAB-TO-ADD', 'TAB-TO-DELETE', 'TABLE', 307 'TALLY', 'TALLYING', 'TAPE', 'TAPES', 'TEMPORARY', 'TERMINAL', 308 'TERMINAL-INFO', 'TERMINATION-VALUE', 'TEST', 'TEXT', 309 'THAN', 'THEN', 'THREAD', 'THREAD-LOCAL', 'THREAD-LOCAL-STORAGE', 310 'THREAD-POINTER', 'THROUGH', 'THRU', 'THUMB-POSITION', 311 'TILED-HEADINGS', 'TIME', 'TIME-OF-DAY', 'TIME-OUT', 'TIME-RECORD', 312 'TIMEOUT', 'TIMES', 'TIMESTAMP', 'TIMESTAMP-OFFSET', 313 'TIMESTAMP-OFFSET-RECORD', 'TIMESTAMP-RECORD', 'TITLE', 'TITLE-BAR', 314 'TITLE-POSITION', 'TO', 'TOOL-BAR', 'TOP', 'TOTALED', 'TOTALING', 315 'TOWARD-GREATER', 'TOWARD-LESSER', 316 'TRACE', 'TRACK-AREA', 'TRACK-LIMIT', 'TRACK-THUMB', 'TRACKS', 317 'TRADITIONAL-FONT', 'TRAILING', 'TRAILING-SHIFT', 'TRAILING-SIGN', 318 'TRANSACTION', 'TRANSPARENT', 'TRANSPARENT-COLOR', 319 'TREE-VIEW', 'TRUE', 'TRUNCATION', 'TYPE', 'TYPEDEF', 'UCS-4', 320 'UNDERLINE', 'UNDERLINED', 'UNEQUAL', 'UNFRAMED', 'UNIT', 'UNITS', 321 'UNIVERSAL', 'UNSIGNED', 'UNSIGNED-INT', 'UNSIGNED-LONG', 322 'UNSIGNED-SHORT', 323 'UNSORTED', 'UP', 'UPDATE', 'UNTIL', 'UPON', 'UPPER', 324 'UPSI-0', 'UPSI-1', 'UPSI-2', 'UPSI-3', 'UPSI-4', 'UPSI-5', 325 'UPSI-6', 'UPSI-7', 'USAGE', 'USE-ALT', 'USE-RETURN', 326 'USE-TAB', 'USER', 'USER-COLORS', 'USER-DEFAULT', 'USER-GRAY', 327 'USER-WHITE', 'USING', 'UTF-16', 'UTF-8', 'VALID', 328 'VAL-STATUS', 'VALIDATE-STATUS', 329 'VALUE', 'VALUE-FORMAT', 'VALUES', 'VALUETYPE', 'VALUETYPE-ID', 330 'VARBINARY', 'VARIABLE', 'VARIANT', 'VARYING', 'VERTICAL', 331 'VERY-HEAVY', 'VIRTUAL-WIDTH', 'VISIBLE', 'VPADDING', 'VSCROLL', 332 'VSCROLL-BAR', 'VSCROLL-POS', 'VTOP', 'WEB-BROWSER', 'WHEN', 333 'WHERE', 'WIDTH', 'WIDTH-IN-CELLS', 'WINDOW', 334 'WITH', 'WORDS', 'WORKING-STORAGE', 'WRAP', 'WRITE-ONLY', 335 'WRITE-VERIFY', 'WRITING', ' XML', 'XML ', 'XML-CODE', 'XML-EVENT', 336 'XML-NTEXT', 'XML-TEXT', 'YIELDING', 'YYYYDDD', 'YYYYMMDD', 'ZERO', 337 'ZERO-FILL', 'ZEROES', 'ZEROS' 338 ), 339 3 => array( // Statement Keywords containing no spaces. 340 'ACCEPT', 'ADD', 'ALTER', 'ALLOCATE', 'ATTACH', 'CALL', 'CANCEL', 341 'CHAIN', 'CREATE', 342 'CLOSE', 'COLOR', 'COMPUTE', 'COMMIT', 'CONTINUE', 343 'COPY', 'DECLARE', 'DELEGATE', 'DELETE', 'DETACH', 'DISPLAY', 344 'DIVIDE', 345 'ENTER', 'ENTRY', 'EVALUATE', 'EXAMINE', 346 'EXEC', 'EXECUTE', 'EXHIBIT', 'EXIT', 'FREE', 'GOBACK', 347 'IF', 'INITIALIZE', 'INITIATE', 'INSPECT', 'INVOKE', 'MERGE', 348 'MODIFY', 'MOVE', 'MULTIPLY', 'NOTE', 'ON', 'OPEN', 349 'PERFORM', 'RAISE', 'READ', 'RECEIVE', 'RELEASE', 'RETURN', 350 'RESET', 'RESUME', 351 'REWRITE', 'ROLLBACK', 'SEARCH', 'SELECT', 'SERVICE', 'SET', 'SORT', 352 'START', 'STOP', 'STRING', 'SUBTRACT', 'SYNC', 353 'SUPPRESS', 'TERMINATE', 354 'TRANSFORM', 'TRY', 'UNLOCKFILE', 'UNLOCK', 'UNSTRING', 'USE', 355 'VALIDATE', 'WAIT', 'WRITE' 356 ), 357 4 => array( // Intrinsic functions 358 'ABS', 'ACOS', 'ANNUITY', 'ASIN', 'ATAN', 'BOOLEAN-OF-INTEGER', 359 'BYTE-LENGTH', 'CHAR', 'CHAR-NATIONAL', 360 'COS', 'COMBINED-DATETIME', 'CONCATENATE', 'CURRENT-DATE', 361 'DATE-OF-INTEGER', 'DATE-TO-YYYYMMDD', 'DAY-TO-YYYYDDD', 362 'DAY-OF-INTEGER', 'DISPLAY-OF', 'E', 'EXCEPTION-FILE', 363 'EXCEPTION-FILE-N', 'EXCEPTION-LOCATION', 364 'EXCEPTION-LOCATION-N', 'EXCEPTION-STATEMENT', 'EXCEPTION-STATUS', 365 'EXP', 'EXP10', 'FACTORIAL', 'FORMATTED-CURRENT-DATE', 366 'FORMATTED-DATE', 'FORMATTED-DATETIME', 'FORMATTED-TIME', 367 'FRACTION-PART', 'HIGHEST-ALGEBRAIC', 'INTEGER', 368 'INTEGER-OF-BOOLEAN', 'INTEGER-OF-DATE', 'INTEGER-OF-DAY', 369 'INTEGER-OF-FORMATTED-DATE', 'INTEGER-PART', 'LENGTH', 370 'LOCALE-COMPARE', 371 'LOCALE-DATE', 'LOCALE-TIME', 'LOCALE-TIME-FROM-SECONDS', 372 'LOCALE-TIME-FROM-SECS', 'LOG', 373 'LOG10', 'LOWER-CASE', 'LOWEST-ALGEBRAIC', 374 'MAX', 'MEAN', 'MEDIAN', 'MIDRANGE', 375 'MIN', 'MOD', 'NATIONAL-OF', 'NUMVAL', 'NUMVAL-C', 'NUMVAL-F', 376 'ORD', 'ORD-MAX', 'ORD-MIN', 377 'PI', 'PRESENT-VALUE', 'RANDOM', 'RANGE', 'REM', 'REVERSE', 378 'SECONDS-FROM-FORMATTED-TIME', 'SIGN', 'SIN', 'SQRT', 379 'SECONDS-PAST-MIDNIGHT', 'STANDARD-DEVIATION', 'STANDARD-COMPARE', 380 'STORED-CHAR-LENGTH', 381 'SUBSTITUTE', 'SUBSTITUE-CASE', 'SUM', 'TAN', 'TEST-DATE-YYYYMMDD', 382 'TEST-DAY-YYYYDDD', 'TEST-FORMATTED-TIME', 'TEST-NUMVAL', 383 'TEST-NUMVAL-C', 'TEST-NUMVAL-F', 384 'TRIM', 'UPPER-CASE', 'VARIANCE', 'YEAR-TO-YYYY', 'WHEN-COMPILED' 385 ), 386 ), 387 'SYMBOLS' => array( 388 // Arithmetic and comparison operators must be surrounded by spaces. 389 ' + ', ' - ', ' * ', ' / ', ' ** ', ' ^ ', 390 '.', ',', 391 ' = ', ' < ', ' > ', ' >= ', ' <= ', ' <> ', 392 '(', ')', '[', ']' 393 ), 394 'CASE_SENSITIVE' => array( 395 GESHI_COMMENTS => false, 396 1 => false, 397 2 => false, 398 3 => false, 399 4 => false, 400 ), 401 'STYLES' => array( 402 'KEYWORDS' => array( 403 1 => 'color: #000000; font-weight: bold;', 404 2 => 'color: #008000; font-weight: bold;', 405 3 => 'color: #000000; font-weight: bold;', 406 4 => 'color: #9d7700;', 407 ), 408 'COMMENTS' => array( 409 1 => 'color: #a0a0a0; font-style: italic;', 410 2 => 'color: #000080; font-weight: bold;', 411 ), 412 'ESCAPE_CHAR' => array( 413 ), 414 'BRACKETS' => array( 415 0 => 'color: #339933;' 416 ), 417 'STRINGS' => array( 418 0 => 'color: #ff0000;' 419 ), 420 'NUMBERS' => array( 421 0 => 'color: #993399;' 422 ), 423 'METHODS' => array( 424 1 => 'color: #800080;' 425 ), 426 'SYMBOLS' => array( 427 0 => 'color: #000066;' 428 ), 429 'REGEXPS' => array( 430 ), 431 'SCRIPT' => array( 432 ) 433 ), 434 'URLS' => array( 435 1 => '', 436 2 => '', 437 3 => '', 438 4 => '' 439 ), 440 'OOLANG' => true, 441 'OBJECT_SPLITTERS' => array( 442 1 => '::' 443 ), 444 'REGEXPS' => array( 445 ), 446 'STRICT_MODE_APPLIES' => GESHI_NEVER, 447 'SCRIPT_DELIMITERS' => array( 448 ), 449 'HIGHLIGHT_STRICT_BLOCK' => array( 450 ), 451 'TAB_WIDTH' => 4, 452 'PARSER_CONTROL' => array( 453 'KEYWORDS' => array( 454 'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9-\$_\|\#|^&])', 455 ), 456 ), 457); 458