HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/share/joe/syntax/rexx.jsf
# JOE syntax highlight file for REXX

=Idle
=Bad
=Comment
=Constant
=String		+Constant
=Keyword

:idle Idle
	*			idle
	"\""			dquote recolor=-1
	"'"			squote recolor=-1
	"a-zA-Z.!?@_0-9"	symbol buffer
	"/"			idle call=.maybe_comment()

:symbol Idle
	*			idle noeat istrings
	"address"	kw
	"arg"		kw
	"call"		kw
	"do"		kw
	"drop"		kw
	"exit"		kw
	"if"		kw
	"interpret"	kw
	"iterate"	kw
	"leave"		kw
	"nop"		kw
	"numeric"	kw
	"options"	kw
	"parse"		kw
	"procedure"	kw
	"pull"		kw
	"push"		kw
	"queue"		kw
	"return"	kw
	"say"		kw
	"select"	kw
	"signal"	kw
	"trace"		kw
	"upper"		kw
	"then"		kw
	"end"		kw
	"else"		kw
	"when"		kw
	"otherwise"	kw
done
	"a-zA-Z.!?@_0-9"	symbol

:kw Keyword
	*		idle noeat

:squote String string
	*	squote
	"'"	idle

:dquote String string
	*	dquote
	"\""	idle

#
# Subroutine to parse recursive /* */ comments
#

.subr maybe_comment

:maybe_comment Idle
	*		maybe_comment return noeat
	"*"		comment recolor=-2

:comment Comment comment
	*	comment
	"BFHNTX" comment noeat call=comment_todo.comment_todo()
	"*"	maybe_done
	"/"	comment call=.maybe_comment()

:maybe_done Comment comment
	*	comment noeat
	"/"	comment	return

.end