dotfiles

My dotfiles.
Log | Files | Refs | LICENSE

cobol.jsf (10245B)


      1 # JOE syntax highlight file for COBOL
      2 
      3 =Idle
      4 =Bad
      5 =Preproc
      6 =Define		+Preproc
      7 =Comment
      8 =IncLocal	+String +Preproc
      9 =IncSystem	+Preproc
     10 =Constant
     11 =String		+Constant
     12 =Number		+Constant
     13 =Boolean	+Constant
     14 =Character	+String
     15 =Escape
     16 =StringEscape	+Escape
     17 =CharacterEscape +StringEscape
     18 =Type
     19 =Keyword
     20 =Operator	+Keyword
     21 =Statement	+Keyword
     22 =Conditional	+Statement
     23 =Loop		+Statement
     24 =Ident
     25 
     26 :reset Idle
     27 	*		idle		noeat
     28 	"*"		line_comment	recolor=-1
     29 	" \t"		reset
     30 
     31 :line_comment Comment comment
     32 	*		line_comment
     33 	"BFHNTX"        line_comment	noeat call=comment_todo.comment_todo()
     34 	"\n"		reset
     35 
     36 # All following states are for when we're not in a preprocessor line
     37 
     38 :idle Idle
     39 	*		idle
     40 	"\n"		reset
     41 	"0"		first_digit	recolor=-1
     42 	"1-9"		decimal	recolor=-1
     43 	"."		maybe_float
     44 	"\""		string		recolor=-1
     45 	"'"		char		recolor=-1
     46 	"a-zA-Z_"	ident		buffer
     47 
     48 :first_digit Number
     49 	*		idle	noeat
     50 	"xX"		hex
     51 	"."		float
     52 	"eE"		epart
     53 	"0-7"		octal
     54 	"89"		bad_number	recolor=-1
     55 
     56 :bad_number Bad
     57 	*		idle	noeat
     58 	"0-9"		bad_number
     59 
     60 :octal Number
     61 	*		idle	noeat
     62 	"0-7"		octal
     63 	"89"		bad_number	recolor=-1
     64 
     65 :hex Number
     66 	*		idle	noeat
     67 	"0-9A-Fa-f"	hex
     68 
     69 :decimal Number
     70 	*		idle	noeat
     71 	"0-9"		decimal
     72 	"eE"		epart
     73 	"."		float
     74 
     75 :maybe_float Number
     76 	*		idle	recolor=-2	noeat
     77 	"0-9"		float		recolor=-2
     78 
     79 :float Number
     80 	*		idle	noeat
     81 	"eE"		epart
     82 	"0-9"		float
     83 
     84 :epart Number
     85 	*		idle	noeat
     86 	"0-9+\-"	enum
     87 
     88 :enum Number
     89 	*		idle	noeat
     90 	"0-9"		enum
     91 
     92 :string	String string
     93 	*		string
     94 	"\""		idle
     95 	"\\"		string_escape	recolor=-1
     96 	"%"		string_control	recolor=-1
     97 
     98 :string_escape StringEscape string
     99 	*		string
    100 	"x"		string_hex1
    101 	"0-7"		string_octal2
    102 	"\n"		string		recolor=-2
    103 
    104 :string_hex1 StringEscape string
    105 	*		string		noeat
    106 	"0-9a-fA-F"	string_hex2
    107 
    108 :string_hex2 StringEscape string
    109 	*		string		noeat
    110 	"0-9a-fA-F"	string
    111 
    112 :string_octal2 StringEscape string
    113 	*		string		noeat
    114 	"0-7"		string_octal3
    115 
    116 :string_octal3 StringEscape string
    117 	*		string		noeat
    118 	"0-7"		string
    119 
    120 :string_control StringEscape string
    121 	*		string_control
    122 	"\n"		reset
    123 	"diouxXeEfFgGaAcspn%SC"	string
    124 
    125 :char Character string
    126 	*		char
    127 	"\n"		reset
    128 	"'"		idle
    129 	"\\"		char_escape	recolor=-1
    130 
    131 :char_escape CharacterEscape string
    132 	*		char
    133 	"x"		char_hex1
    134 	"0-7"		char_octal2
    135 	"\n"		char		recolor=-2
    136 
    137 :char_hex1 CharacterEscape string
    138 	*		char		noeat
    139 	"0-9a-fA-F"	char_hex2
    140 
    141 :char_hex2 CharacterEscape string
    142 	*		char		noeat
    143 	"0-9a-fA-F"	char
    144 
    145 :char_octal2 CharacterEscape string
    146 	*		char		noeat
    147 	"0-7"		char_octal3
    148 
    149 :char_octal3 CharacterEscape string
    150 	*		char		noeat
    151 	"0-7"		char
    152 
    153 :ident Ident
    154 	*		idle		noeat istrings
    155 	"accept"	kw
    156 	"access"	kw
    157 	"add"	kw
    158 	"address"	kw
    159 	"advancing"	kw
    160 	"after"	kw
    161 	"all"	kw
    162 	"allowing"	kw
    163 	"alphabet"	kw
    164 	"alphabetic"	kw
    165 	"alphabetic-lower"	kw
    166 	"alphabetic-upper"	kw
    167 	"alphanumeric"	kw
    168 	"alphanumeric-edited"	kw
    169 	"also"	kw
    170 	"alter"	kw
    171 	"alternate"	kw
    172 	"and"	oper
    173 	"any"	kw
    174 	"apply"	kw
    175 	"are"	kw
    176 	"area"	kw
    177 	"areas"	kw
    178 	"arithmetic"	kw
    179 	"ascending"	kw
    180 	"assign"	kw
    181 	"at"	kw
    182 	"author"	kw
    183 	"automatic"	kw
    184 	"b-and"	oper
    185 	"b-exor"	oper
    186 	"b-less"	oper
    187 	"b-not"	oper
    188 	"b-or"	oper
    189 	"basis"	kw
    190 	"before"	kw
    191 	"beginning"	kw
    192 	"binary"	kw
    193 	"bit"	kw
    194 	"bits"	kw
    195 	"blank"	kw
    196 	"block"	kw
    197 	"boolean"	kw
    198 	"bottom"	kw
    199 	"by"	kw
    200 	"call"	kw
    201 	"cancel"	kw
    202 	"cbl"	kw
    203 	"cd"	kw
    204 	"cf"	kw
    205 	"ch"	kw
    206 	"character"	kw
    207 	"characters"	kw
    208 	"class"	kw
    209 	"class-id"	kw
    210 	"clock-units"	kw
    211 	"close"	kw
    212 	"cobol"	kw
    213 	"code"	kw
    214 	"code-set"	kw
    215 	"collating"	kw
    216 	"column"	kw
    217 	"com-reg"	kw
    218 	"comma"	kw
    219 	"commit"	kw
    220 	"common"	kw
    221 	"communication"	kw
    222 	"comp"	kw
    223 	"comp-1"	kw
    224 	"comp-2"	kw
    225 	"comp-3"	kw
    226 	"comp-4"	kw
    227 	"comp-5"	kw
    228 	"comp-6"	kw
    229 	"comp-7"	kw
    230 	"comp-8"	kw
    231 	"comp-9"	kw
    232 	"computational"	kw
    233 	"computational-1"	kw
    234 	"computational-2"	kw
    235 	"computational-3"	kw
    236 	"computational-4"	kw
    237 	"computational-5"	kw
    238 	"computational-6"	kw
    239 	"computational-7"	kw
    240 	"computational-8"	kw
    241 	"computational-9"	kw
    242 	"compute"	kw
    243 	"configuration"	kw
    244 	"connect"	kw
    245 	"contained"	kw
    246 	"contains"	kw
    247 	"content"	kw
    248 	"continue"	kw
    249 	"control"	kw
    250 	"controls"	kw
    251 	"converting"	kw
    252 	"copy"	kw
    253 	"corr"	kw
    254 	"corresponding"	kw
    255 	"count"	kw
    256 	"currency"	kw
    257 	"current"	kw
    258 	"cycle"	kw
    259 	"data"	kw
    260 	"date"	kw
    261 	"date-compiled"	kw
    262 	"date-written"	kw
    263 	"day"	kw
    264 	"day-of-week"	kw
    265 	"db"	kw
    266 	"db-access-control-key"	kw
    267 	"db-data-name"	kw
    268 	"db-exception"	kw
    269 	"db-record-name"	kw
    270 	"db-set-name"	kw
    271 	"db-status"	kw
    272 	"dbcs"	kw
    273 	"de"	kw
    274 	"debug-contents"	kw
    275 	"debug-item"	kw
    276 	"debug-line"	kw
    277 	"debug-name"	kw
    278 	"debug-sub-1"	kw
    279 	"debug-sub-2"	kw
    280 	"debug-sub-3"	kw
    281 	"debugging"	kw
    282 	"decimal-point"	kw
    283 	"declaratives"	kw
    284 	"default"	kw
    285 	"delete"	kw
    286 	"delimited"	kw
    287 	"delimiter"	kw
    288 	"depending"	kw
    289 	"descending"	kw
    290 	"destination"	kw
    291 	"detail"	kw
    292 	"disable"	kw
    293 	"disconnect"	kw
    294 	"display"	kw
    295 	"display-1"	kw
    296 	"display-2"	kw
    297 	"display-3"	kw
    298 	"display-4"	kw
    299 	"display-5"	kw
    300 	"display-6"	kw
    301 	"display-7"	kw
    302 	"display-8"	kw
    303 	"display-9"	kw
    304 	"divide"	kw
    305 	"division"	kw
    306 	"down"	kw
    307 	"duplicate"	kw
    308 	"duplicates"	kw
    309 	"dynamic"	kw
    310 	"egcs"	kw
    311 	"egi"	kw
    312 	"eject"	kw
    313 	"else"	cond
    314 	"emi"	kw
    315 	"empty"	kw
    316 	"enable"	kw
    317 	"end"	kw
    318 	"end-add"	kw
    319 	"end-call"	kw
    320 	"end-compute"	kw
    321 	"end-delete"	kw
    322 	"end-disable"	kw
    323 	"end-divide"	kw
    324 	"end-enable"	kw
    325 	"end-evaluate"	kw
    326 	"end-if"	cond
    327 	"end-invoke"	kw
    328 	"end-multiply"	kw
    329 	"end-of-page"	kw
    330 	"end-perform"	kw
    331 	"end-read"	kw
    332 	"end-receive"	kw
    333 	"end-return"	kw
    334 	"end-rewrite"	kw
    335 	"end-search"	kw
    336 	"end-send"	kw
    337 	"end-start"	kw
    338 	"end-string"	kw
    339 	"end-subtract"	kw
    340 	"end-transceive"	kw
    341 	"end-unstring"	kw
    342 	"end-write"	kw
    343 	"ending"	kw
    344 	"enter"	kw
    345 	"entry"	kw
    346 	"environment"	kw
    347 	"eop"	kw
    348 	"equal"	oper
    349 	"equals"	kw
    350 	"erase"	kw
    351 	"error"	kw
    352 	"esi"	kw
    353 	"evaluate"	kw
    354 	"every"	kw
    355 	"exact"	kw
    356 	"exceeds"	kw
    357 	"exception"	kw
    358 	"exclusive"	kw
    359 	"exit"	kw
    360 	"extend"	kw
    361 	"external"	kw
    362 	"false"	bool
    363 	"fd"	kw
    364 	"fetch"	kw
    365 	"file"	kw
    366 	"file-control"	kw
    367 	"filler"	kw
    368 	"final"	kw
    369 	"find"	kw
    370 	"finish"	kw
    371 	"first"	kw
    372 	"footing"	kw
    373 	"for"	kw
    374 	"form"	kw
    375 	"format"	kw
    376 	"free"	kw
    377 	"from"	kw
    378 	"function"	kw
    379 	"generate"	kw
    380 	"get"	kw
    381 	"giving"	kw
    382 	"global"	kw
    383 	"go"	kw
    384 	"goback"	kw
    385 	"greater"	oper
    386 	"group"	kw
    387 	"heading"	kw
    388 	"high-value"	const
    389 	"high-values"	const
    390 	"i-o"	kw
    391 	"i-o-control"	kw
    392 	"id"	kw
    393 	"identification"	kw
    394 	"if"	cond
    395 	"in"	oper
    396 	"index"	kw
    397 	"index-1"	kw
    398 	"index-2"	kw
    399 	"index-3"	kw
    400 	"index-4"	kw
    401 	"index-5"	kw
    402 	"index-6"	kw
    403 	"index-7"	kw
    404 	"index-8"	kw
    405 	"index-9"	kw
    406 	"indexed"	kw
    407 	"indicate"	kw
    408 	"inherits"	kw
    409 	"initial"	kw
    410 	"initialize"	kw
    411 	"initiate"	kw
    412 	"input"	kw
    413 	"input-output"	kw
    414 	"insert"	kw
    415 	"inspect"	kw
    416 	"installation"	kw
    417 	"into"	kw
    418 	"invalid"	kw
    419 	"invoke"	kw
    420 	"is"	oper
    421 	"just"	kw
    422 	"justified"	kw
    423 	"kanji"	kw
    424 	"keep"	kw
    425 	"key"	kw
    426 	"label"	kw
    427 	"last"	kw
    428 	"ld"	kw
    429 	"leading"	kw
    430 	"left"	kw
    431 	"length"	kw
    432 	"less"	oper
    433 	"limit"	kw
    434 	"limits"	kw
    435 	"linage"	kw
    436 	"linage-counter"	kw
    437 	"line"	kw
    438 	"line-counter"	kw
    439 	"lines"	kw
    440 	"linkage"	kw
    441 	"locally"	kw
    442 	"local-storage"	kw
    443 	"lock"	kw
    444 	"low-value"	const
    445 	"low-values"	const
    446 	"member"	kw
    447 	"memory"	kw
    448 	"merge"	kw
    449 	"message"	kw
    450 	"metaclass"	kw
    451 	"method"	kw
    452 	"method-id"	kw
    453 	"mode"	kw
    454 	"modify"	kw
    455 	"modules"	kw
    456 	"more-labels"	kw
    457 	"move"	kw
    458 	"multiple"	kw
    459 	"multiply"	kw
    460 	"native"	kw
    461 	"negative"	kw
    462 	"next"	kw
    463 	"no"	kw
    464 	"normal"	kw
    465 	"not"	oper
    466 	"null"	const
    467 	"nulls"	const
    468 	"number"	kw
    469 	"numeric"	kw
    470 	"numeric-edited"	kw
    471 	"object"	kw
    472 	"object-computer"	kw
    473 	"occurs"	kw
    474 	"of"	kw
    475 	"off"	kw
    476 	"omitted"	kw
    477 	"on"	kw
    478 	"only"	kw
    479 	"open"	kw
    480 	"optional"	kw
    481 	"or"	oper
    482 	"order"	kw
    483 	"organization"	kw
    484 	"other"	kw
    485 	"output"	kw
    486 	"overflow"	kw
    487 	"override"	kw
    488 	"owner"	kw
    489 	"packed-decimal"	kw
    490 	"padding"	kw
    491 	"page"	kw
    492 	"page-counter"	kw
    493 	"paragraph"	kw
    494 	"password"	kw
    495 	"perform"	kw
    496 	"pf"	kw
    497 	"ph"	kw
    498 	"pic"	kw
    499 	"picture"	kw
    500 	"plus"	kw
    501 	"pointer"	kw
    502 	"position"	kw
    503 	"positive"	kw
    504 	"present"	kw
    505 	"previous"	kw
    506 	"printing"	kw
    507 	"prior"	kw
    508 	"procedure"	kw
    509 	"procedure-pointer"	kw
    510 	"procedures"	kw
    511 	"proceed"	kw
    512 	"processing"	kw
    513 	"program"	kw
    514 	"program-id"	kw
    515 	"protected"	kw
    516 	"purge"	kw
    517 	"queue"	kw
    518 	"quote"	const
    519 	"quotes"	const
    520 	"random"	kw
    521 	"rd"	kw
    522 	"read"	kw
    523 	"ready"	kw
    524 	"realm"	kw
    525 	"receive"	kw
    526 	"reconnect"	kw
    527 	"record"	kw
    528 	"record-name"	kw
    529 	"recording"	kw
    530 	"records"	kw
    531 	"recursive"	kw
    532 	"redefines"	kw
    533 	"reel"	kw
    534 	"reference"	kw
    535 	"references"	kw
    536 	"relation"	kw
    537 	"relative"	kw
    538 	"release"	kw
    539 	"reload"	kw
    540 	"remainder"	kw
    541 	"removal"	kw
    542 	"renames"	kw
    543 	"repeated"	kw
    544 	"replace"	kw
    545 	"replacing"	kw
    546 	"report"	kw
    547 	"reporting"	kw
    548 	"reports"	kw
    549 	"repository"	kw
    550 	"rerun"	kw
    551 	"reserve"	kw
    552 	"reset"	kw
    553 	"retaining"	kw
    554 	"retrieval"	kw
    555 	"return"	kw
    556 	"return-code"	kw
    557 	"returning"	kw
    558 	"reversed"	kw
    559 	"rewind"	kw
    560 	"rewrite"	kw
    561 	"rf"	kw
    562 	"rh"	kw
    563 	"right"	kw
    564 	"rollback"	kw
    565 	"rounded"	kw
    566 	"run"	kw
    567 	"same"	kw
    568 	"sd"	kw
    569 	"search"	kw
    570 	"section"	kw
    571 	"security"	kw
    572 	"segment"	kw
    573 	"segment-limit"	kw
    574 	"select"	kw
    575 	"self"	kw
    576 	"send"	kw
    577 	"sentence"	kw
    578 	"separate"	kw
    579 	"sequence"	kw
    580 	"sequential"	kw
    581 	"service"	kw
    582 	"session-id"	kw
    583 	"set"	kw
    584 	"shared"	kw
    585 	"shift-in"	kw
    586 	"shift-out"	kw
    587 	"sign"	kw
    588 	"size"	kw
    589 	"skip1"	kw
    590 	"skip2"	kw
    591 	"skip3"	kw
    592 	"sort"	kw
    593 	"sort-control"	kw
    594 	"sort-core-size"	kw
    595 	"sort-file-size"	kw
    596 	"sort-merge"	kw
    597 	"sort-message"	kw
    598 	"sort-mode-size"	kw
    599 	"sort-return"	kw
    600 	"source"	kw
    601 	"source-computer"	kw
    602 	"space"	const
    603 	"spaces"	const
    604 	"special-names"	kw
    605 	"standard"	kw
    606 	"standard-1"	kw
    607 	"standard-2"	kw
    608 	"standard-3"	kw
    609 	"standard-4"	kw
    610 	"start"	kw
    611 	"status"	kw
    612 	"stop"	kw
    613 	"store"	kw
    614 	"string"	kw
    615 	"sub-queue-1"	kw
    616 	"sub-queue-2"	kw
    617 	"sub-queue-3"	kw
    618 	"sub-schema"	kw
    619 	"subtract"	kw
    620 	"sum"	kw
    621 	"super"	kw
    622 	"suppress"	kw
    623 	"symbolic"	kw
    624 	"sync"	kw
    625 	"synchronized"	kw
    626 	"table"	kw
    627 	"tally"	kw
    628 	"tallying"	kw
    629 	"tape"	kw
    630 	"tenant"	kw
    631 	"terminal"	kw
    632 	"terminate"	kw
    633 	"test"	kw
    634 	"text"	kw
    635 	"than"	oper
    636 	"then"	kw
    637 	"through"	kw
    638 	"thru"	loop
    639 	"time"	kw
    640 	"timeout"	kw
    641 	"times"	loop
    642 	"title"	kw
    643 	"to"	oper
    644 	"top"	kw
    645 	"trace"	kw
    646 	"trailing"	kw
    647 	"transceive"	kw
    648 	"true"	bool
    649 	"type"	kw
    650 	"unequal"	kw
    651 	"unit"	kw
    652 	"unstring"	kw
    653 	"until"	loop
    654 	"up"	kw
    655 	"update"	kw
    656 	"upon"	kw
    657 	"usage"	kw
    658 	"usage-mode"	kw
    659 	"use"	kw
    660 	"using"	kw
    661 	"valid"	kw
    662 	"validate"	kw
    663 	"value"	kw
    664 	"values"	kw
    665 	"varying"	loop
    666 	"wait"	kw
    667 	"when"	kw
    668 	"when-compiled"	kw
    669 	"with"	kw
    670 	"within"	kw
    671 	"words"	kw
    672 	"working-storage"	kw
    673 	"write"	kw
    674 	"write-only"	kw
    675 	"zero"	const
    676 	"zeroes"	const
    677 	"zeros"	const
    678 done
    679 	"a-zA-Z0-9_\-"	ident
    680 
    681 :kw Keyword
    682 	*	idle	noeat
    683 
    684 :oper Operator
    685 	*	idle	noeat
    686 
    687 :loop Loop
    688 	*	idle	noeat
    689 
    690 :cond Conditional
    691 	*	idle	noeat
    692 
    693 :const Constant
    694 	*	idle	noeat
    695 
    696 :bool Boolean
    697 	*	idle	noeat