Add initial lexer and parser support for shifting values.  Every use of this
will lead to it being rejected though.

llvm-svn: 21335
diff --git a/llvm/utils/TableGen/FileLexer.l b/llvm/utils/TableGen/FileLexer.l
index 08daf2f..a433587 100644
--- a/llvm/utils/TableGen/FileLexer.l
+++ b/llvm/utils/TableGen/FileLexer.l
@@ -195,6 +195,11 @@
 let            { return LET; }
 in             { return IN; }
 
+!sra           { return SRATOK; }
+!srl           { return SRLTOK; }
+!shl           { return SHLTOK; }
+
+
 {Identifier}   { Filelval.StrVal = new std::string(yytext, yytext+yyleng);
                  return ID; }
 ${Identifier}  { Filelval.StrVal = new std::string(yytext+1, yytext+yyleng);