There is an explicit option for the lexer to support this, but we crash
when -preserve-comments is enabled because it checks for
getTok().getString().empty() to detect the case. This doesn't
work currently because the lexer reports this case as a string of length
1, containing a null byte.
Change the lexer to instead report this case via an empty string, as the
null terminator isn't logically a part of the textual input, and the
check for .empty() seems natural and obvious in the calling code.