fn preprocess(s: &str) -> Result<Vec<Token<'_>>>
Preprocess source text: extract #define directives (line-scoped), tokenize the rest, then expand macro invocations on the token stream.
#define