From Greg Bonik to ~mcf/cproc
---
Hi Michael,
What a great project you have here. I just randomly discovered it and
decided to have some fun with it over the weekend by implementing the
token concatenation operator in the preprocessor.
I reused the scanner for the token concatenation logic. I
considered a direct implementation instead (i.e. handling each case
like IDENT ## IDENT -> IDENT etc.), but that approach results in a lot
of edge case handling which basically duplicates the scanner logic.
To make that possible, I changed the scanner so that it can read
either from a file or from memory. Inserting an `if` like this into
[message trimmed]