diff options
author | Carl Worth <cworth@cworth.org> | 2010-05-29 05:07:24 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-05-29 05:07:24 -0700 |
commit | 631016946ca8134244c4e58bef6863d204b1119b (patch) | |
tree | 5d6eb18bcb55307c2306bf1685f07c5d4818b990 | |
parent | 681afbc855c86df8c3521ccdfadb7f16b9729baa (diff) |
Fix pass-through of '=' and add a test for it.
Previously '=' was not included in our PUNCTUATION regeular expression,
but it *was* excldued from our OTHER regular expression, so we were
getting the default (and hamful) lex action of just printing it.
The test we add here is named "punctuator" with the idea that we can
extend it as needed for other punctuator testing.
-rw-r--r-- | glcpp-lex.l | 2 | ||||
-rw-r--r-- | glcpp-parse.y | 1 | ||||
-rw-r--r-- | tests/071-punctuator.c | 1 |
3 files changed, 3 insertions, 1 deletions
diff --git a/glcpp-lex.l b/glcpp-lex.l index 70d47d2..52269c6 100644 --- a/glcpp-lex.l +++ b/glcpp-lex.l @@ -38,7 +38,7 @@ NEWLINE [\n] HSPACE [ \t] HASH ^{HSPACE}*#{HSPACE}* IDENTIFIER [_a-zA-Z][_a-zA-Z0-9]* -PUNCTUATION [][(){}.&*~!/%<>^|;,+-] +PUNCTUATION [][(){}.&*~!/%<>^|;,=+-] OTHER [^][(){}.&*~!/%<>^|;,=#[:space:]+-]+ DECIMAL_INTEGER [1-9][0-9]*[uU]? diff --git a/glcpp-parse.y b/glcpp-parse.y index c89d7bf..01ca08e 100644 --- a/glcpp-parse.y +++ b/glcpp-parse.y @@ -426,6 +426,7 @@ operator: | OR { $$ = OR; } | ';' { $$ = ';'; } | ',' { $$ = ','; } +| '=' { $$ = '='; } | PASTE { $$ = PASTE; } | DEFINED { $$ = DEFINED; } ; diff --git a/tests/071-punctuator.c b/tests/071-punctuator.c new file mode 100644 index 0000000..959d682 --- /dev/null +++ b/tests/071-punctuator.c @@ -0,0 +1 @@ +a = b |