regenerate

llvm-svn: 27313
This commit is contained in:
Chris Lattner 2006-03-31 21:54:11 +00:00
parent 5fabd2c311
commit 914742aa1e
5 changed files with 420 additions and 422 deletions

View File

@ -306,39 +306,40 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
*yy_cp = '\0'; \
yy_c_buf_p = yy_cp;
#define YY_NUM_RULES 31
#define YY_END_OF_BUFFER 32
static yyconst short int yy_acclist[129] =
#define YY_NUM_RULES 32
#define YY_END_OF_BUFFER 33
static yyconst short int yy_acclist[130] =
{ 0,
25, 25, 32, 30, 31, 23, 30, 31, 23, 31,
30, 31, 30, 31, 30, 31, 30, 31, 30, 31,
22, 30, 31, 22, 30, 31, 19, 30, 31, 30,
31, 19, 30, 31, 19, 30, 31, 19, 30, 31,
19, 30, 31, 19, 30, 31, 19, 30, 31, 19,
30, 31, 25, 31, 26, 31, 28, 31, 23, 21,
20, 22, 24, 1, 19, 19, 19, 19, 19, 19,
19, 15, 19, 19, 19, 19, 25, 26, 26, 29,
28, 27, 28, 20, 1, 22, 22, 5, 19, 19,
19, 10, 19, 12, 19, 19, 19, 4, 19, 14,
26, 26, 33, 31, 32, 24, 31, 32, 24, 32,
31, 32, 31, 32, 31, 32, 31, 32, 31, 32,
23, 31, 32, 23, 31, 32, 20, 31, 32, 31,
32, 20, 31, 32, 20, 31, 32, 20, 31, 32,
20, 31, 32, 20, 31, 32, 20, 31, 32, 20,
31, 32, 26, 32, 27, 32, 29, 32, 24, 22,
21, 23, 25, 1, 20, 20, 20, 20, 20, 20,
20, 15, 20, 20, 20, 20, 26, 27, 27, 30,
29, 28, 29, 21, 1, 23, 23, 5, 20, 20,
20, 10, 20, 12, 20, 20, 20, 4, 20, 14,
19, 19, 19, 18, 16, 17, 3, 6, 19, 19,
9, 19, 19, 19, 8, 19, 19, 11, 19, 13,
19, 19, 19, 19, 7, 19, 19, 2
20, 20, 20, 18, 16, 17, 3, 6, 20, 20,
9, 20, 20, 20, 8, 20, 20, 11, 20, 13,
20, 20, 20, 20, 7, 20, 20, 19, 2
} ;
static yyconst short int yy_accept[101] =
static yyconst short int yy_accept[109] =
{ 0,
1, 1, 1, 2, 3, 4, 6, 9, 11, 13,
15, 17, 19, 21, 24, 27, 30, 32, 35, 38,
41, 44, 47, 50, 53, 55, 57, 59, 60, 60,
60, 61, 62, 63, 64, 65, 65, 65, 66, 66,
67, 68, 69, 70, 71, 72, 74, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 84, 84, 85,
86, 87, 88, 88, 88, 90, 91, 92, 94, 96,
97, 98, 100, 102, 103, 104, 105, 106, 107, 107,
108, 110, 111, 113, 114, 115, 117, 118, 120, 122,
123, 124, 125, 127, 128, 128, 128, 128, 129, 129
78, 79, 80, 81, 82, 83, 84, 84, 84, 84,
85, 86, 87, 88, 88, 88, 90, 91, 92, 94,
96, 97, 98, 100, 102, 103, 104, 105, 106, 107,
107, 107, 108, 110, 111, 113, 114, 115, 117, 118,
118, 120, 122, 123, 124, 124, 125, 127, 127, 128,
128, 128, 128, 128, 129, 129, 130, 130
} ;
static yyconst int yy_ec[256] =
@ -381,98 +382,100 @@ static yyconst int yy_meta[37] =
6, 6, 6, 6, 1, 1
} ;
static yyconst short int yy_base[113] =
static yyconst short int yy_base[121] =
{ 0,
0, 0, 29, 30, 199, 200, 39, 42, 167, 191,
0, 36, 42, 42, 45, 0, 161, 169, 33, 41,
168, 165, 42, 160, 0, 57, 61, 70, 45, 185,
200, 0, 66, 200, 0, 69, 0, 0, 154, 157,
170, 166, 162, 162, 162, 62, 151, 151, 151, 0,
75, 76, 200, 79, 200, 80, 153, 73, 0, 0,
81, 0, 143, 161, 146, 145, 153, 0, 0, 147,
146, 0, 0, 140, 145, 200, 200, 200, 134, 200,
0, 138, 0, 147, 134, 0, 138, 0, 0, 120,
97, 77, 0, 93, 95, 60, 45, 200, 200, 101,
0, 0, 29, 30, 207, 208, 39, 42, 175, 199,
0, 36, 42, 42, 45, 0, 169, 177, 33, 41,
176, 173, 42, 168, 0, 57, 61, 70, 45, 193,
208, 0, 67, 208, 0, 70, 0, 0, 162, 165,
178, 174, 170, 170, 170, 63, 159, 159, 159, 0,
76, 77, 208, 80, 208, 81, 161, 74, 157, 0,
0, 82, 0, 150, 168, 153, 152, 160, 0, 0,
154, 153, 0, 0, 147, 152, 208, 208, 208, 157,
140, 208, 0, 144, 0, 153, 140, 0, 144, 142,
0, 0, 149, 145, 140, 145, 0, 122, 94, 104,
107, 109, 112, 118, 124, 130, 133, 139, 142, 147,
153, 159
96, 68, 60, 208, 45, 208, 208, 102, 108, 110,
113, 119, 125, 131, 134, 140, 143, 148, 154, 160
} ;
static yyconst short int yy_def[113] =
static yyconst short int yy_def[121] =
{ 0,
99, 1, 100, 100, 99, 99, 99, 99, 99, 101,
102, 99, 99, 99, 99, 103, 99, 103, 103, 103,
103, 103, 103, 103, 104, 105, 106, 99, 99, 101,
99, 107, 99, 99, 108, 99, 109, 103, 110, 103,
103, 103, 103, 103, 103, 103, 103, 103, 103, 104,
105, 105, 99, 106, 99, 106, 99, 99, 107, 108,
99, 109, 110, 111, 103, 103, 103, 103, 103, 103,
103, 103, 103, 103, 103, 99, 99, 99, 110, 99,
103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
103, 103, 103, 103, 99, 112, 112, 99, 0, 99,
107, 1, 108, 108, 107, 107, 107, 107, 107, 109,
110, 107, 107, 107, 107, 111, 107, 111, 111, 111,
111, 111, 111, 111, 112, 113, 114, 107, 107, 109,
107, 115, 107, 107, 116, 107, 117, 111, 118, 111,
111, 111, 111, 111, 111, 111, 111, 111, 111, 112,
113, 113, 107, 114, 107, 114, 107, 107, 107, 115,
116, 107, 117, 118, 119, 111, 111, 111, 111, 111,
111, 111, 111, 111, 111, 111, 107, 107, 107, 107,
118, 107, 111, 111, 111, 111, 111, 111, 111, 107,
111, 111, 111, 111, 107, 111, 111, 107, 111, 107,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99
107, 107, 120, 107, 120, 107, 0, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107
} ;
static yyconst short int yy_nxt[237] =
static yyconst short int yy_nxt[245] =
{ 0,
6, 7, 8, 7, 9, 10, 11, 6, 12, 13,
14, 15, 15, 16, 16, 17, 6, 16, 18, 19,
20, 16, 21, 16, 16, 22, 23, 16, 16, 16,
24, 16, 16, 16, 6, 6, 26, 26, 27, 27,
28, 28, 28, 28, 28, 28, 33, 33, 33, 34,
98, 35, 33, 33, 33, 33, 33, 33, 43, 41,
36, 42, 44, 47, 52, 98, 53, 48, 55, 57,
56, 28, 28, 28, 58, 37, 33, 33, 33, 61,
61, 71, 99, 52, 99, 53, 99, 99, 99, 56,
77, 61, 61, 72, 95, 95, 95, 95, 94, 78,
106, 35, 33, 33, 33, 33, 33, 33, 43, 41,
36, 42, 44, 47, 52, 106, 53, 48, 55, 57,
56, 28, 28, 28, 58, 37, 59, 33, 33, 33,
62, 62, 72, 107, 52, 107, 53, 107, 107, 107,
56, 78, 62, 62, 73, 101, 101, 101, 101, 104,
96, 25, 25, 25, 25, 25, 25, 30, 30, 30,
30, 30, 30, 32, 32, 38, 38, 38, 50, 50,
93, 50, 50, 50, 51, 51, 51, 51, 51, 51,
54, 54, 54, 54, 54, 54, 59, 59, 59, 60,
92, 60, 60, 60, 60, 62, 62, 63, 63, 63,
63, 63, 63, 79, 79, 79, 79, 79, 79, 97,
97, 97, 97, 97, 97, 91, 90, 89, 88, 64,
87, 86, 85, 84, 83, 82, 81, 80, 64, 76,
75, 74, 73, 70, 69, 68, 67, 66, 65, 64,
31, 49, 46, 45, 40, 39, 31, 29, 99, 5,
79, 103, 25, 25, 25, 25, 25, 25, 30, 30,
30, 30, 30, 30, 32, 32, 38, 38, 38, 50,
50, 102, 50, 50, 50, 51, 51, 51, 51, 51,
51, 54, 54, 54, 54, 54, 54, 60, 60, 60,
61, 100, 61, 61, 61, 61, 63, 63, 64, 64,
64, 64, 64, 64, 81, 81, 81, 81, 81, 81,
105, 105, 105, 105, 105, 105, 99, 98, 97, 96,
95, 94, 93, 92, 91, 65, 90, 89, 88, 87,
86, 85, 84, 83, 82, 65, 80, 77, 76, 75,
74, 71, 70, 69, 68, 67, 66, 65, 31, 49,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99
46, 45, 40, 39, 31, 29, 107, 5, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107
} ;
static yyconst short int yy_chk[237] =
static yyconst short int yy_chk[245] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 3, 4, 3, 4,
7, 7, 7, 8, 8, 8, 12, 12, 12, 13,
97, 13, 14, 14, 14, 15, 15, 15, 20, 19,
14, 19, 20, 23, 26, 96, 26, 23, 27, 29,
27, 28, 28, 28, 29, 14, 33, 33, 33, 36,
36, 46, 51, 52, 51, 52, 54, 56, 54, 56,
58, 61, 61, 46, 94, 94, 95, 95, 92, 58,
105, 13, 14, 14, 14, 15, 15, 15, 20, 19,
14, 19, 20, 23, 26, 103, 26, 23, 27, 29,
27, 28, 28, 28, 29, 14, 29, 33, 33, 33,
36, 36, 46, 51, 52, 51, 52, 54, 56, 54,
56, 58, 62, 62, 46, 99, 99, 101, 101, 102,
95, 100, 100, 100, 100, 100, 100, 101, 101, 101,
101, 101, 101, 102, 102, 103, 103, 103, 104, 104,
91, 104, 104, 104, 105, 105, 105, 105, 105, 105,
106, 106, 106, 106, 106, 106, 107, 107, 107, 108,
90, 108, 108, 108, 108, 109, 109, 110, 110, 110,
110, 110, 110, 111, 111, 111, 111, 111, 111, 112,
112, 112, 112, 112, 112, 87, 85, 84, 82, 79,
75, 74, 71, 70, 67, 66, 65, 64, 63, 57,
49, 48, 47, 45, 44, 43, 42, 41, 40, 39,
30, 24, 22, 21, 18, 17, 10, 9, 5, 99,
58, 101, 108, 108, 108, 108, 108, 108, 109, 109,
109, 109, 109, 109, 110, 110, 111, 111, 111, 112,
112, 100, 112, 112, 112, 113, 113, 113, 113, 113,
113, 114, 114, 114, 114, 114, 114, 115, 115, 115,
116, 98, 116, 116, 116, 116, 117, 117, 118, 118,
118, 118, 118, 118, 119, 119, 119, 119, 119, 119,
120, 120, 120, 120, 120, 120, 96, 95, 94, 93,
90, 89, 87, 86, 84, 81, 80, 76, 75, 72,
71, 68, 67, 66, 65, 64, 59, 57, 49, 48,
47, 45, 44, 43, 42, 41, 40, 39, 30, 24,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99
22, 21, 18, 17, 10, 9, 5, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107
} ;
static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
@ -648,7 +651,7 @@ int yywrap(void) {
using namespace llvm;
#line 652 "Lexer.cpp"
#line 655 "Lexer.cpp"
/* Macros after this point can all be overridden by user definitions in
* section 1.
@ -802,7 +805,7 @@ YY_DECL
#line 180 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
#line 806 "Lexer.cpp"
#line 809 "Lexer.cpp"
if ( yy_init )
{
@ -850,14 +853,14 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 100 )
if ( yy_current_state >= 108 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
*yy_state_ptr++ = yy_current_state;
++yy_cp;
}
while ( yy_current_state != 99 );
while ( yy_current_state != 107 );
yy_find_action:
yy_current_state = *--yy_state_ptr;
@ -986,77 +989,82 @@ YY_RULE_SETUP
YY_BREAK
case 19:
YY_RULE_SETUP
#line 207 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ Filelval.StrVal = new std::string(yytext, yytext+yyleng);
return ID; }
#line 205 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ return STRCONCATTOK; }
YY_BREAK
case 20:
YY_RULE_SETUP
#line 209 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ Filelval.StrVal = new std::string(yytext+1, yytext+yyleng);
return VARNAME; }
#line 208 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ Filelval.StrVal = new std::string(yytext, yytext+yyleng);
return ID; }
YY_BREAK
case 21:
YY_RULE_SETUP
#line 212 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ Filelval.StrVal = new std::string(yytext+1, yytext+yyleng-1);
return STRVAL; }
#line 210 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ Filelval.StrVal = new std::string(yytext+1, yytext+yyleng);
return VARNAME; }
YY_BREAK
case 22:
YY_RULE_SETUP
#line 215 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ Filelval.IntVal = ParseInt(Filetext); return INTVAL; }
#line 213 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ Filelval.StrVal = new std::string(yytext+1, yytext+yyleng-1);
return STRVAL; }
YY_BREAK
case 23:
YY_RULE_SETUP
#line 217 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ /* Ignore whitespace */ }
#line 216 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ Filelval.IntVal = ParseInt(Filetext); return INTVAL; }
YY_BREAK
case 24:
YY_RULE_SETUP
#line 220 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ BEGIN(comment); CommentDepth++; }
#line 218 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ /* Ignore whitespace */ }
YY_BREAK
case 25:
YY_RULE_SETUP
#line 221 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{} /* eat anything that's not a '*' or '/' */
{ BEGIN(comment); CommentDepth++; }
YY_BREAK
case 26:
YY_RULE_SETUP
#line 222 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{} /* eat up '*'s not followed by '/'s */
{} /* eat anything that's not a '*' or '/' */
YY_BREAK
case 27:
YY_RULE_SETUP
#line 223 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ ++CommentDepth; }
{} /* eat up '*'s not followed by '/'s */
YY_BREAK
case 28:
YY_RULE_SETUP
#line 224 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{} /* eat up /'s not followed by *'s */
{ ++CommentDepth; }
YY_BREAK
case 29:
YY_RULE_SETUP
#line 225 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ if (!--CommentDepth) { BEGIN(INITIAL); } }
YY_BREAK
case YY_STATE_EOF(comment):
#line 226 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ err() << "Unterminated comment!\n"; exit(1); }
{} /* eat up /'s not followed by *'s */
YY_BREAK
case 30:
YY_RULE_SETUP
#line 228 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ return Filetext[0]; }
#line 226 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ if (!--CommentDepth) { BEGIN(INITIAL); } }
YY_BREAK
case YY_STATE_EOF(comment):
#line 227 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ err() << "Unterminated comment!\n"; exit(1); }
YY_BREAK
case 31:
YY_RULE_SETUP
#line 230 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
#line 229 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
{ return Filetext[0]; }
YY_BREAK
case 32:
YY_RULE_SETUP
#line 231 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
#line 1060 "Lexer.cpp"
#line 1068 "Lexer.cpp"
case YY_STATE_EOF(INITIAL):
yyterminate();
@ -1345,7 +1353,7 @@ static yy_state_type yy_get_previous_state()
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 100 )
if ( yy_current_state >= 108 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@ -1375,11 +1383,11 @@ yy_state_type yy_current_state;
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
if ( yy_current_state >= 100 )
if ( yy_current_state >= 108 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
yy_is_jam = (yy_current_state == 99);
yy_is_jam = (yy_current_state == 107);
if ( ! yy_is_jam )
*yy_state_ptr++ = yy_current_state;
@ -1940,6 +1948,6 @@ int main()
return 0;
}
#endif
#line 230 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"
#line 231 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileLexer.l"

View File

@ -202,6 +202,7 @@ in { return IN; }
!sra { return SRATOK; }
!srl { return SRLTOK; }
!shl { return SHLTOK; }
!strconcat { return STRCONCATTOK; }
{Identifier} { Filelval.StrVal = new std::string(yytext, yytext+yyleng);

View File

@ -26,11 +26,12 @@
#define SHLTOK 269
#define SRATOK 270
#define SRLTOK 271
#define INTVAL 272
#define ID 273
#define VARNAME 274
#define STRVAL 275
#define CODEFRAGMENT 276
#define STRCONCATTOK 272
#define INTVAL 273
#define ID 274
#define VARNAME 275
#define STRVAL 276
#define CODEFRAGMENT 277
#line 14 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
@ -230,26 +231,26 @@ typedef union {
#define YYFINAL 162
#define YYFINAL 168
#define YYFLAG -32768
#define YYNTBASE 38
#define YYNTBASE 39
#define YYTRANSLATE(x) ((unsigned)(x) <= 276 ? yytranslate[x] : 79)
#define YYTRANSLATE(x) ((unsigned)(x) <= 277 ? yytranslate[x] : 80)
static const char yytranslate[] = { 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 32,
33, 2, 2, 34, 36, 31, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 35, 37, 23,
25, 24, 26, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 33,
34, 2, 2, 35, 37, 32, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 36, 38, 24,
26, 25, 27, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
29, 2, 30, 2, 2, 2, 2, 2, 2, 2,
30, 2, 31, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 27, 2, 28, 2, 2, 2, 2, 2,
2, 2, 28, 2, 29, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
@ -264,7 +265,7 @@ static const char yytranslate[] = { 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22
17, 18, 19, 20, 21, 22, 23
};
#if YYDEBUG != 0
@ -272,42 +273,43 @@ static const short yyprhs[] = { 0,
0, 2, 4, 6, 11, 13, 18, 20, 22, 24,
25, 27, 28, 31, 33, 35, 37, 39, 41, 43,
47, 52, 57, 61, 65, 70, 75, 82, 89, 96,
97, 100, 103, 108, 109, 111, 113, 117, 120, 124,
130, 135, 137, 138, 142, 143, 145, 147, 151, 156,
159, 166, 167, 170, 172, 176, 178, 183, 185, 189,
190, 193, 195, 199, 203, 204, 206, 208, 209, 211,
213, 215, 216, 220, 221, 222, 229, 233, 235, 237,
242, 244, 248, 249, 254, 259, 262, 264, 267
103, 104, 107, 110, 115, 116, 118, 120, 124, 127,
131, 137, 142, 144, 145, 149, 150, 152, 154, 158,
163, 166, 173, 174, 177, 179, 183, 185, 190, 192,
196, 197, 200, 202, 206, 210, 211, 213, 215, 216,
218, 220, 222, 223, 227, 228, 229, 236, 240, 242,
244, 249, 251, 255, 256, 261, 266, 269, 271, 274
};
static const short yyrhs[] = { 19,
0, 5, 0, 4, 0, 6, 23, 18, 24, 0,
3, 0, 7, 23, 39, 24, 0, 8, 0, 9,
0, 38, 0, 0, 12, 0, 0, 25, 43, 0,
19, 0, 42, 0, 18, 0, 21, 0, 22, 0,
26, 0, 27, 50, 28, 0, 19, 23, 51, 24,
0, 43, 27, 48, 28, 0, 29, 50, 30, 0,
43, 31, 19, 0, 32, 42, 46, 33, 0, 43,
29, 48, 30, 0, 15, 32, 43, 34, 43, 33,
0, 16, 32, 43, 34, 43, 33, 0, 17, 32,
43, 34, 43, 33, 0, 0, 35, 20, 0, 43,
44, 0, 45, 34, 43, 44, 0, 0, 45, 0,
18, 0, 18, 36, 18, 0, 18, 18, 0, 47,
34, 18, 0, 47, 34, 18, 36, 18, 0, 47,
34, 18, 18, 0, 47, 0, 0, 27, 48, 28,
0, 0, 51, 0, 43, 0, 51, 34, 43, 0,
40, 39, 19, 41, 0, 52, 37, 0, 13, 19,
49, 25, 43, 37, 0, 0, 54, 53, 0, 37,
0, 27, 54, 28, 0, 38, 0, 38, 23, 51,
24, 0, 56, 0, 57, 34, 56, 0, 0, 35,
57, 0, 52, 0, 59, 34, 52, 0, 23, 59,
24, 0, 0, 60, 0, 19, 0, 0, 62, 0,
63, 0, 63, 0, 0, 58, 67, 55, 0, 0,
0, 10, 64, 69, 61, 70, 66, 0, 11, 65,
66, 0, 68, 0, 71, 0, 19, 49, 25, 43,
0, 73, 0, 74, 34, 73, 0, 0, 13, 76,
74, 14, 0, 75, 27, 77, 28, 0, 75, 72,
0, 72, 0, 77, 72, 0, 77, 0
static const short yyrhs[] = { 20,
0, 5, 0, 4, 0, 6, 24, 19, 25, 0,
3, 0, 7, 24, 40, 25, 0, 8, 0, 9,
0, 39, 0, 0, 12, 0, 0, 26, 44, 0,
20, 0, 43, 0, 19, 0, 22, 0, 23, 0,
27, 0, 28, 51, 29, 0, 20, 24, 52, 25,
0, 44, 28, 49, 29, 0, 30, 51, 31, 0,
44, 32, 20, 0, 33, 43, 47, 34, 0, 44,
30, 49, 31, 0, 15, 33, 44, 35, 44, 34,
0, 16, 33, 44, 35, 44, 34, 0, 17, 33,
44, 35, 44, 34, 0, 18, 33, 44, 35, 44,
34, 0, 0, 36, 21, 0, 44, 45, 0, 46,
35, 44, 45, 0, 0, 46, 0, 19, 0, 19,
37, 19, 0, 19, 19, 0, 48, 35, 19, 0,
48, 35, 19, 37, 19, 0, 48, 35, 19, 19,
0, 48, 0, 0, 28, 49, 29, 0, 0, 52,
0, 44, 0, 52, 35, 44, 0, 41, 40, 20,
42, 0, 53, 38, 0, 13, 20, 50, 26, 44,
38, 0, 0, 55, 54, 0, 38, 0, 28, 55,
29, 0, 39, 0, 39, 24, 52, 25, 0, 57,
0, 58, 35, 57, 0, 0, 36, 58, 0, 53,
0, 60, 35, 53, 0, 24, 60, 25, 0, 0,
61, 0, 20, 0, 0, 63, 0, 64, 0, 64,
0, 0, 59, 68, 56, 0, 0, 0, 10, 65,
70, 62, 71, 67, 0, 11, 66, 67, 0, 69,
0, 72, 0, 20, 50, 26, 44, 0, 74, 0,
75, 35, 74, 0, 0, 13, 77, 75, 14, 0,
76, 28, 78, 29, 0, 76, 73, 0, 73, 0,
78, 73, 0, 78, 0
};
#endif
@ -316,13 +318,13 @@ static const short yyrhs[] = { 19,
static const short yyrline[] = { 0,
223, 234, 236, 238, 240, 242, 244, 246, 248, 252,
252, 254, 254, 256, 273, 275, 277, 280, 283, 285,
298, 326, 333, 336, 343, 346, 354, 360, 366, 374,
377, 381, 386, 392, 395, 398, 401, 414, 428, 430,
443, 459, 461, 461, 465, 467, 471, 474, 478, 488,
490, 496, 496, 497, 497, 499, 501, 505, 510, 515,
518, 522, 525, 530, 531, 531, 533, 533, 535, 542,
560, 572, 586, 591, 593, 595, 599, 608, 608, 610,
615, 615, 618, 618, 621, 624, 628, 628, 630
298, 326, 333, 336, 343, 346, 354, 356, 358, 360,
364, 367, 371, 376, 382, 385, 388, 391, 404, 418,
420, 433, 449, 451, 451, 455, 457, 461, 464, 468,
478, 480, 486, 486, 487, 487, 489, 491, 495, 500,
505, 508, 512, 515, 520, 521, 521, 523, 523, 525,
532, 550, 562, 576, 581, 583, 585, 589, 598, 598,
600, 605, 605, 608, 608, 611, 614, 618, 618, 620
};
#endif
@ -331,137 +333,139 @@ static const short yyrline[] = { 0,
static const char * const yytname[] = { "$","error","$undefined.","INT","BIT",
"STRING","BITS","LIST","CODE","DAG","CLASS","DEF","FIELD","LET","IN","SHLTOK",
"SRATOK","SRLTOK","INTVAL","ID","VARNAME","STRVAL","CODEFRAGMENT","'<'","'>'",
"'='","'?'","'{'","'}'","'['","']'","'.'","'('","')'","','","':'","'-'","';'",
"ClassID","Type","OptPrefix","OptValue","IDValue","Value","OptVarName","DagArgListNE",
"DagArgList","RBitList","BitList","OptBitList","ValueList","ValueListNE","Declaration",
"BodyItem","BodyList","Body","SubClassRef","ClassListNE","ClassList","DeclListNE",
"TemplateArgList","OptTemplateArgList","OptID","ObjectName","ClassName","DefName",
"ObjectBody","@1","ClassInst","@2","@3","DefInst","Object","LETItem","LETList",
"LETCommand","@4","ObjectList","File", NULL
"SRATOK","SRLTOK","STRCONCATTOK","INTVAL","ID","VARNAME","STRVAL","CODEFRAGMENT",
"'<'","'>'","'='","'?'","'{'","'}'","'['","']'","'.'","'('","')'","','","':'",
"'-'","';'","ClassID","Type","OptPrefix","OptValue","IDValue","Value","OptVarName",
"DagArgListNE","DagArgList","RBitList","BitList","OptBitList","ValueList","ValueListNE",
"Declaration","BodyItem","BodyList","Body","SubClassRef","ClassListNE","ClassList",
"DeclListNE","TemplateArgList","OptTemplateArgList","OptID","ObjectName","ClassName",
"DefName","ObjectBody","@1","ClassInst","@2","@3","DefInst","Object","LETItem",
"LETList","LETCommand","@4","ObjectList","File", NULL
};
#endif
static const short yyr1[] = { 0,
38, 39, 39, 39, 39, 39, 39, 39, 39, 40,
40, 41, 41, 42, 43, 43, 43, 43, 43, 43,
43, 43, 43, 43, 43, 43, 43, 43, 43, 44,
44, 45, 45, 46, 46, 47, 47, 47, 47, 47,
47, 48, 49, 49, 50, 50, 51, 51, 52, 53,
53, 54, 54, 55, 55, 56, 56, 57, 57, 58,
58, 59, 59, 60, 61, 61, 62, 62, 63, 64,
65, 67, 66, 69, 70, 68, 71, 72, 72, 73,
74, 74, 76, 75, 72, 72, 77, 77, 78
39, 40, 40, 40, 40, 40, 40, 40, 40, 41,
41, 42, 42, 43, 44, 44, 44, 44, 44, 44,
44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
45, 45, 46, 46, 47, 47, 48, 48, 48, 48,
48, 48, 49, 50, 50, 51, 51, 52, 52, 53,
54, 54, 55, 55, 56, 56, 57, 57, 58, 58,
59, 59, 60, 60, 61, 62, 62, 63, 63, 64,
65, 66, 68, 67, 70, 71, 69, 72, 73, 73,
74, 75, 75, 77, 76, 73, 73, 78, 78, 79
};
static const short yyr2[] = { 0,
1, 1, 1, 4, 1, 4, 1, 1, 1, 0,
1, 0, 2, 1, 1, 1, 1, 1, 1, 3,
4, 4, 3, 3, 4, 4, 6, 6, 6, 0,
2, 2, 4, 0, 1, 1, 3, 2, 3, 5,
4, 1, 0, 3, 0, 1, 1, 3, 4, 2,
6, 0, 2, 1, 3, 1, 4, 1, 3, 0,
2, 1, 3, 3, 0, 1, 1, 0, 1, 1,
1, 0, 3, 0, 0, 6, 3, 1, 1, 4,
1, 3, 0, 4, 4, 2, 1, 2, 1
4, 4, 3, 3, 4, 4, 6, 6, 6, 6,
0, 2, 2, 4, 0, 1, 1, 3, 2, 3,
5, 4, 1, 0, 3, 0, 1, 1, 3, 4,
2, 6, 0, 2, 1, 3, 1, 4, 1, 3,
0, 2, 1, 3, 3, 0, 1, 1, 0, 1,
1, 1, 0, 3, 0, 0, 6, 3, 1, 1,
4, 1, 3, 0, 4, 4, 2, 1, 2, 1
};
static const short yydefact[] = { 0,
68, 68, 83, 78, 79, 87, 0, 89, 67, 69,
70, 74, 71, 60, 0, 0, 86, 88, 65, 0,
72, 77, 43, 81, 0, 0, 10, 66, 75, 1,
56, 58, 61, 0, 0, 0, 84, 0, 85, 11,
0, 62, 0, 60, 0, 0, 52, 54, 73, 36,
42, 0, 0, 82, 5, 3, 2, 0, 0, 7,
8, 9, 0, 64, 10, 76, 0, 0, 0, 16,
14, 17, 18, 19, 45, 45, 0, 15, 47, 0,
59, 10, 38, 0, 0, 44, 80, 0, 0, 12,
63, 0, 0, 0, 0, 0, 46, 0, 14, 34,
0, 0, 0, 57, 0, 0, 55, 0, 53, 37,
39, 0, 0, 0, 49, 0, 0, 0, 0, 20,
23, 30, 35, 0, 0, 0, 24, 48, 43, 50,
41, 0, 4, 6, 13, 0, 0, 0, 21, 0,
32, 0, 25, 22, 26, 0, 40, 0, 0, 0,
31, 30, 0, 27, 28, 29, 33, 0, 51, 0,
0, 0
69, 69, 84, 79, 80, 88, 0, 90, 68, 70,
71, 75, 72, 61, 0, 0, 87, 89, 66, 0,
73, 78, 44, 82, 0, 0, 10, 67, 76, 1,
57, 59, 62, 0, 0, 0, 85, 0, 86, 11,
0, 63, 0, 61, 0, 0, 53, 55, 74, 37,
43, 0, 0, 83, 5, 3, 2, 0, 0, 7,
8, 9, 0, 65, 10, 77, 0, 0, 0, 0,
16, 14, 17, 18, 19, 46, 46, 0, 15, 48,
0, 60, 10, 39, 0, 0, 45, 81, 0, 0,
12, 64, 0, 0, 0, 0, 0, 0, 47, 0,
14, 35, 0, 0, 0, 58, 0, 0, 56, 0,
54, 38, 40, 0, 0, 0, 50, 0, 0, 0,
0, 0, 20, 23, 31, 36, 0, 0, 0, 24,
49, 44, 51, 42, 0, 4, 6, 13, 0, 0,
0, 0, 21, 0, 33, 0, 25, 22, 26, 0,
41, 0, 0, 0, 0, 32, 31, 0, 27, 28,
29, 30, 34, 0, 52, 0, 0, 0
};
static const short yydefgoto[] = { 31,
63, 41, 115, 78, 79, 141, 123, 124, 51, 52,
36, 96, 97, 42, 109, 82, 49, 32, 33, 21,
63, 41, 117, 79, 80, 145, 126, 127, 51, 52,
36, 98, 99, 42, 111, 83, 49, 32, 33, 21,
43, 28, 29, 10, 11, 12, 14, 22, 34, 4,
19, 44, 5, 6, 24, 25, 7, 15, 8, 160
19, 44, 5, 6, 24, 25, 7, 15, 8, 166
};
static const short yypact[] = { 5,
7, 7,-32768,-32768,-32768,-32768, 1, 5,-32768,-32768,
-32768,-32768,-32768, -18, 25, 5,-32768,-32768, 23, 30,
-32768,-32768, 44,-32768, -11, -3, 60,-32768,-32768,-32768,
54,-32768, 40, -8, 63, 62,-32768, 25,-32768,-32768,
50,-32768, 39, -18, 16, 30,-32768,-32768,-32768, -14,
45, 65, 16,-32768,-32768,-32768,-32768, 68, 74,-32768,
-32768,-32768, 80,-32768, 60,-32768, 87, 91, 92,-32768,
98,-32768,-32768,-32768, 16, 16, 106,-32768, 76, 41,
-32768, 8,-32768, 108, 109,-32768, 76, 110, 50, 104,
-32768, 16, 16, 16, 16, 102, 97, 103,-32768, 16,
63, 63, 113,-32768, 16, 115,-32768, 99,-32768,-32768,
-9, 111, 114, 16,-32768, 61, 67, 75, 42,-32768,
-32768, 51, 105, 107, 116, 112,-32768, 76, 44,-32768,
-32768, 119,-32768,-32768, 76, 16, 16, 16,-32768, 121,
-32768, 16,-32768,-32768,-32768, 118,-32768, 81, 84, 89,
-32768, 51, 16,-32768,-32768,-32768,-32768, 33,-32768, 145,
146,-32768
static const short yypact[] = { 67,
-14, -14,-32768,-32768,-32768,-32768, 19, 67,-32768,-32768,
-32768,-32768,-32768, -3, 63, 67,-32768,-32768, 60, 65,
-32768,-32768, 7,-32768, -11, -6, 79,-32768,-32768,-32768,
71,-32768, 4, -16, 82, 73,-32768, 63,-32768,-32768,
61,-32768, 11, -3, -2, 65,-32768,-32768,-32768, 0,
72, 98, -2,-32768,-32768,-32768,-32768, 105, 106,-32768,
-32768,-32768, 111,-32768, 79,-32768, 99, 100, 101, 102,
-32768, 112,-32768,-32768,-32768, -2, -2, 117,-32768, 96,
23,-32768, 32,-32768, 119, 120,-32768, 96, 121, 61,
115,-32768, -2, -2, -2, -2, -2, 113, 108, 114,
-32768, -2, 82, 82, 124,-32768, -2, 126,-32768, 109,
-32768,-32768, 15, 123, 125, -2,-32768, 27, 62, 68,
74, 25,-32768,-32768, 43, 116, 118, 127, 122,-32768,
96, 7,-32768,-32768, 130,-32768,-32768, 96, -2, -2,
-2, -2,-32768, 133,-32768, -2,-32768,-32768,-32768, 129,
-32768, 80, 83, 88, 91,-32768, 43, -2,-32768,-32768,
-32768,-32768,-32768, 44,-32768, 157, 158,-32768
};
static const short yypgoto[] = { -39,
58,-32768,-32768, 71, -53, -1,-32768,-32768,-32768, -34,
20, 77, -44, -52,-32768,-32768,-32768, 117,-32768,-32768,
-32768,-32768,-32768,-32768, 148,-32768,-32768, 120,-32768,-32768,
-32768,-32768,-32768, -2, 122,-32768,-32768,-32768, 136,-32768
69,-32768,-32768, 84, -53, 3,-32768,-32768,-32768, -93,
29, 86, -44, -27,-32768,-32768,-32768, 128,-32768,-32768,
-32768,-32768,-32768,-32768, 162,-32768,-32768, 131,-32768,-32768,
-32768,-32768,-32768, 1, 132,-32768,-32768,-32768, 149,-32768
};
#define YYLAST 164
#define YYLAST 175
static const short yytable[] = { 87,
80, 62, 37, 83, 17, 18, 1, 2, 131, 3,
1, 2, 91, 3, 1, 2, 20, 3, 47, 40,
106, 84, 38, 18, 39, 9, 132, 16, 48, 108,
67, 68, 69, 70, 71, 107, 72, 73, 116, 117,
118, 74, 75, 23, 76, 27, 122, 77, 30, 62,
119, 128, 55, 56, 57, 58, 59, 60, 61, 101,
135, 102, 64, 103, 104, 139, 125, 126, 30, 159,
35, 40, 65, 46, 105, 105, 45, 101, 85, 102,
50, 103, 148, 149, 150, 140, 53, 101, 152, 102,
88, 103, 86, 101, 136, 102, 89, 103, 90, 158,
137, 101, 101, 102, 102, 103, 103, 101, 138, 102,
101, 103, 102, 154, 103, 101, 155, 102, 92, 103,
95, 156, 93, 94, 99, 110, 111, 112, 114, 120,
105, 127, 121, 129, 133, 130, 147, 134, 142, 143,
151, 145, 153, 144, 161, 162, 113, 100, 146, 13,
157, 26, 98, 0, 0, 0, 0, 0, 0, 54,
0, 0, 81, 66
static const short yytable[] = { 88,
81, 62, 37, 1, 2, 9, 3, 17, 18, 128,
129, 47, 67, 68, 69, 70, 71, 72, 84, 73,
74, 48, 39, 38, 75, 76, 18, 77, 1, 2,
78, 3, 20, 134, 35, 64, 85, 92, 46, 118,
119, 120, 121, 40, 108, 65, 16, 106, 125, 143,
62, 135, 122, 131, 103, 110, 104, 107, 105, 107,
109, 139, 138, 55, 56, 57, 58, 59, 60, 61,
103, 103, 104, 104, 105, 105, 1, 2, 144, 3,
30, 165, 23, 27, 30, 152, 153, 154, 155, 103,
40, 104, 157, 105, 45, 103, 140, 104, 53, 105,
50, 103, 141, 104, 164, 105, 86, 103, 142, 104,
103, 105, 104, 159, 105, 103, 160, 104, 103, 105,
104, 161, 105, 103, 162, 104, 87, 105, 89, 90,
91, 93, 94, 95, 96, 97, 101, 112, 113, 114,
116, 123, 107, 130, 124, 132, 133, 136, 151, 137,
146, 147, 149, 156, 158, 148, 167, 168, 115, 163,
150, 102, 100, 13, 26, 0, 0, 0, 0, 54,
0, 0, 0, 82, 66
};
static const short yycheck[] = { 53,
45, 41, 14, 18, 7, 8, 10, 11, 18, 13,
10, 11, 65, 13, 10, 11, 35, 13, 27, 12,
13, 36, 34, 26, 28, 19, 36, 27, 37, 82,
15, 16, 17, 18, 19, 28, 21, 22, 92, 93,
94, 26, 27, 19, 29, 23, 100, 32, 19, 89,
95, 105, 3, 4, 5, 6, 7, 8, 9, 27,
114, 29, 24, 31, 24, 24, 101, 102, 19, 37,
27, 12, 34, 34, 34, 34, 23, 27, 34, 29,
18, 31, 136, 137, 138, 35, 25, 27, 142, 29,
23, 31, 28, 27, 34, 29, 23, 31, 19, 153,
34, 27, 27, 29, 29, 31, 31, 27, 34, 29,
27, 31, 29, 33, 31, 27, 33, 29, 32, 31,
23, 33, 32, 32, 19, 18, 18, 18, 25, 28,
34, 19, 30, 19, 24, 37, 18, 24, 34, 33,
20, 30, 25, 28, 0, 0, 89, 77, 129, 2,
152, 16, 76, -1, -1, -1, -1, -1, -1, 38,
-1, -1, 46, 44
45, 41, 14, 10, 11, 20, 13, 7, 8, 103,
104, 28, 15, 16, 17, 18, 19, 20, 19, 22,
23, 38, 29, 35, 27, 28, 26, 30, 10, 11,
33, 13, 36, 19, 28, 25, 37, 65, 35, 93,
94, 95, 96, 12, 13, 35, 28, 25, 102, 25,
90, 37, 97, 107, 28, 83, 30, 35, 32, 35,
29, 35, 116, 3, 4, 5, 6, 7, 8, 9,
28, 28, 30, 30, 32, 32, 10, 11, 36, 13,
20, 38, 20, 24, 20, 139, 140, 141, 142, 28,
12, 30, 146, 32, 24, 28, 35, 30, 26, 32,
19, 28, 35, 30, 158, 32, 35, 28, 35, 30,
28, 32, 30, 34, 32, 28, 34, 30, 28, 32,
30, 34, 32, 28, 34, 30, 29, 32, 24, 24,
20, 33, 33, 33, 33, 24, 20, 19, 19, 19,
26, 29, 35, 20, 31, 20, 38, 25, 19, 25,
35, 34, 31, 21, 26, 29, 0, 0, 90, 157,
132, 78, 77, 2, 16, -1, -1, -1, -1, 38,
-1, -1, -1, 46, 44
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/share/bison.simple"
@ -1232,80 +1236,74 @@ case 26:
case 27:
#line 354 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.Initializer = yyvsp[-3].Initializer->getBinaryOp(Init::SHL, yyvsp[-1].Initializer);
if (yyval.Initializer == 0) {
err() << "Cannot shift values '" << *yyvsp[-3].Initializer << "' and '" << *yyvsp[-1].Initializer << "'!\n";
exit(1);
}
yyval.Initializer = (new BinOpInit(BinOpInit::SHL, yyvsp[-3].Initializer, yyvsp[-1].Initializer))->Fold();
;
break;}
case 28:
#line 360 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
#line 356 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.Initializer = yyvsp[-3].Initializer->getBinaryOp(Init::SRA, yyvsp[-1].Initializer);
if (yyval.Initializer == 0) {
err() << "Cannot shift values '" << *yyvsp[-3].Initializer << "' and '" << *yyvsp[-1].Initializer << "'!\n";
exit(1);
}
yyval.Initializer = (new BinOpInit(BinOpInit::SRA, yyvsp[-3].Initializer, yyvsp[-1].Initializer))->Fold();
;
break;}
case 29:
#line 366 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
#line 358 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.Initializer = yyvsp[-3].Initializer->getBinaryOp(Init::SRL, yyvsp[-1].Initializer);
if (yyval.Initializer == 0) {
err() << "Cannot shift values '" << *yyvsp[-3].Initializer << "' and '" << *yyvsp[-1].Initializer << "'!\n";
exit(1);
}
yyval.Initializer = (new BinOpInit(BinOpInit::SRL, yyvsp[-3].Initializer, yyvsp[-1].Initializer))->Fold();
;
break;}
case 30:
#line 374 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
#line 360 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.Initializer = (new BinOpInit(BinOpInit::STRCONCAT, yyvsp[-3].Initializer, yyvsp[-1].Initializer))->Fold();
;
break;}
case 31:
#line 364 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.StrVal = new std::string();
;
break;}
case 31:
#line 377 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 32:
#line 367 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.StrVal = yyvsp[0].StrVal;
;
break;}
case 32:
#line 381 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 33:
#line 371 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.DagValueList = new std::vector<std::pair<Init*, std::string> >();
yyval.DagValueList->push_back(std::make_pair(yyvsp[-1].Initializer, *yyvsp[0].StrVal));
delete yyvsp[0].StrVal;
;
break;}
case 33:
#line 386 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 34:
#line 376 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyvsp[-3].DagValueList->push_back(std::make_pair(yyvsp[-1].Initializer, *yyvsp[0].StrVal));
delete yyvsp[0].StrVal;
yyval.DagValueList = yyvsp[-3].DagValueList;
;
break;}
case 34:
#line 392 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 35:
#line 382 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.DagValueList = new std::vector<std::pair<Init*, std::string> >();
;
break;}
case 35:
#line 395 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 36:
#line 385 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{ yyval.DagValueList = yyvsp[0].DagValueList; ;
break;}
case 36:
#line 398 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 37:
#line 388 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.BitList = new std::vector<unsigned>();
yyval.BitList->push_back(yyvsp[0].IntVal);
;
break;}
case 37:
#line 401 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 38:
#line 391 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
if (yyvsp[-2].IntVal < 0 || yyvsp[0].IntVal < 0) {
err() << "Invalid range: " << yyvsp[-2].IntVal << "-" << yyvsp[0].IntVal << "!\n";
@ -1321,8 +1319,8 @@ case 37:
}
;
break;}
case 38:
#line 414 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 39:
#line 404 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyvsp[0].IntVal = -yyvsp[0].IntVal;
if (yyvsp[-1].IntVal < 0 || yyvsp[0].IntVal < 0) {
@ -1339,14 +1337,14 @@ case 38:
}
;
break;}
case 39:
#line 428 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 40:
#line 418 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
(yyval.BitList=yyvsp[-2].BitList)->push_back(yyvsp[0].IntVal);
;
break;}
case 40:
#line 430 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 41:
#line 420 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
if (yyvsp[-2].IntVal < 0 || yyvsp[0].IntVal < 0) {
err() << "Invalid range: " << yyvsp[-2].IntVal << "-" << yyvsp[0].IntVal << "!\n";
@ -1362,8 +1360,8 @@ case 40:
}
;
break;}
case 41:
#line 443 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 42:
#line 433 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyvsp[0].IntVal = -yyvsp[0].IntVal;
if (yyvsp[-1].IntVal < 0 || yyvsp[0].IntVal < 0) {
@ -1380,45 +1378,45 @@ case 41:
}
;
break;}
case 42:
#line 459 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 43:
#line 449 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{ yyval.BitList = yyvsp[0].BitList; std::reverse(yyvsp[0].BitList->begin(), yyvsp[0].BitList->end()); ;
break;}
case 43:
#line 461 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 44:
#line 451 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{ yyval.BitList = 0; ;
break;}
case 44:
#line 461 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 45:
#line 451 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{ yyval.BitList = yyvsp[-1].BitList; ;
break;}
case 45:
#line 465 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 46:
#line 455 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.FieldList = new std::vector<Init*>();
;
break;}
case 46:
#line 467 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 47:
#line 457 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.FieldList = yyvsp[0].FieldList;
;
break;}
case 47:
#line 471 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 48:
#line 461 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.FieldList = new std::vector<Init*>();
yyval.FieldList->push_back(yyvsp[0].Initializer);
;
break;}
case 48:
#line 474 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 49:
#line 464 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
(yyval.FieldList = yyvsp[-2].FieldList)->push_back(yyvsp[0].Initializer);
;
break;}
case 49:
#line 478 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 50:
#line 468 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
std::string DecName = *yyvsp[-1].StrVal;
if (ParsingTemplateArgs)
@ -1429,87 +1427,87 @@ case 49:
yyval.StrVal = new std::string(DecName);
;
break;}
case 50:
#line 488 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 51:
#line 478 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
delete yyvsp[-1].StrVal;
;
break;}
case 51:
#line 490 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 52:
#line 480 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
setValue(*yyvsp[-4].StrVal, yyvsp[-3].BitList, yyvsp[-1].Initializer);
delete yyvsp[-4].StrVal;
delete yyvsp[-3].BitList;
;
break;}
case 56:
#line 499 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 57:
#line 489 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.SubClassRef = new SubClassRefTy(yyvsp[0].Rec, new std::vector<Init*>());
;
break;}
case 57:
#line 501 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 58:
#line 491 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.SubClassRef = new SubClassRefTy(yyvsp[-3].Rec, yyvsp[-1].FieldList);
;
break;}
case 58:
#line 505 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 59:
#line 495 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.SubClassList = new std::vector<SubClassRefTy>();
yyval.SubClassList->push_back(*yyvsp[0].SubClassRef);
delete yyvsp[0].SubClassRef;
;
break;}
case 59:
#line 510 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 60:
#line 500 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
(yyval.SubClassList=yyvsp[-2].SubClassList)->push_back(*yyvsp[0].SubClassRef);
delete yyvsp[0].SubClassRef;
;
break;}
case 60:
#line 515 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 61:
#line 505 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.SubClassList = new std::vector<SubClassRefTy>();
;
break;}
case 61:
#line 518 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 62:
#line 508 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.SubClassList = yyvsp[0].SubClassList;
;
break;}
case 62:
#line 522 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
CurRec->addTemplateArg(*yyvsp[0].StrVal);
delete yyvsp[0].StrVal;
;
break;}
case 63:
#line 525 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
#line 512 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
CurRec->addTemplateArg(*yyvsp[0].StrVal);
delete yyvsp[0].StrVal;
;
break;}
case 64:
#line 530 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
#line 515 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
CurRec->addTemplateArg(*yyvsp[0].StrVal);
delete yyvsp[0].StrVal;
;
break;}
case 65:
#line 520 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{;
break;}
case 67:
#line 533 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 68:
#line 523 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{ yyval.StrVal = yyvsp[0].StrVal; ;
break;}
case 68:
#line 533 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 69:
#line 523 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{ yyval.StrVal = new std::string(); ;
break;}
case 69:
#line 535 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 70:
#line 525 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
static unsigned AnonCounter = 0;
if (yyvsp[0].StrVal->empty())
@ -1517,8 +1515,8 @@ case 69:
yyval.StrVal = yyvsp[0].StrVal;
;
break;}
case 70:
#line 542 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 71:
#line 532 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
// If a class of this name already exists, it must be a forward ref.
if ((CurRec = Records.getClass(*yyvsp[0].StrVal))) {
@ -1537,8 +1535,8 @@ case 70:
delete yyvsp[0].StrVal;
;
break;}
case 71:
#line 560 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 72:
#line 550 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
CurRec = new Record(*yyvsp[0].StrVal);
delete yyvsp[0].StrVal;
@ -1551,8 +1549,8 @@ case 71:
Records.addDef(CurRec);
;
break;}
case 72:
#line 572 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 73:
#line 562 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
for (unsigned i = 0, e = yyvsp[0].SubClassList->size(); i != e; ++i) {
addSubClass((*yyvsp[0].SubClassList)[i].first, *(*yyvsp[0].SubClassList)[i].second);
@ -1569,33 +1567,33 @@ case 72:
LetStack[i][j].Value);
;
break;}
case 73:
#line 586 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 74:
#line 576 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.Rec = CurRec;
CurRec = 0;
;
break;}
case 74:
#line 591 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 75:
#line 581 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
ParsingTemplateArgs = true;
;
break;}
case 75:
#line 593 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 76:
#line 583 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
ParsingTemplateArgs = false;
;
break;}
case 76:
#line 595 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 77:
#line 585 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyval.Rec = yyvsp[0].Rec;
;
break;}
case 77:
#line 599 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 78:
#line 589 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
yyvsp[0].Rec->resolveReferences();
@ -1604,39 +1602,39 @@ case 77:
yyval.Rec = yyvsp[0].Rec;
;
break;}
case 80:
#line 610 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 81:
#line 600 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
LetStack.back().push_back(LetRecord(*yyvsp[-3].StrVal, yyvsp[-2].BitList, yyvsp[0].Initializer));
delete yyvsp[-3].StrVal; delete yyvsp[-2].BitList;
;
break;}
case 83:
#line 618 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
case 84:
#line 608 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{ LetStack.push_back(std::vector<LetRecord>()); ;
break;}
case 85:
#line 621 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
LetStack.pop_back();
;
break;}
case 86:
#line 624 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
#line 611 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
LetStack.pop_back();
;
break;}
case 87:
#line 628 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{;
#line 614 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{
LetStack.pop_back();
;
break;}
case 88:
#line 628 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
#line 618 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{;
break;}
case 89:
#line 630 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
#line 618 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{;
break;}
case 90:
#line 620 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
{;
break;}
}
@ -1861,7 +1859,7 @@ yyerrhandle:
}
return 1;
}
#line 632 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
#line 622 "/Volumes/ProjectsDisk/cvs/llvm/utils/TableGen/FileParser.y"
int yyerror(const char *ErrorMsg) {

View File

@ -25,11 +25,12 @@ typedef union {
#define SHLTOK 269
#define SRATOK 270
#define SRLTOK 271
#define INTVAL 272
#define ID 273
#define VARNAME 274
#define STRVAL 275
#define CODEFRAGMENT 276
#define STRCONCATTOK 272
#define INTVAL 273
#define ID 274
#define VARNAME 275
#define STRVAL 276
#define CODEFRAGMENT 277
extern YYSTYPE Filelval;

View File

@ -200,7 +200,7 @@ using namespace llvm;
};
%token INT BIT STRING BITS LIST CODE DAG CLASS DEF FIELD LET IN
%token SHLTOK SRATOK SRLTOK
%token SHLTOK SRATOK SRLTOK STRCONCATTOK
%token <IntVal> INTVAL
%token <StrVal> ID VARNAME STRVAL CODEFRAGMENT
@ -352,23 +352,13 @@ Value : IDValue {
}
delete $3;
} | SHLTOK '(' Value ',' Value ')' {
$$ = $3->getBinaryOp(Init::SHL, $5);
if ($$ == 0) {
err() << "Cannot shift values '" << *$3 << "' and '" << *$5 << "'!\n";
exit(1);
}
$$ = (new BinOpInit(BinOpInit::SHL, $3, $5))->Fold();
} | SRATOK '(' Value ',' Value ')' {
$$ = $3->getBinaryOp(Init::SRA, $5);
if ($$ == 0) {
err() << "Cannot shift values '" << *$3 << "' and '" << *$5 << "'!\n";
exit(1);
}
$$ = (new BinOpInit(BinOpInit::SRA, $3, $5))->Fold();
} | SRLTOK '(' Value ',' Value ')' {
$$ = $3->getBinaryOp(Init::SRL, $5);
if ($$ == 0) {
err() << "Cannot shift values '" << *$3 << "' and '" << *$5 << "'!\n";
exit(1);
}
$$ = (new BinOpInit(BinOpInit::SRL, $3, $5))->Fold();
} | STRCONCATTOK '(' Value ',' Value ')' {
$$ = (new BinOpInit(BinOpInit::STRCONCAT, $3, $5))->Fold();
};
OptVarName : /* empty */ {