Perform "re lexing" on string list values rathern than on text.
authorCarl Worth <cworth@cworth.org>
Wed, 19 May 2010 20:28:24 +0000 (13:28 -0700)
committerCarl Worth <cworth@cworth.org>
Wed, 19 May 2010 20:28:24 +0000 (13:28 -0700)
commitaaa9acbf10b7a8e7dac061885ef95823ad27f80e
treea3985624833631924cbb1a3505ddc92928267e69
parent71c59ec66bc258be6a641b26f793060f6d9522c8
Perform "re lexing" on string list values rathern than on text.

Previously, we would pass original strings back to the original lexer
whenever we needed to re-lex something, (such as an expanded macro or
a macro argument). Now, we instead parse the macro or argument
originally to a string list, and then re-lex by simply returning each
string from this list in turn.

We do this in the recently added glcpp_parser_lex function that sits
on top of the lower-level glcpp_lex that only deals with text.

This doesn't change any behavior (at least according to the existing
test suite which all still passes) but it brings us much closer to
being able to "finalize" an unexpanded macro as required by the
specification.
glcpp-lex.l
glcpp-parse.y
glcpp.h