lexer: supports lookahead

- debugging is now using the compiler directive
- lexer now can look one token ahead (useful for group parsing)