anchor.diff:  %% 16#04: initial	(used by the reader; also allows #\@)
   %% 16#08: numeric
   %% 16#10: subsequent	(used by the reader)
  -%% 16#20: exponent	(used by the reader)
   
   char_is_type(Ch, Mask) ->
     ChTypeTab = % indexed by [-1, 255] + 1
  
positive.code: char_is_initial(Ch) -> char_is_type(Ch, 16#04).
  char_is_numeric(Ch) -> char_is_type(Ch, 16#08).
  char_is_subsequent(Ch) -> char_is_type(Ch, 16#10).
  char_is_exponent(Ch) -> char_is_type(Ch, 16#20).
  char_is_eof(Ch) -> Ch =:= -1.
  
  char_value(Ch) ->
  
negative.code: 	 char_is_initial/1,	% [-1, 255] -> true | false
  	 char_is_numeric/1,	% [-1, 255] -> true | false
  	 char_is_subsequent/1,	% [-1, 255] -> true | false
  	 char_is_eof/1,		% [-1, 255] -> true | false
  	 char_value/1]).	% [-1, 255] -> [0-15, 255]
  
  