From 84f12f9298475c810e25d909d70f3cabdf691e39 Mon Sep 17 00:00:00 2001 From: Andy Cedilnik Date: Mon, 13 Jun 2005 10:00:15 -0400 Subject: [PATCH] ENH: Remove some allocations --- Source/cmCommandArgumentLexer.in.l | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/Source/cmCommandArgumentLexer.in.l b/Source/cmCommandArgumentLexer.in.l index fcbfcd872..d314f00c8 100644 --- a/Source/cmCommandArgumentLexer.in.l +++ b/Source/cmCommandArgumentLexer.in.l @@ -99,47 +99,53 @@ Modify cmCommandArgumentLexer.h: "${" { //std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl; - yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext)); + //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext)); + yylvalp->str = yyextra->m_DCURLYVariable; return cal_DCURLY; } "}" { //std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl; - yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext)); + //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext)); + yylvalp->str = yyextra->m_RCURLYVariable; return cal_RCURLY; } "@" { //std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl; - yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext)); + //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext)); + yylvalp->str = yyextra->m_ATVariable; return cal_AT; } -[A-Za-z0-9_]+ { +[A-Za-z0-9_.]+ { //std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl; yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext)); return cal_NAME; } -[^A-Za-z0-9_${}\\@]+|\\. { +[^\${}\\@]+|\\. { //std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl; yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext)); return cal_SYMBOL; } "$" { - yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext)); + //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext)); + yylvalp->str = yyextra->m_DOLLARVariable; return cal_DOLLAR; } "{" { - yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext)); + //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext)); + yylvalp->str = yyextra->m_LCURLYVariable; return cal_LCURLY; } -.|\n { - //std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl; - return cal_ERROR; +"\\" { + //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext)); + yylvalp->str = yyextra->m_BSLASHVariable; + return cal_BSLASH; } %%