diff options
author | marha <marha@users.sourceforge.net> | 2012-10-26 08:13:08 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-10-26 08:13:08 +0200 |
commit | af2d8fb974d476eadcd3cde3baebd038f5750600 (patch) | |
tree | 9e24173d3f3dacb518a614984d26eaf7e87c7598 /mesalib/src/glsl/glcpp/glcpp-lex.l | |
parent | f6c8097ba5b5bb714185762dbd0ff9958d23e804 (diff) | |
parent | 8d86f8c566c4181c846a872a5a2f88718e635a72 (diff) | |
download | vcxsrv-af2d8fb974d476eadcd3cde3baebd038f5750600.tar.gz vcxsrv-af2d8fb974d476eadcd3cde3baebd038f5750600.tar.bz2 vcxsrv-af2d8fb974d476eadcd3cde3baebd038f5750600.zip |
Merge remote-tracking branch 'origin/released'
* origin/released:
fontconfig pixman mesa git update 26 oct 2012
Diffstat (limited to 'mesalib/src/glsl/glcpp/glcpp-lex.l')
-rw-r--r-- | mesalib/src/glsl/glcpp/glcpp-lex.l | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/mesalib/src/glsl/glcpp/glcpp-lex.l b/mesalib/src/glsl/glcpp/glcpp-lex.l index 7ab58cb28..783c54549 100644 --- a/mesalib/src/glsl/glcpp/glcpp-lex.l +++ b/mesalib/src/glsl/glcpp/glcpp-lex.l @@ -67,7 +67,7 @@ void glcpp_set_column (int column_no , yyscan_t yyscanner); %option stack %option never-interactive -%x DONE COMMENT UNREACHABLE SKIP +%x DONE COMMENT UNREACHABLE SKIP DEFINE SPACE [[:space:]] NONSPACE [^[:space:]] @@ -184,14 +184,22 @@ HEXADECIMAL_INTEGER 0[xX][0-9a-fA-F]+[uU]? glcpp_error(yylloc, yyextra, "#error%s", p); } -{HASH}define{HSPACE}+/{IDENTIFIER}"(" { +{HASH}define{HSPACE}+ { yyextra->space_tokens = 0; - return HASH_DEFINE_FUNC; + yy_push_state(DEFINE, yyscanner); + return HASH_DEFINE; } -{HASH}define { - yyextra->space_tokens = 0; - return HASH_DEFINE_OBJ; +<DEFINE>{IDENTIFIER}/"(" { + yy_pop_state(yyscanner); + yylval->str = ralloc_strdup (yyextra, yytext); + return FUNC_IDENTIFIER; +} + +<DEFINE>{IDENTIFIER} { + yy_pop_state(yyscanner); + yylval->str = ralloc_strdup (yyextra, yytext); + return OBJ_IDENTIFIER; } {HASH}undef { |