One way to do it is to use a single regular expression to match comments. For example a /* .. */ multiline comment can be matched by
"/*" (("*")* ~["*"])* ("*" ("*")* "/"?)?
Here I made the final "*/" optional. (The best way to come up with this sort of regular expression, in my experience, is to convert an NDFA to an RE, if you know how to do that.)
Another way to do it is to allow an empty string to end a comment. Add these two rules.
<XML_COMMENT> TOKEN : { <XML_COMMENT_END: "" > : DEFAULT }
<XSCRIPT_COMMENT> TOKEN : { <X_SCRIPT_COMMENT_END: "" > : DEFAULT }