CHAR [^{}|&$;<> \t\n\'\"\\]
DIGITS [[:digit:]]+
- NAME [[:alpha:]_][[:alnum:][:digit:]_]*
+ NAME [[:alpha:]_][[:alnum:]_]*
-ESC \\.
+ESC \\(.|\n)
+SQCHR [^\']
+DQCHR {ESC}|[^\\\"]
+DQSTR \"{DQCHR}*\"
+SQSTR \'{SQCHR}*\'
- VARIABLE ${NAME}|$\{{NAME}\}|${DIGITS}|$\{{DIGITS}\}|$\?|$\{\?\}
+ SPECIAL \?|\#|\*|\@
+ VARIABLE ${NAME}|$\{{NAME}\}|${DIGITS}|$\{{DIGITS}\}|${SPECIAL}|$\{{SPECIAL}\}
-DQSTR \"([^\\\"]|{ESC})*\"
-SQSTR \'[^\']*\'
WORD ({CHAR}|{DQSTR}|{SQSTR}|{ESC}|{VARIABLE})+
+MULTILINE {WORD}?((\"{DQCHR}*)|(\'{SQCHR}*)|(\\\n))
+
%x SPLIT
%x DQUOTE
%x SQUOTE