Reusable Lexer (alpha quality: DON'T TOUCH THIS YET)