mooc/www/sys/fs/usr/share/joe/syntax/cobol.jsf

674 lines
9.5 KiB
Plaintext
Raw Normal View History

2023-01-31 08:47:50 +04:00
# JOE syntax highlight file for COBOL
=Idle
=Bad bold red
=Preproc blue
=Define bold blue
=Comment green
=IncLocal cyan
=IncSystem bold cyan
=Constant cyan
=Escape bold cyan
=Type bold
=Keyword bold
:reset Idle
* idle noeat
"*" line_comment recolor=-1
" \t" reset
:line_comment Comment
* line_comment
"\n" reset
# All following states are for when we're not in a preprocessor line
:idle Idle
* idle
"\n" reset
"0" first_digit recolor=-1
"1-9" decimal recolor=-1
"." maybe_float
"\"" string recolor=-1
"'" char recolor=-1
"a-zA-Z_" ident buffer
:first_digit Constant
* idle noeat
"xX" hex
"." float
"eE" epart
"0-7" octal
"89" bad_number recolor=-1
:bad_number Bad
* idle noeat
"0-9" bad_number
:octal Constant
* idle noeat
"0-7" octal
"89" bad_number recolor=-1
:hex Constant
* idle noeat
"0-9A-Fa-f" hex
:decimal Constant
* idle noeat
"0-9" decimal
"eE" epart
"." float
:maybe_float Constant
* idle recolor=-2 noeat
"0-9" float recolor=-2
:float Constant
* idle noeat
"eE" epart
"0-9" float
:epart Constant
* idle noeat
"0-9+\-" enum
:enum Constant
* idle noeat
"0-9" enum
:string Constant
* string
"\"" idle
"\\" string_escape recolor=-1
"%" string_control recolor=-1
:string_escape Escape
* string
"x" string_hex1
"0-7" string_octal2
"\n" string recolor=-2
:string_hex1 Escape
* string noeat
"0-9a-fA-F" string_hex2
:string_hex2 Escape
* string noeat
"0-9a-fA-F" string
:string_octal2 Escape
* string noeat
"0-7" string_octal3
:string_octal3 Escape
* string noeat
"0-7" string
:string_control Escape
* string_control
"\n" reset
"diouxXeEfFgGaAcspn%SC" string
:char Constant
* char
"\n" reset
"'" idle
"\\" char_escape recolor=-1
:char_escape Escape
* char
"x" char_hex1
"0-7" char_octal2
"\n" char recolor=-2
:char_hex1 Escape
* char noeat
"0-9a-fA-F" char_hex2
:char_hex2 Escape
* char noeat
"0-9a-fA-F" char
:char_octal2 Escape
* char noeat
"0-7" char_octal3
:char_octal3 Escape
* char noeat
"0-7" char
:ident Idle
* idle noeat istrings
"accept" kw
"access" kw
"add" kw
"address" kw
"advancing" kw
"after" kw
"all" kw
"allowing" kw
"alphabet" kw
"alphabetic" kw
"alphabetic-lower" kw
"alphabetic-upper" kw
"alphanumeric" kw
"alphanumeric-edited" kw
"also" kw
"alter" kw
"alternate" kw
"and" kw
"any" kw
"apply" kw
"are" kw
"area" kw
"areas" kw
"arithmetic" kw
"ascending" kw
"assign" kw
"at" kw
"author" kw
"automatic" kw
"b-and" kw
"b-exor" kw
"b-less" kw
"b-not" kw
"b-or" kw
"basis" kw
"before" kw
"beginning" kw
"binary" kw
"bit" kw
"bits" kw
"blank" kw
"block" kw
"boolean" kw
"bottom" kw
"by" kw
"call" kw
"cancel" kw
"cbl" kw
"cd" kw
"cf" kw
"ch" kw
"character" kw
"characters" kw
"class" kw
"class-id" kw
"clock-units" kw
"close" kw
"cobol" kw
"code" kw
"code-set" kw
"collating" kw
"column" kw
"com-reg" kw
"comma" kw
"commit" kw
"common" kw
"communication" kw
"comp" kw
"comp-1" kw
"comp-2" kw
"comp-3" kw
"comp-4" kw
"comp-5" kw
"comp-6" kw
"comp-7" kw
"comp-8" kw
"comp-9" kw
"computational" kw
"computational-1" kw
"computational-2" kw
"computational-3" kw
"computational-4" kw
"computational-5" kw
"computational-6" kw
"computational-7" kw
"computational-8" kw
"computational-9" kw
"compute" kw
"configuration" kw
"connect" kw
"contained" kw
"contains" kw
"content" kw
"continue" kw
"control" kw
"controls" kw
"converting" kw
"copy" kw
"corr" kw
"corresponding" kw
"count" kw
"currency" kw
"current" kw
"cycle" kw
"data" kw
"date" kw
"date-compiled" kw
"date-written" kw
"day" kw
"day-of-week" kw
"db" kw
"db-access-control-key" kw
"db-data-name" kw
"db-exception" kw
"db-record-name" kw
"db-set-name" kw
"db-status" kw
"dbcs" kw
"de" kw
"debug-contents" kw
"debug-item" kw
"debug-line" kw
"debug-name" kw
"debug-sub-1" kw
"debug-sub-2" kw
"debug-sub-3" kw
"debugging" kw
"decimal-point" kw
"declaratives" kw
"default" kw
"delete" kw
"delimited" kw
"delimiter" kw
"depending" kw
"descending" kw
"destination" kw
"detail" kw
"disable" kw
"disconnect" kw
"display" kw
"display-1" kw
"display-2" kw
"display-3" kw
"display-4" kw
"display-5" kw
"display-6" kw
"display-7" kw
"display-8" kw
"display-9" kw
"divide" kw
"division" kw
"down" kw
"duplicate" kw
"duplicates" kw
"dynamic" kw
"egcs" kw
"egi" kw
"eject" kw
"else" kw
"emi" kw
"empty" kw
"enable" kw
"end" kw
"end-add" kw
"end-call" kw
"end-compute" kw
"end-delete" kw
"end-disable" kw
"end-divide" kw
"end-enable" kw
"end-evaluate" kw
"end-if" kw
"end-invoke" kw
"end-multiply" kw
"end-of-page" kw
"end-perform" kw
"end-read" kw
"end-receive" kw
"end-return" kw
"end-rewrite" kw
"end-search" kw
"end-send" kw
"end-start" kw
"end-string" kw
"end-subtract" kw
"end-transceive" kw
"end-unstring" kw
"end-write" kw
"ending" kw
"enter" kw
"entry" kw
"environment" kw
"eop" kw
"equal" kw
"equals" kw
"erase" kw
"error" kw
"esi" kw
"evaluate" kw
"every" kw
"exact" kw
"exceeds" kw
"exception" kw
"exclusive" kw
"exit" kw
"extend" kw
"external" kw
"false" const
"fd" kw
"fetch" kw
"file" kw
"file-control" kw
"filler" kw
"final" kw
"find" kw
"finish" kw
"first" kw
"footing" kw
"for" kw
"form" kw
"format" kw
"free" kw
"from" kw
"function" kw
"generate" kw
"get" kw
"giving" kw
"global" kw
"go" kw
"goback" kw
"greater" kw
"group" kw
"heading" kw
"high-value" const
"high-values" const
"i-o" kw
"i-o-control" kw
"id" kw
"identification" kw
"if" kw
"in" kw
"index" kw
"index-1" kw
"index-2" kw
"index-3" kw
"index-4" kw
"index-5" kw
"index-6" kw
"index-7" kw
"index-8" kw
"index-9" kw
"indexed" kw
"indicate" kw
"inherits" kw
"initial" kw
"initialize" kw
"initiate" kw
"input" kw
"input-output" kw
"insert" kw
"inspect" kw
"installation" kw
"into" kw
"invalid" kw
"invoke" kw
"is" kw
"just" kw
"justified" kw
"kanji" kw
"keep" kw
"key" kw
"label" kw
"last" kw
"ld" kw
"leading" kw
"left" kw
"length" kw
"less" kw
"limit" kw
"limits" kw
"linage" kw
"linage-counter" kw
"line" kw
"line-counter" kw
"lines" kw
"linkage" kw
"locally" kw
"local-storage" kw
"lock" kw
"low-value" const
"low-values" const
"member" kw
"memory" kw
"merge" kw
"message" kw
"metaclass" kw
"method" kw
"method-id" kw
"mode" kw
"modify" kw
"modules" kw
"more-labels" kw
"move" kw
"multiple" kw
"multiply" kw
"native" kw
"negative" kw
"next" kw
"no" kw
"normal" kw
"not" kw
"null" const
"nulls" const
"number" kw
"numeric" kw
"numeric-edited" kw
"object" kw
"object-computer" kw
"occurs" kw
"of" kw
"off" kw
"omitted" kw
"on" kw
"only" kw
"open" kw
"optional" kw
"or" kw
"order" kw
"organization" kw
"other" kw
"output" kw
"overflow" kw
"override" kw
"owner" kw
"packed-decimal" kw
"padding" kw
"page" kw
"page-counter" kw
"paragraph" kw
"password" kw
"perform" kw
"pf" kw
"ph" kw
"pic" kw
"picture" kw
"plus" kw
"pointer" kw
"position" kw
"positive" kw
"present" kw
"previous" kw
"printing" kw
"prior" kw
"procedure" kw
"procedure-pointer" kw
"procedures" kw
"proceed" kw
"processing" kw
"program" kw
"program-id" kw
"protected" kw
"purge" kw
"queue" kw
"quote" const
"quotes" const
"random" kw
"rd" kw
"read" kw
"ready" kw
"realm" kw
"receive" kw
"reconnect" kw
"record" kw
"record-name" kw
"recording" kw
"records" kw
"recursive" kw
"redefines" kw
"reel" kw
"reference" kw
"references" kw
"relation" kw
"relative" kw
"release" kw
"reload" kw
"remainder" kw
"removal" kw
"renames" kw
"repeated" kw
"replace" kw
"replacing" kw
"report" kw
"reporting" kw
"reports" kw
"repository" kw
"rerun" kw
"reserve" kw
"reset" kw
"retaining" kw
"retrieval" kw
"return" kw
"return-code" kw
"returning" kw
"reversed" kw
"rewind" kw
"rewrite" kw
"rf" kw
"rh" kw
"right" kw
"rollback" kw
"rounded" kw
"run" kw
"same" kw
"sd" kw
"search" kw
"section" kw
"security" kw
"segment" kw
"segment-limit" kw
"select" kw
"self" kw
"send" kw
"sentence" kw
"separate" kw
"sequence" kw
"sequential" kw
"service" kw
"session-id" kw
"set" kw
"shared" kw
"shift-in" kw
"shift-out" kw
"sign" kw
"size" kw
"skip1" kw
"skip2" kw
"skip3" kw
"sort" kw
"sort-control" kw
"sort-core-size" kw
"sort-file-size" kw
"sort-merge" kw
"sort-message" kw
"sort-mode-size" kw
"sort-return" kw
"source" kw
"source-computer" kw
"space" const
"spaces" const
"special-names" kw
"standard" kw
"standard-1" kw
"standard-2" kw
"standard-3" kw
"standard-4" kw
"start" kw
"status" kw
"stop" kw
"store" kw
"string" kw
"sub-queue-1" kw
"sub-queue-2" kw
"sub-queue-3" kw
"sub-schema" kw
"subtract" kw
"sum" kw
"super" kw
"suppress" kw
"symbolic" kw
"sync" kw
"synchronized" kw
"table" kw
"tally" kw
"tallying" kw
"tape" kw
"tenant" kw
"terminal" kw
"terminate" kw
"test" kw
"text" kw
"than" kw
"then" kw
"through" kw
"thru" kw
"time" kw
"timeout" kw
"times" kw
"title" kw
"to" kw
"top" kw
"trace" kw
"trailing" kw
"transceive" kw
"true" const
"type" kw
"unequal" kw
"unit" kw
"unstring" kw
"until" kw
"up" kw
"update" kw
"upon" kw
"usage" kw
"usage-mode" kw
"use" kw
"using" kw
"valid" kw
"validate" kw
"value" kw
"values" kw
"varying" kw
"wait" kw
"when" kw
"when-compiled" kw
"with" kw
"within" kw
"words" kw
"working-storage" kw
"write" kw
"write-only" kw
"zero" const
"zeroes" const
"zeros" const
done
"a-zA-Z0-9_\-" ident
:kw Keyword
* idle noeat
:const Constant
* idle noeat