syntax dex

state start code
	char " \t" this
	char # comment
	noeat command

state comment
	char "\n" start
	eat this

state command code
	char "'" sq
	char '"' dq
	char "\n" start
	char "\\" escape
	char -b \$ variable
	char ";*?[]{}" this special
	eat this

state sq string
	char "'" command string
	char "\n" start
	eat this

state dq string
	char -b "\\" dq-escape
	char '"' command string
	char "\n" start
	eat this

state dq-escape special
	char "abfnrtv'\\\"" dq special
	char x hex1
	eat dq error

state hex1 special
	char 0-9a-fA-F hex2
	char '"' command error
	eat dq error

state hex2 special
	char 0-9a-fA-F dq special
	char '"' command error
	eat dq error

state escape special
	char "\n" command
	eat command special

state variable
	char -b a-zA-Z_ this
	noeat command
