anchor.diff:        io_lib:format("invalid character: ~p", [Ch]);
       {invalid_character_name, Str} ->
         io_lib:format("invalid character name: ~s", [Str]);
  -    {invalid_hex_character_value, Num} ->
  -      io_lib:format("invalid hex character value: ~p", [Num]);
       {invalid_identifier, Str} ->
         io_lib:format("invalid identifier: ~s", [Str]);
       {invalid_identifier, Str, Ch} ->
  
positive.code: %% handled by tagging and returning any unrecognized character, letting
  %% the context determine whether that character is valid or not.
  
  scan_inline_escape(LI) -> % return Octet or {error, Ch}
    case es_lexinput:read_char(LI) of
      -1 ->
        lexer_error(premature_eof);
  
negative.code: %%% Limitations:
  %%% - #!fold-case and #!no-fold-case are not yet implemented
  %%% - "#u8(" for the <bytevector> syntax is not yet implemented
  %%% - the polar, rectangular, and rational number syntaxes are not supported
  %%%
  %%% Extensions:
  