cmCommandArgumentParser: remove the variable tokens from the class

Make them local constants in the lexer file.
This commit is contained in:
Rolf Eike Beer 2017-10-25 17:34:01 +02:00
parent 98cb9f3ee9
commit 576c079faa
4 changed files with 32 additions and 32 deletions

View File

@ -674,6 +674,13 @@ Modify cmCommandArgumentLexer.cxx:
/* Include the set of tokens from the parser. */
#include "cmCommandArgumentParserTokens.h"
static const char *DCURLYVariable = "${";
static const char *RCURLYVariable = "}";
static const char *ATVariable = "@";
static const char *DOLLARVariable = "$";
static const char *LCURLYVariable = "{";
static const char *BSLASHVariable = "\\";
/*--------------------------------------------------------------------------*/
#define INITIAL 0
@ -1011,7 +1018,7 @@ YY_RULE_SETUP
{
//std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl;
//yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->DCURLYVariable;
yylvalp->str = DCURLYVariable;
return cal_DCURLY;
}
YY_BREAK
@ -1020,7 +1027,7 @@ YY_RULE_SETUP
{
//std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl;
//yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->RCURLYVariable;
yylvalp->str = RCURLYVariable;
return cal_RCURLY;
}
YY_BREAK
@ -1029,7 +1036,7 @@ YY_RULE_SETUP
{
//std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl;
//yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->ATVariable;
yylvalp->str = ATVariable;
return cal_AT;
}
YY_BREAK
@ -1064,7 +1071,7 @@ case 10:
YY_RULE_SETUP
{
//yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->DOLLARVariable;
yylvalp->str = DOLLARVariable;
return cal_DOLLAR;
}
YY_BREAK
@ -1072,7 +1079,7 @@ case 11:
YY_RULE_SETUP
{
//yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->LCURLYVariable;
yylvalp->str = LCURLYVariable;
return cal_LCURLY;
}
YY_BREAK
@ -1080,7 +1087,7 @@ case 12:
YY_RULE_SETUP
{
//yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->BSLASHVariable;
yylvalp->str = BSLASHVariable;
return cal_BSLASH;
}
YY_BREAK
@ -1088,7 +1095,7 @@ case 13:
YY_RULE_SETUP
{
//yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->BSLASHVariable;
yylvalp->str = BSLASHVariable;
return cal_SYMBOL;
}
YY_BREAK

View File

@ -28,6 +28,13 @@ Modify cmCommandArgumentLexer.cxx:
/* Include the set of tokens from the parser. */
#include "cmCommandArgumentParserTokens.h"
static const char *DCURLYVariable = "${";
static const char *RCURLYVariable = "}";
static const char *ATVariable = "@";
static const char *DOLLARVariable = "$";
static const char *LCURLYVariable = "{";
static const char *BSLASHVariable = "\\";
/*--------------------------------------------------------------------------*/
%}
@ -63,21 +70,21 @@ Modify cmCommandArgumentLexer.cxx:
"${" {
//std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl;
//yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->DCURLYVariable;
yylvalp->str = DCURLYVariable;
return cal_DCURLY;
}
"}" {
//std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl;
//yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->RCURLYVariable;
yylvalp->str = RCURLYVariable;
return cal_RCURLY;
}
"@" {
//std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl;
//yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->ATVariable;
yylvalp->str = ATVariable;
return cal_AT;
}
@ -103,25 +110,25 @@ Modify cmCommandArgumentLexer.cxx:
"$" {
//yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->DOLLARVariable;
yylvalp->str = DOLLARVariable;
return cal_DOLLAR;
}
"{" {
//yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->LCURLYVariable;
yylvalp->str = LCURLYVariable;
return cal_LCURLY;
}
<ESCAPES>"\\" {
//yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->BSLASHVariable;
yylvalp->str = BSLASHVariable;
return cal_BSLASH;
}
<NOESCAPES>"\\" {
//yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->BSLASHVariable;
yylvalp->str = BSLASHVariable;
return cal_SYMBOL;
}

View File

@ -21,13 +21,6 @@ cmCommandArgumentParserHelper::cmCommandArgumentParserHelper()
this->FileLine = -1;
this->FileName = nullptr;
this->RemoveEmpty = true;
this->EmptyVariable[0] = 0;
strcpy(this->DCURLYVariable, "${");
strcpy(this->RCURLYVariable, "}");
strcpy(this->ATVariable, "@");
strcpy(this->DOLLARVariable, "$");
strcpy(this->LCURLYVariable, "{");
strcpy(this->BSLASHVariable, "\\");
this->NoEscapeMode = false;
this->ReplaceAtSyntax = false;
@ -47,7 +40,7 @@ void cmCommandArgumentParserHelper::SetLineFile(long line, const char* file)
const char* cmCommandArgumentParserHelper::AddString(const std::string& str)
{
if (str.empty()) {
return this->EmptyVariable;
return "";
}
char* stVal = new char[str.size() + 1];
strcpy(stVal, str.c_str());
@ -62,7 +55,7 @@ const char* cmCommandArgumentParserHelper::ExpandSpecialVariable(
return this->ExpandVariable(var);
}
if (!var) {
return this->EmptyVariable;
return "";
}
if (strcmp(key, "ENV") == 0) {
std::string str;
@ -72,7 +65,7 @@ const char* cmCommandArgumentParserHelper::ExpandSpecialVariable(
}
return this->AddString(str);
}
return this->EmptyVariable;
return "";
}
if (strcmp(key, "CACHE") == 0) {
if (const char* c =
@ -82,7 +75,7 @@ const char* cmCommandArgumentParserHelper::ExpandSpecialVariable(
}
return this->AddString(c);
}
return this->EmptyVariable;
return "";
}
std::ostringstream e;
e << "Syntax $" << key << "{} is not supported. "

View File

@ -53,13 +53,6 @@ public:
void SetRemoveEmpty(bool b) { this->RemoveEmpty = b; }
const char* GetError() { return this->ErrorString.c_str(); }
char EmptyVariable[1];
char DCURLYVariable[3];
char RCURLYVariable[3];
char ATVariable[3];
char DOLLARVariable[3];
char LCURLYVariable[3];
char BSLASHVariable[3];
private:
std::string::size_type InputBufferPos;