From 88d6f0be579103de28940b31d235d81190191d52 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 13 Aug 2013 18:16:50 +0200 Subject: lexer: simplify whitespace handling --- src/config.l | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/src/config.l b/src/config.l index e04903b..bf06446 100644 --- a/src/config.l +++ b/src/config.l @@ -154,26 +154,23 @@ auto { TOKEN(TOK_AUTO); } BEGIN(NEEDSPACE); return TOK_ADDR6; } - -[;:\{\}] { UPDATE_LOCATION; return yytext[0]; } - -[ \t] { yylloc->last_column++; } -\n { yylloc->last_column = 0; yylloc->last_line++; } -\r ; } -{ +{ [;:\{\}] { UPDATE_LOCATION; BEGIN(INITIAL); return yytext[0]; } -[ \t] { yylloc->last_column++; BEGIN(INITIAL); } \n { yylloc->last_column = 0; yylloc->last_line++; BEGIN(INITIAL); } -\r ; + +[ \t\r] | +#.* | +\/\/.* { UPDATE_LOCATION; BEGIN(INITIAL); } + +\/\* { UPDATE_LOCATION; BEGIN(COMMENT); } } \" { UPDATE_LOCATION; BEGIN(STRING); } -[^"\\\n\r] { yylloc->last_column++; yymore(); } +[^"\\\n] { yylloc->last_column++; yymore(); } \n { yylloc->last_line++; yylloc->last_column = 0; yymore(); } -\r { yymore(); } \\. { yylloc->last_column+=2; yymore(); } \\\n { yylloc->last_line++; yylloc->last_column = 0; yymore(); } \" { @@ -202,14 +199,9 @@ auto { TOKEN(TOK_AUTO); } } -#.* { yylloc->last_column += yyleng; } -\/\/.* { yylloc->last_column += yyleng; } - -\/\* { UPDATE_LOCATION; BEGIN(COMMENT); } \*\/ { yylloc->last_column += yyleng; BEGIN(INITIAL); } -[^\n\r] { yylloc->last_column++; } +[^\n] { yylloc->last_column++; } \n { yylloc->last_line++; yylloc->last_column = 0; } -\r {} . { yylloc->first_line = yylloc->last_line; -- cgit v1.2.3