The base trait which all lexers which want to interact with
lrpar must implement.
Iterate over all the lexemes in this lexer. Note that:
- The lexer may or may not stop after the first LexError is encountered.
- There are no guarantees about what happens if this function is called more than once.
For example, a streaming lexer may only produce Lexemes on the first call.