home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 5 Edit
/
05-Edit.zip
/
p2demo21.exe
/
PEL
/
COBOL.PEL
< prev
next >
Wrap
Text File
|
1995-03-21
|
47KB
|
792 lines
# $Header: P:\source\wmacros\cobol.pev 1.12 21 Mar 1995 09:08:24 NOBLE $
## $Tabs:4 7$
##############################################################################
#
# Compuware Corporation
# 31440 Northwestern Highway
# Farmington Hills, Michigan 48334-2564
#
# This source code listing contains information that is
# proprietary to Compuware Corporation and may not be copied
# duplicated, translated, transmitted, stored, retrieved
# or in any manner or by any method conveyed or disclosed
# to a third party or parties without express written
# permission from Compuware Corporation.
#
#
##############################################################################
#### $Workfile: cobol.pel $: COBOL support stuff
global function do_cobol_routines(dhTemp, allBuffers)
{
local loc, buf, cursor_loc, fun_name
local found_routine = 0
local sflags = SEARCH_FORWARD+SEARCH_REGEX+SEARCH_MAXIMAL_MATCH
local verbs = "PROGRAM-ID|.* SECTION|.* DIVISION"
# the following search string is a good one to find things before the
# PROCEDURE DIVISION but it is somewhat slow
# local srchstring = "^......[ dB]\\c(PROGRAM-ID|.*SECTION|.*DIVISION|[0-9A-Z\\-]+\\.[ \t]*$| ENTRY>)"
local srchstring = "^......[ dB]\\c([0-9A-Za-z\\-]| ENTRY>|.*SECTION)"
found_routine = optional_function("xpp_get_cbl_rtns", dhTemp, allBuffers)
if (!found_routine)
{
save_position();
goto_buffer_top();
# start from the procedure division
if ( search("^...... PROCEDURE DIVISION", sflags) )
{
down()
goto_bol()
while ( search(srchstring, sflags) )
{
loc = 0
cursor_loc = current_column
goto_bol()
buf = read_buffer()
fun_name = trim( buf )
if ( index(buf, "PROGRAM-ID") )
{
if (cursor_loc >= 8 && cursor_loc <= 11)
{
loc = rindex( fun_name, "." )
fun_name = substr( fun_name, cursor_loc );
loc = length( fun_name ) + 1
}
}
# check section
#
else if ( buf ~ /<SECTION\.$|<DIVISION\.$/ )
{
if (cursor_loc >= 8 && cursor_loc <= 11)
{
fun_name = substr( fun_name, cursor_loc );
loc = length( fun_name ) + 1
}
}
# check ENTRY
#
else if ( buf ~ /<ENTRY>/ )
{
if (cursor_loc >= 12 && cursor_loc <= 72)
{
loc = rindex( fun_name, "'" ) + 1
fun_name = trim( substr(fun_name, 1, loc-1) );
if ( (loc = rindex( fun_name, " " )) )
fun_name = substr( fun_name, loc+1 ) " Entry "
loc = length( fun_name ) + 1
}
}
# check for paragraphs
#
else if (cursor_loc >= 8 && cursor_loc <= 11 &&
match(fun_name, "^...... [0-9A-Za-z\\-]+\\.") )
{
fun_name = substr(fun_name, cursor_loc ) " Paragraph "
gsub("\\.", "", fun_name)
loc = length( fun_name ) + 1
}
found_routine += add_routine(loc, fun_name, dhTemp, allBuffers)
sflags = or( sflags, SEARCH_ADVANCE );
} # end while
}
else
warning("No PROCEDURE DIVISION found!")
restore_position(1);
}
return found_routine
}
global function setup_cobol_template()
{
delete( language_template ); # delete last template and start over
ELEC_LANG = "cobol"
language_template[ "A" ]= "ADD `field-1` TO `field-2` ROUNDED\n" \
"\tGIVING `field-3`\n"
language_template[ "AC" ]= "ADD CORRESPONDING `group-1` TO `group-2` ROUNDED.\n"
language_template[ "AF" ]= "ACCEPT `field-1` FROM `date\\day\\day-of-week\\time-1`.\n"
language_template[ "C" ]= "CALL `program-1` USING `parameters-1`."
language_template[ "C1" ]= "COMP-1.@"
language_template[ "C2" ]= "COMP-2.@"
language_template[ "C3" ]= "COMP-3.@"
language_template[ "C4" ]= "COMP-4.@"
language_template[ "CO" ]= "COMP.@"
language_template[ "COB" ]= "@IDENTIFICATION DIVISION.\n" \
"PROGRAM-ID. `program-name-1`.\n" \
"AUTHOR. `your-name-1`.\n" \
"INSTALLATION. `company-name-1`.\n" \
"DATE-WRITTEN. `date-1`.\n"\
"DATE-COMPILED. `date-2`.\n"\
"REMARKS.\n\n" \
"ENVIRONMENT DIVISION.\n" \
"CONFIGURATION SECTION.\n" \
"SOURCE-COMPUTER. `computer-1`.\n" \
"OBJECT-COMPUTER. `computer-1`.\n" \
"INPUT-OUTPUT SECTION.\n" \
"FILE-CONTROL.\n\n" \
"DATA DIVISION.\n" \
"FILE SECTION.\n" \
"WORKING-STORAGE SECTION.\n" \
"LINKAGE SECTION.\n\n" \
"PROCEDURE DIVISION.\n"
language_template[ "D" ]= "@DIVIDE `field-1` INTO `field-2`\n"
language_template[ "DI" ]= "@DIVIDE `field-1` INTO `field-2`\n" \
"\tGIVING `field-3`\n" \
"REMAINDER `field-4`\n"
language_template[ "DB" ]= "@DIVIDE `field-1` BY `field-2`\n" \
"\tGIVING `field-3`\n" \
"REMAINDER `field-4`\n"
language_template[ "DD" ]= "DATA DIVISION.\n" \
"FILE SECTION.\n" \
"WORKING-STORAGE SECTION.\n" \
"LINKAGE SECTION.@"
language_template[ "ED" ]= "ENVIRONMENT DIVISION.\n" \
"CONFIGURATION SECTION.\n" \
"SOURCE-COMPUTER. IBM-PERSONAL-COMPUTER. \n"\
"OBJECT-COMPUTER. IBM-PERSONAL-COMPUTER.\n" \
"INPUT-OUTPUT SECTION.\n" \
"FILE-CONTROL.@"
language_template[ "EA" ]= "END-ADD@"
language_template[ "EDI" ]= "END-DIVIDE@"
language_template[ "EI" ]= "END-IF@"
language_template[ "EM" ]= "END-MULTIPLY@"
language_template[ "ESE" ]= "END-SEARCH@"
language_template[ "ES" ]= "END-SUBTRACT@"
language_template[ "FD" ]= "@FD\t`filename-1`\n" \
"\tBLOCK CONTAINS `nnn-1` CHARACTERS\n" \
"RECORD CONTAINS `nnn-2` CHARACTERS\n" \
"LABEL RECORDS ARE STANDARD\n" \
"DATA RECORDS ARE `data-name-1`, `data-name-2`, `...`\n\n" \
"\b01\t`data-name-1`.\n"
language_template[ "FS" ]= "FILE SECTION.@"
language_template[ "ID" ]= "@IDENTIFICATION DIVISION.\n" \
"PROGRAM-ID. `program-name-1`.\n" \
"AUTHOR. `your-name-1`.\n" \
"INSTALLATION. `company-name-1`.\n" \
"DATE-WRITTEN. `date-1`.\n"\
"DATE-COMPILED. `date-2`.\n"\
"REMARKS.\n\n"
language_template[ "IF" ]= "@IF `condition-1` \n" \
"\t\t`statement-1`\n" \
"\bELSE \n" \
"\t`statement-2`\n"
language_template[ "IFE" ]= "@IF `condition-1` \n" \
"\t\t`statement-1`\n" \
"\bELSE \n" \
"\t`statement-2`\n" \
"END-IF."
language_template[ "LS" ]= "LINKAGE SECTION.@"
language_template[ "M" ]= "MOVE field-1` TO `field-2`.\n"
language_template[ "MB" ]= "MULTIPLY `field-1` BY `field-2` \n" \
"\tGIVING `field-3` ROUNDED\n"
language_template[ "MC" ]= "MOVE CORRESPONDING `group-1` TO `group-2`.\n"
language_template[ "O" ]= "OPEN@"
language_template[ "OI" ]= "OPEN INPUT@"
language_template[ "OIO" ]= "OPEN INPUT-OUTPUT@"
language_template[ "OO" ]= "OPEN OUTPUT@"
language_template[ "P" ]= "PIC@"
language_template[ "PD" ]= "PROCEDURE DIVISION.@"
language_template[ "PE" ]= "PERFORM `procedure-1` THRU `procedure-2`.\n"
language_template[ "R" ]= "READ@"
language_template[ "S" ]= "SELECT `file-name-1` ASSIGN TO `name-1`.\n"
language_template[ "SC" ]= "SUBTRACT CORRESPONDING `group-1` FROM `group-2` \n" \
"\tGIVING `group-3` \n"
language_template[ "SE" ]= "SEARCH `table-1` VARYING `index-1` \n" \
"\tAT END `statement-1` \n" \
"WHEN `condition-1` `statement-2` \n"
language_template[ "SO" ]= "SORT `filename-1` ON ASCENDING KEY `data-name-1` \n" \
"USING `filename-2` \n" \
"INPUT PROCEDURE IS `procedure-name-1` THRU `procedure-name-2` \n" \
"GIVING `filename-3` \n" \
"OUTPUT PROCEDURE IS `procedure-name-3` THRU `procedure-name-4` \n"
language_template[ "ST" ]= "STRING `field-1` DELIMITED BY `delimiter-1` INTO `field-2`. \n"
language_template[ "SU" ]= "SUBTRACT `field-1` FROM `field-2` \n" \
"\tGIVING `field-3` \n"
language_template[ "U" ]= "USAGE @"
language_template[ "U1" ]= "USAGE COMPUTATIONAL-1 @"
language_template[ "U2" ]= "USAGE COMPUTATIONAL-2 @"
language_template[ "U3" ]= "USAGE COMPUTATIONAL-3 @"
language_template[ "U4" ]= "USAGE COMPUTATIONAL-4 @"
language_template[ "UB" ]= "USAGE BINARY @"
language_template[ "UC" ]= "USAGE COMPUTATIONAL @"
language_template[ "UD" ]= "USAGE DISPLAY @"
language_template[ "UD1" ]= "USAGE DISPLAY-1 @"
language_template[ "UI" ]= "USAGE INDEX @"
language_template[ "UP" ]= "USAGE PACKED-DECIMAL @"
language_template[ "US" ]= "UNSTRING `field-1` DELIMITED BY `delimiter-1` INTO `field-2`. \n"
language_template[ "V" ]= "VALUE @"
language_template[ "W" ]= "WRITE `record-1` FROM `field-1`. "
language_template[ "WS" ]= "WORKING-STORAGE SECTION. @"
}
global function add_cobol_type()
{
local flags = BUFFER_TABS_TO_SPACES + BUFFER_EXPAND_TABS;
add_type("cobol", "Microfocus 3.2", "cobol", "8 12", "1 80",
"IF END-IF PERFORM END-PERFORM ADD END-ADD DIVIDE END-DIVIDE MULTIPLY END-MULTIPLY SEARCH END-SEARCH SUBTRACT END-SUBTRACT", "\\",
flags, 1, 1, "()[];:='", 1);
}
global function load_factory_cobol_syntax()
{
local type = "cobol"
set_factory_categories( type );
add_syntax_item(type, KEYWORD, "ACCEPT", CATEGORY_RESERVED);
add_syntax_item(type, KEYWORD, "ACCESS", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "ACTUAL", CATEGORY_RESERVED);
add_syntax_item(type, KEYWORD, "ADD", CATEGORY_RESERVED);
add_syntax_item(type, KEYWORD, "ADDRESS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ADVANCING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "AFTER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ALL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ALPHABET", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ALPHABETIC", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ALPHABETIC-LOWER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ALPHABETIC-UPPER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ALPHANUMERIC", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ALPHANUMERIC-EDITED", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ALSO", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ALTER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ALTERNATE", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "AND", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ANY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "APPLY", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "ARE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "AREA", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "AREAS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ARITHMETIC", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ASCENDING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ASSIGN", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "AT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "AUTHOR", CATEGORY_PARAGRAPH );
add_syntax_item(type, KEYWORD, "B-AND", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "B-EXOR", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "B-NOT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "B-OR", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "BASIS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "BEFORE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "BEGINNING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "BINARY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "BIT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "BITS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "BLANK", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "BLOCK", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "BOOLEAN", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "BOTTOM", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "BY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CALL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CANCEL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CBL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CD", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CF", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CH", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CHANGED", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CHARACTER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CHARACTERS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CLASS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CLOSE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, type, CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CODE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CODE-SET", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "COLLATING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COLUMN", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COM-REG", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COMMA", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COMMIT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COMMON", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COMMUNICATION", CATEGORY_SECTION );
add_syntax_item(type, KEYWORD, "COMP", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COMP-1", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COMP-2", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COMP-3", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COMP-4", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COMPUTATIONAL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COMPUTATIONAL-1", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COMPUTATIONAL-2", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COMPUTATIONAL-3", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COMPUTATIONAL-4", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COMPUTE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CONFIGURATION", CATEGORY_SECTION );
add_syntax_item(type, KEYWORD, "CONNECT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CONSOLE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CONTAINS", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "CONTENT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CONTINUE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CONTROL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CONTROLS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CONVERTING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COPY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CORE-INDEX", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CORR", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CORRESPONDING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "COUNT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CSP", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CURRENCY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CURRENT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "CURRENT-DATE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "C01", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "C02", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "C03", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "C04", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "C05", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "C06", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "C07", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "C08", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "C09", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "C10", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "C11", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "C12", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DATA", CATEGORY_DIVISION );
add_syntax_item(type, KEYWORD, "DATE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DATE-COMPILED", CATEGORY_PARAGRAPH );
add_syntax_item(type, KEYWORD, "DATE-WRITTEN", CATEGORY_PARAGRAPH );
add_syntax_item(type, KEYWORD, "DAY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DAY-OF-WEEK", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DB", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DB-ACCESS-CONTROL-KEY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DB-DATA-NAME", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DB-EXCEPTION", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DB-RECORD-NAME", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DB-SET-NAME", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DB-STATUS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DEBUG", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DEBUG-CONTENTS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DEBUG-ITEM", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DEBUG-LINE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DEBUG-NAME", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DEBUG-SUB-1", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DEBUG-SUB-2", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DEBUG-SUB-3", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DEBUGGING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DECIMAL-POINT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DECLARATIVES", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DEFAULT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DELETE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DELIMITED", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DELIMITER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DEPENDING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DESCENDING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DESTINATION", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DETAIL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DISABLE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DISCONNECT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DISP", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DISPLAY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DISPLAY-1", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DISPLAY-ST", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DIVIDE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DIVISION", CATEGORY_DIVISION );
add_syntax_item(type, KEYWORD, "DOWN", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DUPLICATE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DUPLICATES", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "DYNAMIC", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EGCS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EGI", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EJECT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ELSE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EMI", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EMPTY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ENABLE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-ADD", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-CALL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-COMPUTE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-DELETE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-DIVIDE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-EVALUATE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-IF", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-MULTIPLY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-OF-PAGE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-PERFORM", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-READ", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-RECEIVE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-RETURN", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-REWRITE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-SEARCH", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-START", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-STRING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-SUBTRACT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-UNSTRING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "END-WRITE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ENDING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ENTER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ENTRY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ENVIRONMENT", CATEGORY_DIVISION );
add_syntax_item(type, KEYWORD, "EOP", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EQUAL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EQUALS", CATEGORY_RESERVED );
load_factory_cobol_syntax2(type);
}
local function load_factory_cobol_syntax2(type)
{
add_syntax_item(type, KEYWORD, "ERASE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ERROR", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ESI", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EVALUATE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EVERY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EXAMINE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EXCEEDS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EXCEPTION", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EXCLUSIVE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EXHIBIT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EXIT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EXOR", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EXTEND", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "EXTERNAL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FALSE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FD", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FETCH", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FILE", CATEGORY_SECTION );
add_syntax_item(type, KEYWORD, "FILE-CONTROL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FILE-LIMIT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FILE-LIMITS", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "FILES", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FILLER", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "FINAL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FIND", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FINISH", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FIRST", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FOOTING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FOR", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FORMAT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FREE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FROM", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "FUNCTION", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "GENERATE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "GET", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "GIVING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "GLOBAL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "GO", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "GOBACK", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "GREATER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "GROUP", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "HEADING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "HIGH-VALUE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "HIGH-VALUES", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "I-O", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "I-O-CONTROL", CATEGORY_PARAGRAPH );
add_syntax_item(type, KEYWORD, "ID", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "IDENTIFICATION", CATEGORY_DIVISION );
add_syntax_item(type, KEYWORD, "IF", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "IN", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "INDEX", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "INDEXED", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "INDICATE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "INITIAL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "INITIALIZE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "INITIATE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "INPUT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "INPUT-OUTPUT", CATEGORY_SECTION );
add_syntax_item(type, KEYWORD, "INSERT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "INSPECT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "INSTALLATION", CATEGORY_PARAGRAPH );
add_syntax_item(type, KEYWORD, "INTO", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "INVALID", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "IS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "JUST", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "JUSTIFIED", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "KANJI", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "KEEP", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "KEY", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "LABEL", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "LAST", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LD", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LEADING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LEAVE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LEFT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LENGTH", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LESS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LIMIT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LIMITS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LINAGE", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "LINAGE-COUNTER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LINE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LINE-COUNTER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LINES", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LINKAGE", CATEGORY_SECTION );
add_syntax_item(type, KEYWORD, "LOCALLY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LOCK", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LOW-VALUE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "LOW-VALUES", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "MEMBER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "MEMORY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "MERGE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "MESSAGE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "MODE", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "MODIFY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "MODULES", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "MORE-LABELS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "MOVE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "MULTIPLE", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "MULTIPLY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "NAMED", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "NATIVE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "NEGATIVE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "NEXT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "NO", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "NOMINAL", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "NONE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "NOT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "NOTE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "NULL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "NULLS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "NUMBER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "NUMERIC", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "NUMERIC-EDITED", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "OBJECT-COMPUTER", CATEGORY_PARAGRAPH );
add_syntax_item(type, KEYWORD, "OCCURS", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "OF", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "OFF", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "OMITTED", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ON", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ONLY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "OPEN", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "OPTIONAL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "OR", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ORDER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ORGANIZATION", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "OTHER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "OTHERWISE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "OUTPUT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "OVERFLOW", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "OWNER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PACKED-DECIMAL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PADDING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PAGE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PAGE-COUNTER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PASSWORD", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "PERFORM", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PF", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PH", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PIC", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PICTURE", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "PLUS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "POINTER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "POSITION", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "POSITIONING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "POSITIVE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PRESENT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PRINTING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PRIOR", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PROCEDURE", CATEGORY_DIVISION );
add_syntax_item(type, KEYWORD, "PROCEDURES", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PROCEED", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PROCESS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PROCESSING", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "PROGRAM", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PROGRAM-ID", CATEGORY_PARAGRAPH );
add_syntax_item(type, KEYWORD, "PROTECTED", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "PURGE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "QUEUE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "QUOTE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "QUOTES", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RANDOM", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RD", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "READ", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "READY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "REALM", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RECEIVE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RECONNECT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RECORD", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "RECORD-NAME", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RECORD-OVERFLOW", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RECORDING", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "RECORDS", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "REDEFINES", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "REEL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "REFERENCE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "REFERENCES", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RELATION", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RELATIVE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RELEASE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RELOAD", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "REMAINDER", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "REMARKS", CATEGORY_PARAGRAPH );
add_syntax_item(type, KEYWORD, "REMOVAL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RENAMES", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "REORG-CRITERIA", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "REPEATED", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "REPLACE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "REPLACING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "REPORT", CATEGORY_SECTION );
add_syntax_item(type, KEYWORD, "REPORTING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "REPORTS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "REREAD", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RERUN", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "RESERVE", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "RESET", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RETAINING", CATEGORY_RESERVED );
load_factory_cobol_syntax3(type);
}
local function load_factory_cobol_syntax3(type)
{
add_syntax_item(type, KEYWORD, "RETRIEVAL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RETURN", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RETURN-CODE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "REVERSED", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "REWIND", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "REWRITE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RF", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RH", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RIGHT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ROLLBACK", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ROUNDED", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "RUN", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SAME", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "SD", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SEARCH", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SECTION", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SECURITY", CATEGORY_PARAGRAPH );
add_syntax_item(type, KEYWORD, "SEEK", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SEGMENT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SEGMENT-LIMIT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SELECT", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "SELECTIVE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SEND", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SENTENCE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SEPARATE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SEQUENCE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SEQUENTIAL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SERVICE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SET", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SHARED", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SIGN", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "SIZE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SKIP1", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SKIP2", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SKIP3", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SORT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SORT-CONTROL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SORT-CORE-SIZE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SORT-FILE-SIZE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SORT-MERGE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SHORT-MESSAGE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SHORT-MODE-SIZE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SORT-RETURN", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SOURCE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SOURCE-COMPUTER", CATEGORY_PARAGRAPH );
add_syntax_item(type, KEYWORD, "SPACE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SPACES", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SPECIAL-NAMES", CATEGORY_PARAGRAPH );
add_syntax_item(type, KEYWORD, "STANDARD", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "STANDARD-1", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "START", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "STATUS", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "STOP", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "STORE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "STRING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SUB-QUEUE-1", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SUB-QUEUE-2", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SUB-QUEUE-3", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SUB-SCHEMA", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SUBTRACT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SUM", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SUPPRESS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SYMBOLIC", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SYNC", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SYNCHRONIZED", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "SYSIN", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SYSOUT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "SYSPUNCH", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "S01", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "S02", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TABLE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TALLY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TALLYING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TAPE", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "TENANT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TERMINAL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TERMINATE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TEST", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TEXT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "THAN", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "THEN", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "THROUGH", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "THRU", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TIME", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TIME-OF-DAY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TIMES", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TITLE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TO", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TOP", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TOTALING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TRACE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TRACK-AREA", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "TRACK-LIMIT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TRACKS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TRAILING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TRANSFORM", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TRUE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "TYPE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UNEQUAL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UNIT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UNSTRING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UNTIL", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UP", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UPDATE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UPON", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UPSI-0", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UPSI-1", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UPSI-2", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UPSI-3", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UPSI-4", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UPSI-5", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UPSI-6", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "UPSI-7", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "USAGE", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "USAGE-MODE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "USE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "USING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "VALID", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "VALIDATE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "VALUE", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "VALUES", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "VARYING", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "WAIT", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "WHEN", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "WHEN-COMPILED", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "WITH", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "WITHIN", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "WORDS", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "WORKING-STORAGE", CATEGORY_SECTION );
add_syntax_item(type, KEYWORD, "WRITE", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "WRITE-ONLY", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ZERO", CATEGORY_CLAUSE );
add_syntax_item(type, KEYWORD, "ZEROES", CATEGORY_RESERVED );
add_syntax_item(type, KEYWORD, "ZEROS", CATEGORY_RESERVED );
add_syntax_item(type, LINE, "*", 0x07000000 + CATEGORY_COMMENT );
add_syntax_item(type, LINE, "/", 0x07000000 + CATEGORY_COMMENT );
add_syntax_item(type, LINE, "\" \"", 0x010000 + CATEGORY_LITERAL );
set_escape_character(type, "\\")
set_style_delimiters(type, ".();,='")
set_case_sensitive(type, 1)
}