lexer: add `next` macros