[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/vendor/geshi/geshi/src/geshi/ -> cobol.php (source)

   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  );