Recognize $foo as a variable
authorChris Lattner <sabre@nondot.org>
Sun, 10 Aug 2003 22:04:25 +0000 (22:04 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 10 Aug 2003 22:04:25 +0000 (22:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7712 91177308-0d34-0410-b5e6-96231b3b80d8

support/tools/TableGen/FileLexer.l
support/tools/TableGen/FileParser.y
utils/TableGen/FileLexer.l
utils/TableGen/FileParser.y

index 4f54a520a0ce58228b474f82bab5e96113ff7e29..98370a7fef5d55b860954f027e2902b38ac75e77 100644 (file)
@@ -166,6 +166,8 @@ in             { return IN; }
 
 {Identifier}   { Filelval.StrVal = new std::string(yytext, yytext+yyleng);
                  return ID; }
+${Identifier}  { Filelval.StrVal = new std::string(yytext+1, yytext+yyleng);
+                 return VARNAME; } 
 
 {StringVal}    { Filelval.StrVal = new std::string(yytext+1, yytext+yyleng-1);
                  return STRVAL; }
index 0ab3e5bde0cbd19bf3c3983bd5efb76b6eaecfd0..5b983eb06c7a4271dfe105906e0f5723b3c38238 100644 (file)
@@ -171,7 +171,7 @@ static void addSubClass(Record *SC, const std::vector<Init*> &TemplateArgs) {
 
 %token INT BIT STRING BITS LIST CODE DAG CLASS DEF FIELD LET IN
 %token <IntVal>      INTVAL
-%token <StrVal>      ID STRVAL CODEFRAGMENT
+%token <StrVal>      ID VARNAME STRVAL CODEFRAGMENT
 
 %type <Ty>           Type
 %type <Rec>          ClassInst DefInst Object ObjectBody ClassID
index 4f54a520a0ce58228b474f82bab5e96113ff7e29..98370a7fef5d55b860954f027e2902b38ac75e77 100644 (file)
@@ -166,6 +166,8 @@ in             { return IN; }
 
 {Identifier}   { Filelval.StrVal = new std::string(yytext, yytext+yyleng);
                  return ID; }
+${Identifier}  { Filelval.StrVal = new std::string(yytext+1, yytext+yyleng);
+                 return VARNAME; } 
 
 {StringVal}    { Filelval.StrVal = new std::string(yytext+1, yytext+yyleng-1);
                  return STRVAL; }
index 0ab3e5bde0cbd19bf3c3983bd5efb76b6eaecfd0..5b983eb06c7a4271dfe105906e0f5723b3c38238 100644 (file)
@@ -171,7 +171,7 @@ static void addSubClass(Record *SC, const std::vector<Init*> &TemplateArgs) {
 
 %token INT BIT STRING BITS LIST CODE DAG CLASS DEF FIELD LET IN
 %token <IntVal>      INTVAL
-%token <StrVal>      ID STRVAL CODEFRAGMENT
+%token <StrVal>      ID VARNAME STRVAL CODEFRAGMENT
 
 %type <Ty>           Type
 %type <Rec>          ClassInst DefInst Object ObjectBody ClassID