diff options
author | Carl Worth <cworth@cworth.org> | 2010-05-14 17:29:24 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-05-14 17:29:24 -0700 |
commit | e36a4d5be9a9fa3abc4fb5d0b6c3601934f7a343 (patch) | |
tree | 6c6f6d97a1a29a3fc31655d8c125587a9a40af99 | |
parent | 81f01432bd4aad8e8b87ae273eb05297e35eff07 (diff) |
Fix two whitespace bugs in the lexer.
The first bug was not allowing whitespace between '#' and the
directive name.
The second bug was swallowing a terminating newline along with any
trailing whitespace on a line.
With these two fixes, and the previous commit to stop emitting SPACE
tokens, the recently added extra-whitespace test now passes.
-rw-r--r-- | glcpp-lex.l | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/glcpp-lex.l b/glcpp-lex.l index 3c9dda46d4..97ff1175f1 100644 --- a/glcpp-lex.l +++ b/glcpp-lex.l @@ -39,7 +39,7 @@ SPACE [[:space:]] NONSPACE [^[:space:]] NEWLINE [\n] HSPACE [ \t] -HASH ^{HSPACE}*# +HASH ^{HSPACE}*#{HSPACE}* IDENTIFIER [_a-zA-Z][_a-zA-Z0-9]* TOKEN [^[:space:](),]+ @@ -109,6 +109,6 @@ TOKEN [^[:space:](),]+ return NEWLINE; } -{SPACE}+ +{HSPACE}+ %% |