type TokenReader

Description

A TokenReader is like a reader, but returns lex tokens of type Token. It also can tell you what
the text of the most recently returned token is, and where it was found.
The underlying scanner elides all spaces except newline, so the input looks like a stream of
Tokens; original spacing is lost but we don't need it.