Lexer tests

This may also be the source of the makefile weirdness you were seeing, although I'm not quite sure.