Lexer uses macro functions now