anchor.diff:      end.
   
   
  +% Search file tokens for an export header, then perform processing.
   find_exports({ok, Toks, _}) ->
       find_exports(Toks);
   
  
positive.code:     badexp.
  
  
  match_export_lines([{atom, Line, Name} | [{'(', _} | Toks]], ExpList, ExpMap) ->
      {NextToks, DefAtom} = get_definition_atom(Toks, Name, 0),
      {NewList, Found} = match_export_atom(DefAtom, ExpList, []),
      case Found of
          true ->
  
negative.code: -module(tokdata).
  -export([map_export_data/1]).
  
  
  % Returns a map of the line numbers of exported functions keyed by function name/arity.
  % Throughout the file, this key is referred to as an "export atom" or "definition atom".
  map_export_data(Filename) ->
      Toks = tokenize_file(Filename),
      match_export_lines(Toks, find_exports(Toks), #{}).
  
  
  % Scans and tokenizes a given erlang file; not dissimilar to coregen code that tokenizes core erlang.
  % todo: add tokenize_erl/tokenize_core functions to lib?
  tokenize_file(Filename) ->
      case file:read_file(Filename) of
          {ok, Bin} ->
  