The lexer that is used to perform lexical analysis Miden Assembly grammar. The lexer implements
the Iterator trait, so in order to retrieve the tokens, you simply have to iterate over it.
This is a wrapper around the lower-level parser infrastructure which handles orchestrating all
of the pieces needed to parse a ast::Module from source, and run semantic analysis on it.
Scanner handles the low-level details of reading characters from a raw input stream of bytes.
It decodes those bytes into UTF-8 characters, and associates each character with the
miden_debug_types::ByteIndex at which it occurs.