This file contains the source lexer, which behaves like a regular lexer,
but inserts the contents of source files indicated by the “source …”
directive.
This file contains the lexer trait, which is able to work for
the normal lexer, but also for the source and macro lexers, alongside
possible other implementations.