Iterate over a token list expandably, without dropping spaces or braced groups
Description
Usage: \tokmap <command> { <tokens> } applies command over the token list
tokens. Space tokens, left and right braces are replaced with the marker tokens
\tokmap@space, \tokmap@bgroup, and \tokmap@egroup respectively (which are
\ifx-equal to themselves exclusively). For convenience, command may contain
multiple tokens. It is assumed that { and } are the only characters with
category codes 1 (beginning of group) and 2 (end of group) respectively.
Expandable. This package may be used in LaTeX by \usepackage{tokmap}, or in
plain TeX and other formats by \input{tokmap}. See the visualtoks package for
an example application.