Fix bug where hex (0x[a-f0-9]+) is output as a NUMBER and WORD
Update tests; add in a hex test for all languages.