http://www.cobase.cs.ucla.edu/pub/javacc/
Other languages (Perl, PHP).... well, if a tokenizer exists, it could be done, it's just a bit trickier...
Yours,
Tom