[Mesa-dev] [PATCH 2/4] glsl/glcpp: Combine the two rules matching any character
Carl Worth
cworth at cworth.org
Tue Jul 1 15:25:50 PDT 2014
Using a single rule here means that we can use the <*> syntax to match
all start conditions. This makes the catch-all rule more robust against
the addition of future start conditions, (no need to maintain an ever-
growing list of start conditions for this rul).
---
src/glsl/glcpp/glcpp-lex.l | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/glsl/glcpp/glcpp-lex.l b/src/glsl/glcpp/glcpp-lex.l
index e82b85d..333d4ae 100644
--- a/src/glsl/glcpp/glcpp-lex.l
+++ b/src/glsl/glcpp/glcpp-lex.l
@@ -542,17 +542,17 @@ HEXADECIMAL_INTEGER 0[xX][0-9a-fA-F]+[uU]?
* rule, then we have made a mistake above and need to fix one or more
* of the preceding patterns to match that input. */
-<INITIAL,COMMENT,DEFINE,DONE,HASH,NEWLINE_CATCHUP>. {
+<*>. {
glcpp_error(yylloc, yyextra, "Internal compiler error: Unexpected character: %s", yytext);
-}
/* We don't actually use the UNREACHABLE start condition. We
- only have this action here so that we can pretend to call some
+ only have this block here so that we can pretend to call some
generated functions, (to avoid "defined but not used"
warnings. */
-<UNREACHABLE>. {
- unput('.');
- yy_top_state(yyextra);
+ if (YY_START == UNREACHABLE) {
+ unput('.');
+ yy_top_state(yyextra);
+ }
}
%%
--
2.0.0
More information about the mesa-dev
mailing list