-record(lexer, { source :: binary(), ignore_comments :: boolean(), ignore_whitespace :: boolean(), errors :: list(pearl:error()), splitters :: pearl:splitters() }).