# COBOL language definition file (ANSI 74/85)
#
# Author: Andre Simon
#   Mail: andre.simon1@gmx.de
#   Date: 24.8.2002
# ------------------------------------------
# This file is a part of highlight, a free source code converter released under the GPL.
#
# The file is used to describe keywords and special symbols of programming languages.
# See README in the highlight directory for details.
#
# New definition files for future releases of highlight are always appreciated ;)
#
# ----------
# andre.simon1@gmx.de
# http:/www.andre-simon.de/

$DESCRIPTION=COBOL

$KEYWORDS(kwa)=accept access  add advancing after all alphabet alphabetic alphabetic-lower alphabetic-upper
alphanumeric alphanumeric-edited also alter alternate and any are area areas ascending assign at author
before  binary blank block bottom by call cancel    cd cf ch     character characters class clock-units
close cobol code code-set collating column    comma  common communication comp comp-0 comp-1 comp-2 comp-3
comp-4 comp-5 comp-6 comp-x computational computational-0 computational-1 computational-2 computational-3
computational-4 computational-5 computational-6 computational-x compute configuration contains content continue
control control-area controls converting copy    corr corresponding count     currency data date date-compiled
date-written day day-of-week de debug-contents debug-item debug-line debug-name debug-sub-1 debug-sub-2 debug-sub-3
debugging decimal-point declaratives delete delimited delimiter depending descending destination detail disable
display  divide division down duplicates dynamic egi else emi enable end    end-add end-call 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 end-start end-string end-subtract end-unstring end-write enter    environment    eop    equal  error
esi evaluate every  exception exit extend    external false fd  file file-control     filler final first
footing for from function generate giving global go greater group heading    high-value high-values i-o i-o-control
identification if in index indexed indicate initial initialize initiate input input-output    inspect installation
into invalid just justified key label last leading    left  length    less limit limits linage linage-counter
line line-counter lines linkage    lock  low-value low-values memory merge message    mode    modules more-labels
move multiple multiply native    negative next no  not   number numeric numeric-edited object-computer    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  procedure    procedures proceed  program program-id     purge queue quote quotes random    rd read    receive record  records redefines reel reference references relative release    remainder    removal renames  replace replacing report reporting reports  rerun reserve    return   reversed rewind rewrite rf rh right rounded run same    sd search section    security    segment segment-limit select     send sentence separate sequence sequential    set  sign size sort     sort-merge   source source-computer space    spaces special-names standard standard-1 standard-2 start    status stop    string sub-queue-1 sub-queue-2 sub-queue-3    subtract sum super suppress symbolic sync synchronized tallying tape terminal terminate test text than then through thru time     times    to top    trailing     true type unit    unstring until up    upon        usage use      using value values      varying when      with words working-storage write zero      zeroes zeros

$IGNORECASE=true

$STRINGDELIMITERS=" '

$SL_COMMENT=* /

$IDENTIFIER=regex([a-zA-Z_][\w\-]*)

$SYMBOLS= ( ) [ ] { } , ; : & | < > !  =  %  + -
