3fecf9ddcd
The current regular expression causes all letters and spaces (among other characters) following the appearance of a digit to be classed as a literal, including C identifiers which may need to be expanded. The expression was intended to catch the remaining characters that were not covered by the first two rules ([^a-zA-Z0-9'"#/\\\n]+ and {cident}), but the [^'"#/\\\n] expression caught {cident} as well. While one solution would have been just to catch the expression that match [a-zA-Z0-9]* that don't match {cident}, i.e. [0-9][a-zA-Z0-9]*, in the interests of avoiding unnecessary multiple LITERALs being generated and then combined during parsing the expression also includes the first expression, making it [0-9][a-zA-Z0-9]*[^a-zA-Z0-9'"#/\\\n]*. |
||
---|---|---|
.. | ||
Makefile.in | ||
ppl.l | ||
ppy.y | ||
preproc.c | ||
wpp.c | ||
wpp_private.h |