OSDN Git Service

Add support for field exprs
authorChris Lattner <sabre@nondot.org>
Mon, 2 Dec 2002 16:43:43 +0000 (16:43 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 2 Dec 2002 16:43:43 +0000 (16:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4850 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 624a797..38efb83 100644 (file)
@@ -258,6 +258,13 @@ Value : INTVAL {
   } | '[' DefList ']' {
     $$ = new ListInit(*$2);
     delete $2;
+  } | Value '.' ID {
+    if (!$1->getFieldType(*$3)) {
+      err() << "Cannot access field '" << *$3 << "' of value '" << *$1 << "!\n";
+      abort();
+    }
+    $$ = new FieldInit($1, *$3);
+    delete $3;
   };
 
 DefList : /*empty */ {
index 624a797..38efb83 100644 (file)
@@ -258,6 +258,13 @@ Value : INTVAL {
   } | '[' DefList ']' {
     $$ = new ListInit(*$2);
     delete $2;
+  } | Value '.' ID {
+    if (!$1->getFieldType(*$3)) {
+      err() << "Cannot access field '" << *$3 << "' of value '" << *$1 << "!\n";
+      abort();
+    }
+    $$ = new FieldInit($1, *$3);
+    delete $3;
   };
 
 DefList : /*empty */ {