diff --git a/direct/src/dcparser/dcLexer.cxx.prebuilt b/direct/src/dcparser/dcLexer.cxx.prebuilt index a19dd0b23e..6ce98385bc 100644 --- a/direct/src/dcparser/dcLexer.cxx.prebuilt +++ b/direct/src/dcparser/dcLexer.cxx.prebuilt @@ -300,27 +300,27 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 40 -#define YY_END_OF_BUFFER 41 -static yyconst short int yy_accept[157] = +#define YY_NUM_RULES 41 +#define YY_END_OF_BUFFER 42 +static yyconst short int yy_accept[159] = { 0, - 0, 0, 41, 39, 2, 1, 36, 39, 39, 39, - 33, 33, 37, 38, 38, 38, 38, 38, 38, 38, - 38, 38, 38, 38, 38, 1, 0, 33, 35, 4, - 3, 35, 34, 38, 38, 38, 38, 29, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 0, 3, - 34, 38, 38, 38, 38, 38, 38, 38, 38, 38, - 27, 28, 38, 38, 38, 0, 35, 16, 38, 38, - 38, 38, 38, 38, 38, 38, 6, 24, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 7, 8, 9, - 38, 38, 38, 38, 38, 38, 38, 10, 38, 31, + 0, 0, 42, 40, 2, 1, 37, 40, 40, 40, + 34, 34, 38, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 1, 0, 34, 36, 4, + 3, 36, 35, 39, 39, 39, 39, 30, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, 0, 3, + 35, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 28, 29, 39, 39, 39, 0, 36, 16, 39, 39, + 39, 39, 39, 39, 39, 39, 6, 25, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, 7, 8, + 9, 39, 39, 39, 39, 39, 39, 39, 10, 17, - 30, 5, 38, 38, 38, 38, 38, 38, 15, 11, - 12, 13, 38, 38, 14, 38, 38, 38, 32, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 25, 38, - 38, 38, 38, 26, 38, 38, 17, 38, 38, 38, - 38, 18, 19, 38, 38, 38, 20, 21, 22, 38, - 38, 38, 38, 38, 23, 0 + 39, 32, 31, 5, 39, 39, 39, 39, 39, 39, + 15, 11, 12, 13, 39, 39, 14, 39, 39, 39, + 33, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 26, 39, 39, 39, 39, 27, 39, 39, 18, 39, + 39, 39, 39, 19, 20, 39, 39, 39, 21, 22, + 23, 39, 39, 39, 39, 39, 24, 0 } ; static yyconst int yy_ec[256] = @@ -364,110 +364,110 @@ static yyconst int yy_meta[43] = 7, 7 } ; -static yyconst short int yy_base[164] = +static yyconst short int yy_base[166] = { 0, - 0, 0, 200, 201, 201, 0, 201, 192, 0, 38, - 37, 191, 201, 0, 16, 168, 25, 167, 164, 162, - 153, 181, 28, 154, 162, 0, 0, 182, 31, 201, - 0, 0, 0, 0, 156, 155, 19, 0, 157, 153, - 147, 154, 151, 148, 150, 145, 143, 146, 170, 0, - 0, 153, 153, 148, 147, 150, 149, 47, 70, 133, - 0, 0, 130, 139, 129, 159, 158, 0, 139, 139, - 130, 124, 122, 143, 146, 143, 134, 0, 129, 125, - 121, 54, 128, 111, 125, 112, 132, 125, 124, 0, - 109, 112, 107, 114, 125, 128, 125, 116, 115, 0, + 0, 0, 202, 203, 203, 0, 203, 194, 0, 38, + 37, 193, 203, 0, 16, 170, 25, 169, 166, 164, + 155, 183, 28, 156, 164, 0, 0, 184, 31, 203, + 0, 0, 0, 0, 158, 157, 19, 0, 159, 155, + 149, 156, 153, 150, 152, 147, 145, 148, 172, 0, + 0, 155, 155, 150, 149, 152, 151, 47, 70, 135, + 0, 0, 132, 141, 131, 161, 160, 153, 140, 140, + 131, 125, 123, 144, 147, 144, 135, 0, 130, 126, + 122, 54, 141, 128, 111, 125, 112, 132, 125, 124, + 0, 109, 112, 107, 114, 125, 128, 125, 116, 0, - 0, 0, 122, 99, 98, 97, 107, 105, 0, 108, - 37, 0, 93, 91, 0, 91, 90, 103, 0, 99, - 87, 86, 92, 84, 81, 96, 95, 73, 0, 79, - 78, 81, 90, 0, 67, 58, 0, 67, 56, 39, - 32, 0, 0, 31, 30, 55, 0, 0, 0, 47, - 32, 30, 40, 18, 0, 201, 86, 90, 47, 91, - 98, 101, 105 + 115, 0, 0, 0, 122, 99, 98, 97, 107, 105, + 0, 108, 37, 0, 93, 91, 0, 91, 90, 103, + 0, 99, 87, 86, 92, 84, 81, 96, 95, 73, + 0, 79, 78, 81, 90, 0, 67, 58, 0, 67, + 56, 39, 32, 0, 0, 31, 30, 55, 0, 0, + 0, 47, 32, 30, 40, 18, 0, 203, 86, 90, + 47, 91, 98, 101, 105 } ; -static yyconst short int yy_def[164] = +static yyconst short int yy_def[166] = { 0, - 156, 1, 156, 156, 156, 157, 156, 158, 159, 156, - 158, 158, 156, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 157, 159, 158, 159, 156, - 161, 29, 162, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 163, 161, - 162, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 163, 163, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 59, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 158, 1, 158, 158, 158, 159, 158, 160, 161, 158, + 160, 160, 158, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 159, 161, 160, 161, 158, + 163, 29, 164, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 165, 163, + 164, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 165, 165, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 59, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 0, 156, 156, 156, 156, - 156, 156, 156 + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 0, 158, 158, + 158, 158, 158, 158, 158 } ; -static yyconst short int yy_nxt[244] = +static yyconst short int yy_nxt[246] = { 0, 4, 5, 6, 7, 4, 8, 9, 10, 11, 12, 12, 12, 12, 12, 12, 12, 13, 14, 14, 14, 14, 15, 16, 17, 14, 18, 14, 19, 14, 20, 14, 21, 22, 14, 23, 24, 14, 25, 14, 14, 14, 14, 30, 32, 35, 31, 38, 39, 45, 49, - 36, 29, 46, 54, 55, 49, 74, 122, 75, 155, - 154, 76, 77, 95, 153, 96, 152, 151, 97, 98, - 150, 149, 148, 147, 123, 146, 145, 33, 78, 78, - 78, 78, 78, 78, 78, 78, 26, 144, 26, 26, - 26, 26, 26, 28, 28, 34, 34, 34, 50, 143, + 36, 29, 46, 54, 55, 49, 74, 124, 75, 157, + 156, 76, 77, 96, 155, 97, 154, 153, 98, 99, + 152, 151, 150, 149, 125, 148, 147, 33, 78, 78, + 78, 78, 78, 78, 78, 78, 26, 146, 26, 26, + 26, 26, 26, 28, 28, 34, 34, 34, 50, 145, - 50, 50, 50, 50, 50, 51, 51, 67, 142, 67, - 141, 140, 139, 138, 137, 136, 135, 134, 133, 132, - 131, 130, 129, 128, 127, 126, 125, 124, 121, 120, - 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, - 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, - 99, 94, 93, 92, 91, 90, 89, 88, 87, 86, - 85, 84, 83, 156, 156, 82, 81, 80, 79, 73, - 72, 71, 70, 69, 68, 66, 65, 64, 63, 62, - 61, 60, 59, 58, 57, 56, 53, 52, 32, 48, - 47, 44, 43, 42, 41, 40, 37, 32, 27, 156, + 50, 50, 50, 50, 50, 51, 51, 67, 144, 67, + 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, + 133, 132, 131, 130, 129, 128, 127, 126, 123, 122, + 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, + 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, + 101, 100, 95, 94, 93, 92, 91, 90, 89, 88, + 87, 86, 85, 84, 83, 158, 158, 82, 81, 80, + 79, 73, 72, 71, 70, 69, 68, 66, 65, 64, + 63, 62, 61, 60, 59, 58, 57, 56, 53, 52, + 32, 48, 47, 44, 43, 42, 41, 40, 37, 32, - 3, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156 + 27, 158, 3, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158 } ; -static yyconst short int yy_chk[244] = +static yyconst short int yy_chk[246] = { 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, 1, 1, 1, 1, 1, 1, 10, 11, 15, 10, 17, 17, 23, 29, - 15, 159, 23, 37, 37, 29, 58, 111, 58, 154, - 153, 58, 58, 82, 152, 82, 151, 150, 82, 82, - 146, 145, 144, 141, 111, 140, 139, 11, 59, 59, - 59, 59, 59, 59, 59, 59, 157, 138, 157, 157, - 157, 157, 157, 158, 158, 160, 160, 160, 161, 136, + 15, 161, 23, 37, 37, 29, 58, 113, 58, 156, + 155, 58, 58, 82, 154, 82, 153, 152, 82, 82, + 148, 147, 146, 143, 113, 142, 141, 11, 59, 59, + 59, 59, 59, 59, 59, 59, 159, 140, 159, 159, + 159, 159, 159, 160, 160, 162, 162, 162, 163, 138, - 161, 161, 161, 161, 161, 162, 162, 163, 135, 163, - 133, 132, 131, 130, 128, 127, 126, 125, 124, 123, - 122, 121, 120, 118, 117, 116, 114, 113, 110, 108, - 107, 106, 105, 104, 103, 99, 98, 97, 96, 95, - 94, 93, 92, 91, 89, 88, 87, 86, 85, 84, - 83, 81, 80, 79, 77, 76, 75, 74, 73, 72, - 71, 70, 69, 67, 66, 65, 64, 63, 60, 57, - 56, 55, 54, 53, 52, 49, 48, 47, 46, 45, - 44, 43, 42, 41, 40, 39, 36, 35, 28, 25, - 24, 22, 21, 20, 19, 18, 16, 12, 8, 3, + 163, 163, 163, 163, 163, 164, 164, 165, 137, 165, + 135, 134, 133, 132, 130, 129, 128, 127, 126, 125, + 124, 123, 122, 120, 119, 118, 116, 115, 112, 110, + 109, 108, 107, 106, 105, 101, 99, 98, 97, 96, + 95, 94, 93, 92, 90, 89, 88, 87, 86, 85, + 84, 83, 81, 80, 79, 77, 76, 75, 74, 73, + 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, + 60, 57, 56, 55, 54, 53, 52, 49, 48, 47, + 46, 45, 44, 43, 42, 41, 40, 39, 36, 35, + 28, 25, 24, 22, 21, 20, 19, 18, 16, 12, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156 + 8, 3, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, + 158, 158, 158, 158, 158 } ; static yy_state_type yy_last_accepting_state; @@ -978,13 +978,13 @@ 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 >= 157 ) + if ( yy_current_state >= 159 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 201 ); + while ( yy_base[yy_current_state] != 203 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1153,7 +1153,7 @@ YY_RULE_SETUP #line 391 "dcLexer.lxx" { accept(); - return KW_INT8ARRAY; + return KW_BLOB32; } YY_BREAK case 18: @@ -1161,7 +1161,7 @@ YY_RULE_SETUP #line 396 "dcLexer.lxx" { accept(); - return KW_INT16ARRAY; + return KW_INT8ARRAY; } YY_BREAK case 19: @@ -1169,7 +1169,7 @@ YY_RULE_SETUP #line 401 "dcLexer.lxx" { accept(); - return KW_INT32ARRAY; + return KW_INT16ARRAY; } YY_BREAK case 20: @@ -1177,7 +1177,7 @@ YY_RULE_SETUP #line 406 "dcLexer.lxx" { accept(); - return KW_UINT8ARRAY; + return KW_INT32ARRAY; } YY_BREAK case 21: @@ -1185,7 +1185,7 @@ YY_RULE_SETUP #line 411 "dcLexer.lxx" { accept(); - return KW_UINT16ARRAY; + return KW_UINT8ARRAY; } YY_BREAK case 22: @@ -1193,7 +1193,7 @@ YY_RULE_SETUP #line 416 "dcLexer.lxx" { accept(); - return KW_UINT32ARRAY; + return KW_UINT16ARRAY; } YY_BREAK case 23: @@ -1201,12 +1201,20 @@ YY_RULE_SETUP #line 421 "dcLexer.lxx" { accept(); - return KW_UINT32UINT8ARRAY; + return KW_UINT32ARRAY; } YY_BREAK case 24: YY_RULE_SETUP #line 426 "dcLexer.lxx" +{ + accept(); + return KW_UINT32UINT8ARRAY; +} + YY_BREAK +case 25: +YY_RULE_SETUP +#line 431 "dcLexer.lxx" { // A molecular keyword. accept(); @@ -1215,20 +1223,12 @@ YY_RULE_SETUP return KW_MOL; } YY_BREAK -case 25: -YY_RULE_SETUP -#line 434 "dcLexer.lxx" -{ - accept(); - return KW_REQUIRED; -} - YY_BREAK case 26: YY_RULE_SETUP #line 439 "dcLexer.lxx" { accept(); - return KW_BROADCAST; + return KW_REQUIRED; } YY_BREAK case 27: @@ -1236,7 +1236,7 @@ YY_RULE_SETUP #line 444 "dcLexer.lxx" { accept(); - return KW_P2P; + return KW_BROADCAST; } YY_BREAK case 28: @@ -1244,7 +1244,7 @@ YY_RULE_SETUP #line 449 "dcLexer.lxx" { accept(); - return KW_RAM; + return KW_P2P; } YY_BREAK case 29: @@ -1252,7 +1252,7 @@ YY_RULE_SETUP #line 454 "dcLexer.lxx" { accept(); - return KW_DB; + return KW_RAM; } YY_BREAK case 30: @@ -1260,7 +1260,7 @@ YY_RULE_SETUP #line 459 "dcLexer.lxx" { accept(); - return KW_CLSEND; + return KW_DB; } YY_BREAK case 31: @@ -1268,7 +1268,7 @@ YY_RULE_SETUP #line 464 "dcLexer.lxx" { accept(); - return KW_CLRECV; + return KW_CLSEND; } YY_BREAK case 32: @@ -1276,12 +1276,20 @@ YY_RULE_SETUP #line 469 "dcLexer.lxx" { accept(); - return KW_OWNSEND; + return KW_CLRECV; } YY_BREAK case 33: YY_RULE_SETUP #line 474 "dcLexer.lxx" +{ + accept(); + return KW_OWNSEND; +} + YY_BREAK +case 34: +YY_RULE_SETUP +#line 479 "dcLexer.lxx" { // An integer number. accept(); @@ -1290,9 +1298,9 @@ YY_RULE_SETUP return INTEGER; } YY_BREAK -case 34: +case 35: YY_RULE_SETUP -#line 482 "dcLexer.lxx" +#line 487 "dcLexer.lxx" { // A hexadecimal integer number. accept(); @@ -1301,9 +1309,9 @@ YY_RULE_SETUP return INTEGER; } YY_BREAK -case 35: +case 36: YY_RULE_SETUP -#line 490 "dcLexer.lxx" +#line 495 "dcLexer.lxx" { // A floating-point number. accept(); @@ -1312,9 +1320,9 @@ YY_RULE_SETUP return REAL; } YY_BREAK -case 36: +case 37: YY_RULE_SETUP -#line 498 "dcLexer.lxx" +#line 503 "dcLexer.lxx" { // Quoted string. accept(); @@ -1322,9 +1330,9 @@ YY_RULE_SETUP return STRING; } YY_BREAK -case 37: +case 38: YY_RULE_SETUP -#line 505 "dcLexer.lxx" +#line 510 "dcLexer.lxx" { // Long hex string. accept(); @@ -1332,9 +1340,9 @@ YY_RULE_SETUP return HEX_STRING; } YY_BREAK -case 38: +case 39: YY_RULE_SETUP -#line 512 "dcLexer.lxx" +#line 517 "dcLexer.lxx" { // Identifier. accept(); @@ -1342,21 +1350,21 @@ YY_RULE_SETUP return IDENTIFIER; } YY_BREAK -case 39: +case 40: YY_RULE_SETUP -#line 520 "dcLexer.lxx" +#line 525 "dcLexer.lxx" { // Send any other printable character as itself. accept(); return dcyytext[0]; } YY_BREAK -case 40: +case 41: YY_RULE_SETUP -#line 526 "dcLexer.lxx" +#line 531 "dcLexer.lxx" ECHO; YY_BREAK -#line 1361 "lex.yy.c" +#line 1369 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1648,7 +1656,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 >= 157 ) + if ( yy_current_state >= 159 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1683,11 +1691,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 >= 157 ) + if ( yy_current_state >= 159 ) 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 == 156); + yy_is_jam = (yy_current_state == 158); return yy_is_jam ? 0 : yy_current_state; } @@ -2242,4 +2250,4 @@ int main() return 0; } #endif -#line 526 "dcLexer.lxx" +#line 531 "dcLexer.lxx" diff --git a/direct/src/dcparser/dcParser.cxx.prebuilt b/direct/src/dcparser/dcParser.cxx.prebuilt index ffe5a27ddc..e96830ca77 100644 --- a/direct/src/dcparser/dcParser.cxx.prebuilt +++ b/direct/src/dcparser/dcParser.cxx.prebuilt @@ -79,22 +79,23 @@ KW_FLOAT64 = 272, KW_STRING = 273, KW_BLOB = 274, - KW_INT8ARRAY = 275, - KW_INT16ARRAY = 276, - KW_INT32ARRAY = 277, - KW_UINT8ARRAY = 278, - KW_UINT16ARRAY = 279, - KW_UINT32ARRAY = 280, - KW_UINT32UINT8ARRAY = 281, - KW_MOL = 282, - KW_REQUIRED = 283, - KW_BROADCAST = 284, - KW_P2P = 285, - KW_RAM = 286, - KW_DB = 287, - KW_CLSEND = 288, - KW_CLRECV = 289, - KW_OWNSEND = 290 + KW_BLOB32 = 275, + KW_INT8ARRAY = 276, + KW_INT16ARRAY = 277, + KW_INT32ARRAY = 278, + KW_UINT8ARRAY = 279, + KW_UINT16ARRAY = 280, + KW_UINT32ARRAY = 281, + KW_UINT32UINT8ARRAY = 282, + KW_MOL = 283, + KW_REQUIRED = 284, + KW_BROADCAST = 285, + KW_P2P = 286, + KW_RAM = 287, + KW_DB = 288, + KW_CLSEND = 289, + KW_CLRECV = 290, + KW_OWNSEND = 291 }; #endif #define INTEGER 258 @@ -114,22 +115,23 @@ #define KW_FLOAT64 272 #define KW_STRING 273 #define KW_BLOB 274 -#define KW_INT8ARRAY 275 -#define KW_INT16ARRAY 276 -#define KW_INT32ARRAY 277 -#define KW_UINT8ARRAY 278 -#define KW_UINT16ARRAY 279 -#define KW_UINT32ARRAY 280 -#define KW_UINT32UINT8ARRAY 281 -#define KW_MOL 282 -#define KW_REQUIRED 283 -#define KW_BROADCAST 284 -#define KW_P2P 285 -#define KW_RAM 286 -#define KW_DB 287 -#define KW_CLSEND 288 -#define KW_CLRECV 289 -#define KW_OWNSEND 290 +#define KW_BLOB32 275 +#define KW_INT8ARRAY 276 +#define KW_INT16ARRAY 277 +#define KW_INT32ARRAY 278 +#define KW_UINT8ARRAY 279 +#define KW_UINT16ARRAY 280 +#define KW_UINT32ARRAY 281 +#define KW_UINT32UINT8ARRAY 282 +#define KW_MOL 283 +#define KW_REQUIRED 284 +#define KW_BROADCAST 285 +#define KW_P2P 286 +#define KW_RAM 287 +#define KW_DB 288 +#define KW_CLSEND 289 +#define KW_CLRECV 290 +#define KW_OWNSEND 291 @@ -201,7 +203,7 @@ typedef int YYSTYPE; /* Line 214 of yacc.c. */ -#line 204 "y.tab.c" +#line 206 "y.tab.c" #if ! defined (yyoverflow) || YYERROR_VERBOSE @@ -300,20 +302,20 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 79 +#define YYLAST 80 /* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 46 +#define YYNTOKENS 47 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 26 /* YYNRULES -- Number of rules. */ -#define YYNRULES 77 +#define YYNRULES 78 /* YYNRULES -- Number of states. */ -#define YYNSTATES 101 +#define YYNSTATES 102 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 290 +#define YYMAXUTOK 291 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -325,15 +327,15 @@ static const unsigned char yytranslate[] = 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, - 41, 42, 45, 2, 40, 2, 2, 43, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 39, 36, - 2, 44, 2, 2, 2, 2, 2, 2, 2, 2, + 42, 43, 46, 2, 41, 2, 2, 44, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 40, 37, + 2, 45, 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, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 37, 2, 38, 2, 2, 2, 2, + 2, 2, 2, 38, 2, 39, 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, @@ -350,7 +352,7 @@ static const unsigned char yytranslate[] = 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35 + 35, 36 }; #if YYDEBUG @@ -364,47 +366,48 @@ static const unsigned char yyprhs[] = 86, 90, 94, 100, 102, 105, 107, 109, 111, 115, 117, 119, 121, 123, 127, 131, 135, 137, 139, 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, 161, - 163, 165, 167, 169, 171, 173, 176, 179, 182, 185, - 188, 191, 194, 197, 198, 203, 205, 209 + 163, 165, 167, 169, 171, 173, 175, 178, 181, 184, + 187, 190, 193, 196, 199, 200, 205, 207, 211 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yysigned_char yyrhs[] = { - 47, 0, -1, 71, -1, 47, 36, -1, 47, 48, - -1, -1, 8, 7, 49, 51, 37, 53, 38, -1, - 7, -1, 71, -1, 39, 52, -1, 50, -1, 52, - 40, 50, -1, 71, -1, 53, 36, -1, 53, 54, - -1, 53, 68, -1, -1, 7, 41, 55, 57, 42, - 67, -1, 7, -1, 71, -1, 58, -1, 59, -1, - 58, 40, 59, -1, -1, 66, 60, 61, -1, 71, - -1, 61, 43, 3, -1, 61, 7, -1, 61, 44, - 3, -1, 61, 44, 4, -1, 61, 44, 5, -1, - 61, 44, 6, -1, 61, 44, 37, 62, 38, -1, - 71, -1, 64, 63, -1, 71, -1, 40, -1, 65, - -1, 64, 40, 65, -1, 3, -1, 4, -1, 5, - -1, 6, -1, 3, 45, 3, -1, 4, 45, 3, - -1, 6, 45, 3, -1, 9, -1, 10, -1, 11, + 48, 0, -1, 72, -1, 48, 37, -1, 48, 49, + -1, -1, 8, 7, 50, 52, 38, 54, 39, -1, + 7, -1, 72, -1, 40, 53, -1, 51, -1, 53, + 41, 51, -1, 72, -1, 54, 37, -1, 54, 55, + -1, 54, 69, -1, -1, 7, 42, 56, 58, 43, + 68, -1, 7, -1, 72, -1, 59, -1, 60, -1, + 59, 41, 60, -1, -1, 67, 61, 62, -1, 72, + -1, 62, 44, 3, -1, 62, 7, -1, 62, 45, + 3, -1, 62, 45, 4, -1, 62, 45, 5, -1, + 62, 45, 6, -1, 62, 45, 38, 63, 39, -1, + 72, -1, 65, 64, -1, 72, -1, 41, -1, 66, + -1, 65, 41, 66, -1, 3, -1, 4, -1, 5, + -1, 6, -1, 3, 46, 3, -1, 4, 46, 3, + -1, 6, 46, 3, -1, 9, -1, 10, -1, 11, -1, 12, -1, 13, -1, 14, -1, 15, -1, 16, -1, 17, -1, 18, -1, 19, -1, 20, -1, 21, -1, 22, -1, 23, -1, 24, -1, 25, -1, 26, - -1, 71, -1, 67, 28, -1, 67, 29, -1, 67, - 30, -1, 67, 31, -1, 67, 32, -1, 67, 33, - -1, 67, 34, -1, 67, 35, -1, -1, 7, 39, - 69, 70, -1, 56, -1, 70, 40, 56, -1, -1 + -1, 27, -1, 72, -1, 68, 29, -1, 68, 30, + -1, 68, 31, -1, 68, 32, -1, 68, 33, -1, + 68, 34, -1, 68, 35, -1, 68, 36, -1, -1, + 7, 40, 70, 71, -1, 57, -1, 71, 41, 57, + -1, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short yyrline[] = { - 0, 88, 88, 89, 90, 95, 94, 106, 120, 121, - 125, 131, 140, 141, 142, 143, 148, 147, 159, 175, - 176, 180, 181, 186, 185, 197, 198, 202, 206, 212, - 218, 224, 230, 241, 242, 246, 247, 251, 252, 256, - 262, 268, 274, 280, 289, 298, 310, 314, 318, 322, - 326, 330, 334, 338, 342, 346, 350, 354, 358, 362, - 366, 370, 374, 378, 385, 386, 390, 394, 398, 402, - 406, 410, 414, 422, 421, 433, 439, 452 + 0, 89, 89, 90, 91, 96, 95, 107, 121, 122, + 126, 132, 141, 142, 143, 144, 149, 148, 160, 176, + 177, 181, 182, 187, 186, 198, 199, 203, 207, 213, + 219, 225, 231, 242, 243, 247, 248, 252, 253, 257, + 263, 269, 275, 281, 290, 299, 311, 315, 319, 323, + 327, 331, 335, 339, 343, 347, 351, 355, 359, 363, + 367, 371, 375, 379, 383, 390, 391, 395, 399, 403, + 407, 411, 415, 419, 427, 426, 438, 444, 457 }; #endif @@ -416,17 +419,18 @@ static const char *const yytname[] = "$end", "error", "$undefined", "INTEGER", "REAL", "STRING", "HEX_STRING", "IDENTIFIER", "KW_DCLASS", "KW_INT8", "KW_INT16", "KW_INT32", "KW_INT64", "KW_UINT8", "KW_UINT16", "KW_UINT32", "KW_UINT64", - "KW_FLOAT64", "KW_STRING", "KW_BLOB", "KW_INT8ARRAY", "KW_INT16ARRAY", - "KW_INT32ARRAY", "KW_UINT8ARRAY", "KW_UINT16ARRAY", "KW_UINT32ARRAY", - "KW_UINT32UINT8ARRAY", "KW_MOL", "KW_REQUIRED", "KW_BROADCAST", - "KW_P2P", "KW_RAM", "KW_DB", "KW_CLSEND", "KW_CLRECV", "KW_OWNSEND", - "';'", "'{'", "'}'", "':'", "','", "'('", "')'", "'/'", "'='", "'*'", - "$accept", "dc", "dclass", "@1", "dclass_name", "dclass_derivation", - "base_list", "dclass_fields", "atomic_field", "@2", "atomic_name", - "parameter_list", "nonempty_parameter_list", "atomic_element", "@3", - "atomic_element_definition", "default_array", "maybe_comma", - "default_array_def", "default_array_element", "type_token", - "atomic_flags", "molecular_field", "@4", "molecular_atom_list", "empty", 0 + "KW_FLOAT64", "KW_STRING", "KW_BLOB", "KW_BLOB32", "KW_INT8ARRAY", + "KW_INT16ARRAY", "KW_INT32ARRAY", "KW_UINT8ARRAY", "KW_UINT16ARRAY", + "KW_UINT32ARRAY", "KW_UINT32UINT8ARRAY", "KW_MOL", "KW_REQUIRED", + "KW_BROADCAST", "KW_P2P", "KW_RAM", "KW_DB", "KW_CLSEND", "KW_CLRECV", + "KW_OWNSEND", "';'", "'{'", "'}'", "':'", "','", "'('", "')'", "'/'", + "'='", "'*'", "$accept", "dc", "dclass", "@1", "dclass_name", + "dclass_derivation", "base_list", "dclass_fields", "atomic_field", "@2", + "atomic_name", "parameter_list", "nonempty_parameter_list", + "atomic_element", "@3", "atomic_element_definition", "default_array", + "maybe_comma", "default_array_def", "default_array_element", + "type_token", "atomic_flags", "molecular_field", "@4", + "molecular_atom_list", "empty", 0 }; #endif @@ -438,22 +442,22 @@ static const unsigned short yytoknum[] = 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 59, 123, 125, 58, - 44, 40, 41, 47, 61, 42 + 285, 286, 287, 288, 289, 290, 291, 59, 123, 125, + 58, 44, 40, 41, 47, 61, 42 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 46, 47, 47, 47, 49, 48, 50, 51, 51, - 52, 52, 53, 53, 53, 53, 55, 54, 56, 57, - 57, 58, 58, 60, 59, 61, 61, 61, 61, 61, - 61, 61, 61, 62, 62, 63, 63, 64, 64, 65, - 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 69, 68, 70, 70, 71 + 0, 47, 48, 48, 48, 50, 49, 51, 52, 52, + 53, 53, 54, 54, 54, 54, 56, 55, 57, 58, + 58, 59, 59, 61, 60, 62, 62, 62, 62, 62, + 62, 62, 62, 63, 63, 64, 64, 65, 65, 66, + 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 70, 69, 71, 71, 72 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -465,8 +469,8 @@ static const unsigned char yyr2[] = 3, 3, 5, 1, 2, 1, 1, 1, 3, 1, 1, 1, 1, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, - 2, 2, 2, 0, 4, 1, 3, 0 + 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, + 2, 2, 2, 2, 0, 4, 1, 3, 0 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -474,51 +478,51 @@ static const unsigned char yyr2[] = means the default is an error. */ static const unsigned char yydefact[] = { - 77, 0, 2, 1, 0, 3, 4, 5, 77, 0, - 0, 8, 7, 10, 9, 77, 0, 0, 12, 11, - 0, 13, 6, 14, 15, 73, 16, 0, 77, 18, - 75, 74, 46, 47, 48, 49, 50, 51, 52, 53, + 78, 0, 2, 1, 0, 3, 4, 5, 78, 0, + 0, 8, 7, 10, 9, 78, 0, 0, 12, 11, + 0, 13, 6, 14, 15, 74, 16, 0, 78, 18, + 76, 75, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 0, 20, 21, 23, 19, 0, 77, 0, 77, 76, - 17, 64, 22, 24, 25, 65, 66, 67, 68, 69, - 70, 71, 72, 27, 0, 0, 26, 28, 29, 30, - 31, 77, 39, 40, 41, 42, 0, 77, 37, 33, - 0, 0, 0, 32, 36, 34, 35, 43, 44, 45, - 38 + 64, 0, 20, 21, 23, 19, 0, 78, 0, 78, + 77, 17, 65, 22, 24, 25, 66, 67, 68, 69, + 70, 71, 72, 73, 27, 0, 0, 26, 28, 29, + 30, 31, 78, 39, 40, 41, 42, 0, 78, 37, + 33, 0, 0, 0, 32, 36, 34, 35, 43, 44, + 45, 38 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yysigned_char yydefgoto[] = { -1, 1, 6, 8, 13, 10, 14, 17, 23, 28, - 30, 50, 51, 52, 58, 63, 86, 95, 87, 88, - 53, 60, 24, 27, 31, 2 + 30, 51, 52, 53, 59, 64, 87, 96, 88, 89, + 54, 61, 24, 27, 31, 2 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -36 +#define YYPACT_NINF -37 static const yysigned_char yypact[] = { - -36, 3, -36, -36, -2, -36, -36, -36, -31, 2, - -27, -36, -36, -36, -11, -36, 2, -5, -36, -36, - -35, -36, -36, -36, -36, -36, -36, 23, 42, -36, - -36, -4, -36, -36, -36, -36, -36, -36, -36, -36, - -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, - -10, 0, -36, -36, -36, 23, -36, 42, -36, -36, - -7, -36, -36, -6, -36, -36, -36, -36, -36, -36, - -36, -36, -36, -36, 31, 9, -36, -36, -36, -36, - -36, 13, -3, -1, -36, 4, 5, 1, -36, -36, - 32, 44, 66, -36, 13, -36, -36, -36, -36, -36, - -36 + -37, 3, -37, -37, -2, -37, -37, -37, -32, 2, + -28, -37, -37, -37, -20, -37, 2, -5, -37, -37, + -36, -37, -37, -37, -37, -37, -37, 23, 43, -37, + -37, -10, -37, -37, -37, -37, -37, -37, -37, -37, + -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, + -37, -1, -4, -37, -37, -37, 23, -37, 43, -37, + -37, -7, -37, -37, -6, -37, -37, -37, -37, -37, + -37, -37, -37, -37, -37, 30, 9, -37, -37, -37, + -37, -37, 13, -11, -3, -37, 0, 5, 4, -37, + -37, 33, 38, 45, -37, 13, -37, -37, -37, -37, + -37, -37 }; /* YYPGOTO[NTERM-NUM]. */ static const yysigned_char yypgoto[] = { - -36, -36, -36, -36, 29, -36, -36, -36, -36, -36, - 15, -36, -36, 14, -36, -36, -36, -36, -36, -22, - -36, -36, -36, -36, -36, -8 + -37, -37, -37, -37, 34, -37, -37, -37, -37, -37, + 15, -37, -37, 14, -37, -37, -37, -37, -37, -22, + -37, -37, -37, -37, -37, -8 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -528,43 +532,45 @@ static const yysigned_char yypgoto[] = #define YYTABLE_NINF -1 static const unsigned char yytable[] = { - 11, 73, 20, 3, 25, 7, 26, 18, 9, 12, - 15, 4, 77, 78, 79, 80, 82, 83, 84, 85, - 54, 65, 66, 67, 68, 69, 70, 71, 72, 16, - 29, 21, 56, 22, 76, 97, 55, 74, 75, 5, - 57, 94, 90, 93, 91, 19, 81, 98, 61, 92, - 64, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 99, - 59, 62, 100, 89, 0, 0, 0, 0, 0, 96 + 11, 74, 20, 3, 25, 7, 26, 18, 9, 12, + 15, 4, 78, 79, 80, 81, 83, 84, 85, 86, + 55, 16, 66, 67, 68, 69, 70, 71, 72, 73, + 29, 56, 21, 77, 22, 91, 98, 58, 75, 76, + 5, 99, 57, 92, 94, 95, 93, 82, 100, 62, + 19, 65, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + 50, 60, 63, 101, 90, 0, 0, 0, 0, 0, + 97 }; static const yysigned_char yycheck[] = { - 8, 7, 7, 0, 39, 7, 41, 15, 39, 7, - 37, 8, 3, 4, 5, 6, 3, 4, 5, 6, - 28, 28, 29, 30, 31, 32, 33, 34, 35, 40, - 7, 36, 42, 38, 3, 3, 40, 43, 44, 36, - 40, 40, 45, 38, 45, 16, 37, 3, 56, 45, - 58, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 3, - 55, 57, 94, 81, -1, -1, -1, -1, -1, 87 + 8, 7, 7, 0, 40, 7, 42, 15, 40, 7, + 38, 8, 3, 4, 5, 6, 3, 4, 5, 6, + 28, 41, 29, 30, 31, 32, 33, 34, 35, 36, + 7, 41, 37, 3, 39, 46, 3, 41, 44, 45, + 37, 3, 43, 46, 39, 41, 46, 38, 3, 57, + 16, 59, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 56, 58, 95, 82, -1, -1, -1, -1, -1, + 88 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned char yystos[] = { - 0, 47, 71, 0, 8, 36, 48, 7, 49, 39, - 51, 71, 7, 50, 52, 37, 40, 53, 71, 50, - 7, 36, 38, 54, 68, 39, 41, 69, 55, 7, - 56, 70, 9, 10, 11, 12, 13, 14, 15, 16, + 0, 48, 72, 0, 8, 37, 49, 7, 50, 40, + 52, 72, 7, 51, 53, 38, 41, 54, 72, 51, + 7, 37, 39, 55, 69, 40, 42, 70, 56, 7, + 57, 71, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 57, 58, 59, 66, 71, 40, 42, 40, 60, 56, - 67, 71, 59, 61, 71, 28, 29, 30, 31, 32, - 33, 34, 35, 7, 43, 44, 3, 3, 4, 5, - 6, 37, 3, 4, 5, 6, 62, 64, 65, 71, - 45, 45, 45, 38, 40, 63, 71, 3, 3, 3, - 65 + 27, 58, 59, 60, 67, 72, 41, 43, 41, 61, + 57, 68, 72, 60, 62, 72, 29, 30, 31, 32, + 33, 34, 35, 36, 7, 44, 45, 3, 3, 4, + 5, 6, 38, 3, 4, 5, 6, 63, 65, 66, + 72, 46, 46, 46, 39, 41, 64, 72, 3, 3, + 3, 66 }; #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) @@ -1174,7 +1180,7 @@ yyreduce: switch (yyn) { case 5: -#line 95 "dcParser.yxx" +#line 96 "dcParser.yxx" { current_class = new DCClass; current_class->_name = yyvsp[0].str; @@ -1185,7 +1191,7 @@ yyreduce: break; case 7: -#line 107 "dcParser.yxx" +#line 108 "dcParser.yxx" { DCFile::ClassesByName::const_iterator ni; ni = dc_file->_classes_by_name.find(yyvsp[0].str); @@ -1199,7 +1205,7 @@ yyreduce: break; case 10: -#line 126 "dcParser.yxx" +#line 127 "dcParser.yxx" { if (yyvsp[0].u.dclass != (DCClass *)NULL) { current_class->_parents.push_back(yyvsp[0].u.dclass); @@ -1208,7 +1214,7 @@ yyreduce: break; case 11: -#line 132 "dcParser.yxx" +#line 133 "dcParser.yxx" { if (yyvsp[0].u.dclass != (DCClass *)NULL) { current_class->_parents.push_back(yyvsp[0].u.dclass); @@ -1217,7 +1223,7 @@ yyreduce: break; case 16: -#line 148 "dcParser.yxx" +#line 149 "dcParser.yxx" { current_atomic = new DCAtomicField; current_atomic->_name = yyvsp[-1].str; @@ -1228,7 +1234,7 @@ yyreduce: break; case 18: -#line 160 "dcParser.yxx" +#line 161 "dcParser.yxx" { DCField *field = current_class->get_field_by_name(yyvsp[0].str); yyval.u.atomic = (DCAtomicField *)NULL; @@ -1244,7 +1250,7 @@ yyreduce: break; case 23: -#line 186 "dcParser.yxx" +#line 187 "dcParser.yxx" { atomic_element = DCAtomicField::ElementType(); atomic_element._type = yyvsp[0].u.subatomic; @@ -1252,28 +1258,28 @@ yyreduce: break; case 24: -#line 191 "dcParser.yxx" +#line 192 "dcParser.yxx" { current_atomic->_elements.push_back(atomic_element); } break; case 26: -#line 199 "dcParser.yxx" +#line 200 "dcParser.yxx" { atomic_element._divisor = yyvsp[0].u.integer; } break; case 27: -#line 203 "dcParser.yxx" +#line 204 "dcParser.yxx" { atomic_element._name = yyvsp[0].str; } break; case 28: -#line 207 "dcParser.yxx" +#line 208 "dcParser.yxx" { if (!atomic_element.set_default_value(yyvsp[0].u.integer)) { yyerror("Invalid default value: " + yyvsp[0].str); @@ -1282,7 +1288,7 @@ yyreduce: break; case 29: -#line 213 "dcParser.yxx" +#line 214 "dcParser.yxx" { if (!atomic_element.set_default_value(yyvsp[0].u.real)) { yyerror("Invalid default value: " + yyvsp[0].str); @@ -1291,7 +1297,7 @@ yyreduce: break; case 30: -#line 219 "dcParser.yxx" +#line 220 "dcParser.yxx" { if (!atomic_element.set_default_value(yyvsp[0].str)) { yyerror("Invalid default value: \"" + yyvsp[0].str + "\""); @@ -1300,7 +1306,7 @@ yyreduce: break; case 31: -#line 225 "dcParser.yxx" +#line 226 "dcParser.yxx" { if (!atomic_element.set_default_value_literal(yyvsp[0].str)) { yyerror("Invalid default hex string value"); @@ -1309,7 +1315,7 @@ yyreduce: break; case 32: -#line 231 "dcParser.yxx" +#line 232 "dcParser.yxx" { if (!atomic_element.end_array()) { yyerror("Array default value inappropriate"); @@ -1320,7 +1326,7 @@ yyreduce: break; case 39: -#line 257 "dcParser.yxx" +#line 258 "dcParser.yxx" { if (!atomic_element.add_default_value(yyvsp[0].u.integer)) { yyerror("Invalid default value: " + yyvsp[0].str); @@ -1329,7 +1335,7 @@ yyreduce: break; case 40: -#line 263 "dcParser.yxx" +#line 264 "dcParser.yxx" { if (!atomic_element.add_default_value(yyvsp[0].u.real)) { yyerror("Invalid default value: " + yyvsp[0].str); @@ -1338,7 +1344,7 @@ yyreduce: break; case 41: -#line 269 "dcParser.yxx" +#line 270 "dcParser.yxx" { if (!atomic_element.add_default_value(yyvsp[0].str)) { yyerror("Invalid default value: " + yyvsp[0].str); @@ -1347,7 +1353,7 @@ yyreduce: break; case 42: -#line 275 "dcParser.yxx" +#line 276 "dcParser.yxx" { if (!atomic_element.add_default_value_literal(yyvsp[0].str)) { yyerror("Invalid hex literal in default array"); @@ -1356,7 +1362,7 @@ yyreduce: break; case 43: -#line 281 "dcParser.yxx" +#line 282 "dcParser.yxx" { for (int i = 0; i < yyvsp[0].u.integer; i++) { if (!atomic_element.add_default_value(yyvsp[-2].u.integer)) { @@ -1368,7 +1374,7 @@ yyreduce: break; case 44: -#line 290 "dcParser.yxx" +#line 291 "dcParser.yxx" { for (int i = 0; i < yyvsp[0].u.integer; i++) { if (!atomic_element.add_default_value(yyvsp[-2].u.real)) { @@ -1380,7 +1386,7 @@ yyreduce: break; case 45: -#line 299 "dcParser.yxx" +#line 300 "dcParser.yxx" { for (int i = 0; i < yyvsp[0].u.integer; i++) { if (!atomic_element.add_default_value_literal(yyvsp[-2].str)) { @@ -1392,189 +1398,196 @@ yyreduce: break; case 46: -#line 311 "dcParser.yxx" +#line 312 "dcParser.yxx" { yyval.u.subatomic = ST_int8; } break; case 47: -#line 315 "dcParser.yxx" +#line 316 "dcParser.yxx" { yyval.u.subatomic = ST_int16; } break; case 48: -#line 319 "dcParser.yxx" +#line 320 "dcParser.yxx" { yyval.u.subatomic = ST_int32; } break; case 49: -#line 323 "dcParser.yxx" +#line 324 "dcParser.yxx" { yyval.u.subatomic = ST_int64; } break; case 50: -#line 327 "dcParser.yxx" +#line 328 "dcParser.yxx" { yyval.u.subatomic = ST_uint8; } break; case 51: -#line 331 "dcParser.yxx" +#line 332 "dcParser.yxx" { yyval.u.subatomic = ST_uint16; } break; case 52: -#line 335 "dcParser.yxx" +#line 336 "dcParser.yxx" { yyval.u.subatomic = ST_uint32; } break; case 53: -#line 339 "dcParser.yxx" +#line 340 "dcParser.yxx" { yyval.u.subatomic = ST_uint64; } break; case 54: -#line 343 "dcParser.yxx" +#line 344 "dcParser.yxx" { yyval.u.subatomic = ST_float64; } break; case 55: -#line 347 "dcParser.yxx" +#line 348 "dcParser.yxx" { yyval.u.subatomic = ST_string; } break; case 56: -#line 351 "dcParser.yxx" +#line 352 "dcParser.yxx" { yyval.u.subatomic = ST_blob; } break; case 57: -#line 355 "dcParser.yxx" +#line 356 "dcParser.yxx" + { + yyval.u.subatomic = ST_blob32; +} + break; + + case 58: +#line 360 "dcParser.yxx" { yyval.u.subatomic = ST_int8array; } break; - case 58: -#line 359 "dcParser.yxx" + case 59: +#line 364 "dcParser.yxx" { yyval.u.subatomic = ST_int16array; } break; - case 59: -#line 363 "dcParser.yxx" + case 60: +#line 368 "dcParser.yxx" { yyval.u.subatomic = ST_int32array; } break; - case 60: -#line 367 "dcParser.yxx" + case 61: +#line 372 "dcParser.yxx" { yyval.u.subatomic = ST_uint8array; } break; - case 61: -#line 371 "dcParser.yxx" + case 62: +#line 376 "dcParser.yxx" { yyval.u.subatomic = ST_uint16array; } break; - case 62: -#line 375 "dcParser.yxx" + case 63: +#line 380 "dcParser.yxx" { yyval.u.subatomic = ST_uint32array; } break; - case 63: -#line 379 "dcParser.yxx" + case 64: +#line 384 "dcParser.yxx" { yyval.u.subatomic = ST_uint32uint8array; } break; - case 65: -#line 387 "dcParser.yxx" + case 66: +#line 392 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_required; } break; - case 66: -#line 391 "dcParser.yxx" + case 67: +#line 396 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_broadcast; } break; - case 67: -#line 395 "dcParser.yxx" + case 68: +#line 400 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_p2p; } break; - case 68: -#line 399 "dcParser.yxx" + case 69: +#line 404 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_ram; } break; - case 69: -#line 403 "dcParser.yxx" + case 70: +#line 408 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_db; } break; - case 70: -#line 407 "dcParser.yxx" + case 71: +#line 412 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_clsend; } break; - case 71: -#line 411 "dcParser.yxx" + case 72: +#line 416 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_clrecv; } break; - case 72: -#line 415 "dcParser.yxx" + case 73: +#line 420 "dcParser.yxx" { current_atomic->_flags |= DCAtomicField::F_ownsend; } break; - case 73: -#line 422 "dcParser.yxx" + case 74: +#line 427 "dcParser.yxx" { current_molecular = new DCMolecularField; current_molecular->_name = yyvsp[-1].str; @@ -1584,8 +1597,8 @@ yyreduce: } break; - case 75: -#line 434 "dcParser.yxx" + case 76: +#line 439 "dcParser.yxx" { if (yyvsp[0].u.atomic != (DCAtomicField *)NULL) { current_molecular->_fields.push_back(yyvsp[0].u.atomic); @@ -1593,8 +1606,8 @@ yyreduce: } break; - case 76: -#line 440 "dcParser.yxx" + case 77: +#line 445 "dcParser.yxx" { if (yyvsp[0].u.atomic != (DCAtomicField *)NULL) { current_molecular->_fields.push_back(yyvsp[0].u.atomic); @@ -1611,7 +1624,7 @@ yyreduce: } /* Line 991 of yacc.c. */ -#line 1614 "y.tab.c" +#line 1627 "y.tab.c" yyvsp -= yylen; yyssp -= yylen; diff --git a/direct/src/dcparser/dcParser.h.prebuilt b/direct/src/dcparser/dcParser.h.prebuilt index 236f088397..1430e02ce6 100644 --- a/direct/src/dcparser/dcParser.h.prebuilt +++ b/direct/src/dcparser/dcParser.h.prebuilt @@ -46,22 +46,23 @@ KW_FLOAT64 = 272, KW_STRING = 273, KW_BLOB = 274, - KW_INT8ARRAY = 275, - KW_INT16ARRAY = 276, - KW_INT32ARRAY = 277, - KW_UINT8ARRAY = 278, - KW_UINT16ARRAY = 279, - KW_UINT32ARRAY = 280, - KW_UINT32UINT8ARRAY = 281, - KW_MOL = 282, - KW_REQUIRED = 283, - KW_BROADCAST = 284, - KW_P2P = 285, - KW_RAM = 286, - KW_DB = 287, - KW_CLSEND = 288, - KW_CLRECV = 289, - KW_OWNSEND = 290 + KW_BLOB32 = 275, + KW_INT8ARRAY = 276, + KW_INT16ARRAY = 277, + KW_INT32ARRAY = 278, + KW_UINT8ARRAY = 279, + KW_UINT16ARRAY = 280, + KW_UINT32ARRAY = 281, + KW_UINT32UINT8ARRAY = 282, + KW_MOL = 283, + KW_REQUIRED = 284, + KW_BROADCAST = 285, + KW_P2P = 286, + KW_RAM = 287, + KW_DB = 288, + KW_CLSEND = 289, + KW_CLRECV = 290, + KW_OWNSEND = 291 }; #endif #define INTEGER 258 @@ -81,22 +82,23 @@ #define KW_FLOAT64 272 #define KW_STRING 273 #define KW_BLOB 274 -#define KW_INT8ARRAY 275 -#define KW_INT16ARRAY 276 -#define KW_INT32ARRAY 277 -#define KW_UINT8ARRAY 278 -#define KW_UINT16ARRAY 279 -#define KW_UINT32ARRAY 280 -#define KW_UINT32UINT8ARRAY 281 -#define KW_MOL 282 -#define KW_REQUIRED 283 -#define KW_BROADCAST 284 -#define KW_P2P 285 -#define KW_RAM 286 -#define KW_DB 287 -#define KW_CLSEND 288 -#define KW_CLRECV 289 -#define KW_OWNSEND 290 +#define KW_BLOB32 275 +#define KW_INT8ARRAY 276 +#define KW_INT16ARRAY 277 +#define KW_INT32ARRAY 278 +#define KW_UINT8ARRAY 279 +#define KW_UINT16ARRAY 280 +#define KW_UINT32ARRAY 281 +#define KW_UINT32UINT8ARRAY 282 +#define KW_MOL 283 +#define KW_REQUIRED 284 +#define KW_BROADCAST 285 +#define KW_P2P 286 +#define KW_RAM 287 +#define KW_DB 288 +#define KW_CLSEND 289 +#define KW_CLRECV 290 +#define KW_OWNSEND 291 diff --git a/panda/src/egg/lexer.cxx.prebuilt b/panda/src/egg/lexer.cxx.prebuilt index b0ef8c012b..bbb3741042 100644 --- a/panda/src/egg/lexer.cxx.prebuilt +++ b/panda/src/egg/lexer.cxx.prebuilt @@ -300,67 +300,68 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 92 -#define YY_END_OF_BUFFER 93 -static yyconst short int yy_accept[518] = +#define YY_NUM_RULES 93 +#define YY_END_OF_BUFFER 94 +static yyconst short int yy_accept[522] = { 0, - 0, 0, 93, 91, 2, 1, 90, 91, 91, 91, - 91, 84, 84, 91, 91, 91, 5, 91, 1, 91, - 84, 91, 84, 4, 3, 84, 86, 91, 85, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 3, 3, 86, 91, 84, 85, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 0, 0, 94, 92, 2, 1, 91, 92, 92, 92, + 92, 85, 85, 92, 92, 92, 5, 92, 1, 92, + 85, 92, 85, 4, 3, 85, 87, 92, 86, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 3, 3, 87, 92, 85, 86, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 63, - 91, 91, 91, 88, 91, 89, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 16, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 30, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 75, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 22, - 91, 91, 91, 91, 20, 91, 91, 91, 91, 91, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 64, 92, 92, 92, 89, 92, 90, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 16, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 30, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 76, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 22, 92, 92, 92, 92, 20, 92, 92, 92, - 29, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 49, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 64, - 91, 91, 91, 91, 91, 91, 72, 91, 91, 91, - 91, 91, 91, 87, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 17, 91, 91, 91, 91, 21, 91, - 26, 91, 91, 91, 91, 91, 91, 35, 91, 91, - 91, 40, 91, 91, 91, 91, 91, 91, 91, 50, - 91, 52, 53, 54, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 70, 71, 91, 91, 91, + 92, 92, 29, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 50, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 65, 92, 92, 92, 92, 92, 92, 73, + 92, 92, 92, 92, 92, 92, 88, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 17, 92, 92, 92, + 92, 21, 92, 26, 92, 92, 92, 92, 92, 92, + 35, 36, 92, 92, 92, 41, 92, 92, 92, 92, + 92, 92, 92, 51, 92, 53, 54, 55, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 71, - 91, 91, 91, 87, 91, 7, 91, 91, 11, 91, - 91, 91, 91, 91, 91, 19, 24, 91, 91, 28, - 91, 91, 31, 32, 91, 91, 39, 91, 91, 91, - 91, 45, 91, 91, 91, 91, 91, 91, 57, 91, - 91, 91, 62, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 10, 12, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 41, 91, 91, 91, 91, 91, 91, 51, 55, 56, - 91, 91, 60, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 78, 91, 91, 91, 91, 91, 91, + 72, 92, 92, 92, 92, 92, 92, 88, 92, 7, + 92, 92, 11, 92, 92, 92, 92, 92, 92, 19, + 24, 92, 92, 28, 92, 92, 31, 32, 92, 92, + 40, 92, 92, 92, 92, 46, 92, 92, 92, 92, + 92, 92, 58, 92, 92, 92, 63, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 10, 12, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 42, 92, 92, 92, 92, 92, + 92, 52, 56, 57, 92, 92, 61, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 79, 92, 92, - 13, 14, 91, 91, 18, 91, 91, 33, 91, 91, - 37, 38, 91, 91, 91, 91, 91, 48, 91, 59, - 91, 65, 66, 91, 91, 91, 73, 74, 76, 77, - 91, 91, 91, 91, 91, 91, 91, 23, 91, 91, - 34, 36, 91, 91, 91, 91, 91, 58, 91, 67, - 91, 91, 91, 91, 91, 82, 91, 91, 8, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 68, - 69, 91, 91, 81, 91, 91, 91, 91, 91, 27, - 42, 91, 44, 46, 47, 91, 79, 80, 91, 6, - 91, 91, 91, 91, 91, 83, 91, 91, 91, 43, + 92, 92, 92, 92, 13, 14, 92, 92, 18, 92, + 92, 33, 92, 92, 38, 39, 92, 92, 92, 92, + 92, 49, 92, 60, 92, 66, 67, 92, 92, 92, + 74, 75, 77, 78, 92, 92, 92, 92, 92, 92, + 92, 23, 92, 92, 34, 37, 92, 92, 92, 92, + 92, 59, 92, 68, 92, 92, 92, 92, 92, 83, + 92, 92, 8, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 69, 70, 92, 92, 82, 92, 92, + 92, 92, 92, 27, 43, 92, 45, 47, 48, 92, + 80, 81, 92, 6, 92, 92, 92, 92, 92, 84, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 9, - 91, 91, 61, 15, 91, 25, 0 + 92, 92, 92, 44, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 9, 92, 92, 62, 15, 92, 25, + 0 } ; static yyconst int yy_ec[256] = @@ -404,282 +405,284 @@ static yyconst int yy_meta[46] = 1, 1, 1, 1, 2 } ; -static yyconst short int yy_base[523] = +static yyconst short int yy_base[527] = { 0, - 0, 44, 624, 0, 625, 0, 625, 8, 81, 22, - 18, 100, 19, 123, 591, 603, 625, 0, 0, 29, - 30, 589, 51, 0, 65, 68, 14, 159, 164, 61, - 91, 170, 43, 584, 592, 586, 584, 584, 582, 68, - 64, 66, 581, 93, 175, 181, 128, 111, 589, 588, - 579, 586, 136, 0, 18, 207, 213, 0, 565, 589, - 577, 574, 586, 571, 102, 586, 566, 564, 563, 566, - 573, 561, 556, 552, 562, 563, 554, 558, 556, 173, - 562, 555, 554, 548, 563, 561, 547, 546, 553, 558, - 541, 48, 554, 557, 538, 556, 555, 538, 553, 544, + 0, 44, 628, 0, 629, 0, 629, 8, 81, 22, + 18, 100, 19, 123, 595, 607, 629, 0, 0, 29, + 30, 593, 51, 0, 65, 68, 14, 159, 164, 61, + 91, 170, 43, 588, 596, 590, 588, 588, 70, 68, + 66, 86, 586, 93, 175, 181, 128, 111, 594, 593, + 584, 591, 136, 0, 18, 207, 213, 0, 570, 594, + 582, 579, 591, 576, 102, 591, 571, 569, 568, 571, + 578, 566, 561, 557, 567, 568, 559, 563, 561, 173, + 567, 560, 560, 558, 552, 567, 565, 551, 550, 557, + 562, 545, 48, 558, 561, 542, 560, 559, 542, 557, - 102, 528, 546, 176, 530, 538, 537, 548, 535, 0, - 534, 526, 530, 0, 549, 0, 532, 537, 527, 534, - 519, 517, 523, 521, 515, 0, 512, 532, 510, 511, - 526, 522, 527, 499, 523, 518, 522, 500, 521, 0, - 507, 498, 503, 496, 499, 146, 509, 507, 499, 509, - 505, 504, 488, 493, 481, 506, 503, 188, 489, 490, - 480, 496, 479, 486, 498, 68, 482, 481, 488, 480, - 493, 477, 476, 0, 475, 474, 467, 499, 461, 479, - 478, 480, 469, 492, 474, 469, 472, 472, 476, 0, - 473, 460, 471, 465, 0, 471, 456, 469, 459, 450, + 548, 82, 532, 550, 176, 534, 542, 541, 552, 539, + 0, 538, 530, 534, 0, 553, 0, 536, 541, 531, + 538, 523, 521, 527, 525, 519, 0, 516, 536, 514, + 515, 530, 526, 531, 503, 527, 522, 526, 504, 525, + 0, 511, 502, 507, 500, 514, 502, 146, 512, 510, + 502, 512, 508, 507, 491, 496, 484, 509, 506, 188, + 492, 493, 483, 499, 482, 489, 501, 199, 485, 484, + 491, 483, 496, 480, 479, 0, 478, 477, 470, 502, + 464, 482, 481, 483, 472, 495, 477, 472, 475, 475, + 479, 0, 476, 463, 474, 468, 0, 474, 459, 472, - 0, 444, 463, 443, 443, 462, 442, 450, 446, 458, - 455, 436, 451, 435, 451, 431, 443, 0, 450, 428, - 448, 447, 446, 435, 118, 438, 433, 438, 435, 0, - 430, 417, 430, 417, 436, 435, 0, 418, 417, 416, - 415, 424, 427, 222, 409, 427, 410, 419, 424, 418, - 417, 406, 410, 0, 404, 416, 417, 416, 0, 405, - 0, 408, 413, 407, 396, 410, 409, 0, 398, 382, - 406, 0, 392, 217, 383, 403, 387, 388, 384, 0, - 393, 0, 0, 0, 384, 378, 396, 380, 379, 384, - 392, 371, 371, 368, 134, 0, 0, 367, 366, 365, + 462, 453, 0, 447, 466, 446, 446, 465, 464, 444, + 452, 448, 460, 457, 438, 453, 437, 453, 433, 445, + 0, 452, 430, 450, 449, 448, 437, 118, 440, 435, + 440, 437, 0, 432, 419, 432, 419, 438, 437, 0, + 420, 419, 418, 417, 426, 429, 227, 411, 429, 412, + 421, 426, 420, 419, 408, 412, 0, 406, 418, 419, + 418, 0, 407, 0, 410, 415, 409, 398, 412, 411, + 0, 0, 400, 384, 408, 0, 394, 215, 385, 405, + 389, 390, 386, 0, 395, 0, 0, 0, 386, 380, + 398, 382, 381, 386, 394, 373, 373, 370, 134, 0, - 364, 359, 368, 0, 378, 0, 379, 380, 0, 379, - 372, 356, 361, 371, 361, 0, 0, 369, 370, 0, - 365, 366, 0, 0, 367, 178, 0, 368, 345, 344, - 344, 0, 356, 353, 347, 361, 360, 359, 0, 354, - 349, 230, 0, 335, 349, 345, 337, 350, 331, 330, - 329, 328, 231, 337, 324, 326, 0, 0, 344, 343, - 340, 335, 340, 316, 333, 337, 330, 322, 334, 333, - 0, 313, 312, 304, 323, 320, 327, 0, 0, 0, - 320, 325, 0, 308, 323, 322, 301, 301, 298, 318, - 317, 316, 315, 0, 299, 297, 306, 297, 291, 304, + 0, 369, 368, 367, 366, 361, 370, 0, 380, 0, + 381, 382, 0, 381, 374, 358, 363, 373, 363, 0, + 0, 371, 372, 0, 367, 368, 0, 0, 369, 178, + 0, 370, 347, 346, 346, 0, 358, 355, 349, 363, + 362, 361, 0, 356, 351, 236, 0, 337, 351, 347, + 339, 352, 333, 332, 331, 330, 226, 339, 326, 328, + 0, 0, 346, 345, 342, 337, 342, 318, 335, 339, + 332, 324, 336, 335, 0, 315, 314, 306, 325, 322, + 329, 0, 0, 0, 322, 327, 0, 310, 325, 324, + 303, 303, 300, 320, 319, 318, 317, 0, 301, 299, - 0, 0, 287, 307, 0, 300, 299, 0, 304, 303, - 0, 0, 279, 294, 283, 284, 289, 0, 297, 0, - 281, 0, 0, 295, 280, 287, 0, 0, 0, 0, - 282, 275, 283, 197, 266, 232, 282, 0, 268, 267, - 0, 0, 279, 282, 277, 261, 260, 0, 275, 0, - 279, 278, 263, 263, 275, 0, 254, 267, 0, 266, - 251, 249, 269, 268, 263, 266, 265, 264, 253, 0, - 0, 262, 261, 0, 272, 249, 232, 220, 239, 0, - 0, 238, 0, 0, 0, 222, 0, 0, 242, 0, - 220, 220, 214, 238, 225, 0, 217, 201, 195, 0, + 308, 299, 293, 306, 0, 0, 289, 309, 0, 302, + 301, 0, 306, 305, 0, 0, 281, 296, 285, 286, + 291, 0, 299, 0, 283, 0, 0, 297, 282, 289, + 0, 0, 0, 0, 284, 277, 285, 197, 268, 237, + 284, 0, 270, 269, 0, 0, 281, 284, 279, 263, + 262, 0, 277, 0, 281, 280, 265, 265, 277, 0, + 256, 269, 0, 268, 253, 251, 271, 270, 265, 268, + 267, 266, 255, 0, 0, 264, 263, 0, 274, 261, + 245, 233, 252, 0, 0, 251, 0, 0, 0, 235, + 0, 0, 255, 0, 223, 222, 214, 238, 217, 0, - 172, 103, 107, 92, 75, 82, 46, 35, 32, 0, - 21, 1, 0, 0, 1, 0, 625, 267, 0, 270, - 272, 274 + 212, 196, 199, 0, 172, 103, 107, 94, 66, 69, + 46, 35, 32, 0, 21, 1, 0, 0, 1, 0, + 629, 262, 0, 265, 267, 269 } ; -static yyconst short int yy_def[523] = +static yyconst short int yy_def[527] = { 0, - 518, 518, 517, 519, 517, 520, 517, 519, 519, 519, - 519, 519, 12, 519, 519, 519, 517, 519, 520, 519, - 12, 519, 519, 519, 521, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 521, 522, 519, 519, 519, 29, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + 522, 522, 521, 523, 521, 524, 521, 523, 523, 523, + 523, 523, 12, 523, 523, 523, 521, 523, 524, 523, + 12, 523, 523, 523, 525, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 525, 526, 523, 523, 523, 29, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, - 519, 519, 519, 244, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + 523, 523, 523, 523, 523, 523, 523, 247, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, - 519, 519, 519, 519, 519, 519, 519, 519, 519, 519, - 519, 519, 519, 519, 519, 519, 0, 517, 517, 517, - 517, 517 + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, + 0, 521, 521, 521, 521, 521 } ; -static yyconst short int yy_nxt[671] = +static yyconst short int yy_nxt[675] = { 0, - 18, 5, 6, 7, 517, 517, 8, 9, 10, 11, - 12, 13, 13, 13, 13, 14, 20, 516, 21, 21, + 18, 5, 6, 7, 521, 521, 8, 9, 10, 11, + 12, 13, 13, 13, 13, 14, 20, 520, 21, 21, 21, 21, 21, 24, 55, 55, 15, 25, 55, 55, - 515, 16, 23, 23, 23, 23, 23, 514, 18, 23, - 23, 23, 23, 23, 17, 5, 6, 7, 513, 18, + 519, 16, 23, 23, 23, 23, 23, 518, 18, 23, + 23, 23, 23, 23, 17, 5, 6, 7, 517, 18, 8, 9, 10, 11, 12, 13, 13, 13, 13, 14, - 18, 23, 23, 23, 23, 23, 54, 512, 54, 76, - 15, 18, 77, 28, 154, 16, 511, 155, 23, 23, - 23, 23, 23, 59, 60, 89, 84, 61, 17, 20, - 28, 21, 21, 21, 21, 21, 87, 231, 510, 62, + 18, 23, 23, 23, 23, 23, 54, 516, 54, 76, + 15, 18, 77, 28, 156, 16, 515, 157, 23, 23, + 23, 23, 23, 59, 60, 514, 85, 61, 17, 20, + 28, 21, 21, 21, 21, 21, 83, 513, 88, 62, - 85, 90, 88, 86, 91, 232, 509, 22, 26, 54, - 21, 21, 21, 21, 21, 93, 63, 94, 109, 27, - 64, 164, 28, 65, 508, 95, 165, 110, 111, 507, - 66, 123, 124, 112, 125, 106, 286, 54, 506, 54, - 287, 29, 30, 31, 32, 107, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 347, 44, 45, - 46, 47, 48, 348, 49, 56, 56, 108, 207, 57, - 57, 57, 57, 57, 58, 58, 58, 58, 58, 96, - 54, 208, 58, 58, 58, 58, 58, 58, 67, 140, - 68, 369, 370, 141, 168, 97, 69, 98, 169, 101, + 86, 166, 84, 87, 89, 90, 167, 22, 26, 54, + 21, 21, 21, 21, 21, 94, 63, 95, 110, 27, + 64, 91, 28, 65, 92, 96, 512, 111, 112, 511, + 66, 124, 125, 113, 126, 107, 290, 54, 510, 54, + 291, 29, 30, 31, 32, 108, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 351, 44, 45, + 46, 47, 48, 352, 49, 56, 56, 109, 210, 57, + 57, 57, 57, 57, 58, 58, 58, 58, 58, 97, + 54, 211, 58, 58, 58, 58, 58, 58, 67, 141, + 68, 373, 374, 142, 170, 98, 69, 99, 171, 102, - 99, 70, 170, 102, 505, 71, 220, 72, 73, 142, - 103, 74, 75, 456, 457, 100, 104, 57, 57, 57, - 57, 57, 105, 57, 57, 57, 57, 57, 504, 221, - 222, 223, 304, 304, 304, 304, 304, 329, 503, 502, - 304, 304, 304, 304, 304, 304, 383, 394, 459, 395, - 384, 501, 460, 330, 500, 499, 498, 497, 496, 495, - 494, 493, 492, 491, 396, 490, 397, 4, 4, 4, - 19, 19, 53, 53, 54, 54, 489, 488, 487, 486, - 485, 484, 483, 482, 481, 480, 479, 478, 477, 476, - 475, 474, 473, 472, 471, 470, 469, 468, 467, 466, + 100, 70, 172, 103, 509, 71, 223, 72, 73, 143, + 104, 74, 75, 460, 461, 101, 105, 57, 57, 57, + 57, 57, 106, 57, 57, 57, 57, 57, 234, 224, + 225, 226, 508, 507, 506, 333, 235, 308, 308, 308, + 308, 308, 398, 505, 399, 308, 308, 308, 308, 308, + 308, 334, 387, 463, 504, 503, 388, 464, 502, 400, + 501, 401, 4, 4, 4, 19, 19, 53, 53, 54, + 54, 500, 499, 498, 497, 496, 495, 494, 493, 492, + 491, 490, 489, 488, 487, 486, 485, 484, 483, 482, + 481, 480, 479, 478, 477, 476, 475, 474, 473, 472, - 465, 464, 463, 462, 461, 458, 455, 454, 453, 452, - 451, 450, 449, 448, 447, 446, 445, 444, 443, 442, - 441, 440, 439, 438, 437, 436, 435, 434, 433, 432, - 431, 430, 429, 428, 427, 426, 425, 424, 423, 422, - 421, 420, 419, 418, 417, 416, 415, 414, 413, 412, - 411, 410, 409, 408, 407, 406, 405, 404, 403, 402, - 401, 400, 399, 398, 393, 392, 391, 390, 389, 388, - 387, 386, 385, 382, 381, 380, 379, 378, 377, 376, - 375, 374, 373, 372, 371, 368, 367, 366, 365, 364, - 363, 362, 361, 360, 359, 358, 357, 356, 355, 354, + 471, 470, 469, 468, 467, 466, 465, 462, 459, 458, + 457, 456, 455, 454, 453, 452, 451, 450, 449, 448, + 447, 446, 445, 444, 443, 442, 441, 440, 439, 438, + 437, 436, 435, 434, 433, 432, 431, 430, 429, 428, + 427, 426, 425, 424, 423, 422, 421, 420, 419, 418, + 417, 416, 415, 414, 413, 412, 411, 410, 409, 408, + 407, 406, 405, 404, 403, 402, 397, 396, 395, 394, + 393, 392, 391, 390, 389, 386, 385, 384, 383, 382, + 381, 380, 379, 378, 377, 376, 375, 372, 371, 370, + 369, 368, 367, 366, 365, 364, 363, 362, 361, 360, - 353, 352, 351, 350, 349, 346, 345, 344, 343, 342, - 341, 340, 339, 338, 337, 336, 335, 334, 333, 332, - 331, 328, 327, 326, 325, 324, 323, 322, 321, 320, - 319, 318, 317, 316, 315, 314, 313, 312, 311, 310, - 309, 308, 307, 306, 305, 303, 302, 301, 300, 299, - 298, 297, 296, 295, 294, 293, 292, 291, 290, 289, - 288, 285, 284, 283, 282, 281, 280, 279, 278, 277, - 276, 275, 274, 273, 272, 271, 270, 269, 268, 267, - 266, 265, 264, 263, 262, 261, 260, 259, 258, 257, - 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, + 359, 358, 357, 356, 355, 354, 353, 350, 349, 348, + 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, + 337, 336, 335, 332, 331, 330, 329, 328, 327, 326, + 325, 324, 323, 322, 321, 320, 319, 318, 317, 316, + 315, 314, 313, 312, 311, 310, 309, 307, 306, 305, + 304, 303, 302, 301, 300, 299, 298, 297, 296, 295, + 294, 293, 292, 289, 288, 287, 286, 285, 284, 283, + 282, 281, 280, 279, 278, 277, 276, 275, 274, 273, + 272, 271, 270, 269, 268, 267, 266, 265, 264, 263, + 262, 261, 260, 259, 258, 257, 256, 255, 254, 253, - 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, - 236, 235, 234, 233, 230, 229, 228, 227, 226, 225, - 224, 219, 218, 217, 216, 215, 214, 213, 212, 211, - 210, 209, 206, 205, 204, 203, 202, 201, 200, 199, - 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, - 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, - 178, 177, 176, 175, 174, 173, 172, 171, 167, 166, - 163, 162, 161, 160, 159, 158, 157, 156, 153, 152, - 151, 150, 149, 148, 147, 146, 145, 144, 143, 139, - 138, 137, 136, 135, 134, 133, 132, 131, 130, 129, + 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, + 242, 241, 240, 239, 238, 237, 236, 233, 232, 231, + 230, 229, 228, 227, 222, 221, 220, 219, 218, 217, + 216, 215, 214, 213, 212, 209, 208, 207, 206, 205, + 204, 203, 202, 201, 200, 199, 198, 197, 196, 195, + 194, 193, 192, 191, 190, 189, 188, 187, 186, 185, + 184, 183, 182, 181, 180, 179, 178, 177, 176, 175, + 174, 173, 169, 168, 165, 164, 163, 162, 161, 160, + 159, 158, 155, 154, 153, 152, 151, 150, 149, 148, + 147, 146, 145, 144, 140, 139, 138, 137, 136, 135, - 128, 127, 126, 122, 121, 120, 119, 118, 117, 116, - 115, 114, 113, 92, 83, 82, 81, 80, 79, 78, - 52, 51, 50, 517, 3, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517 + 134, 133, 132, 131, 130, 129, 128, 127, 123, 122, + 121, 120, 119, 118, 117, 116, 115, 114, 93, 82, + 81, 80, 79, 78, 52, 51, 50, 521, 3, 521, + 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, + 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, + 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, + 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, + 521, 521, 521, 521 } ; -static yyconst short int yy_chk[671] = +static yyconst short int yy_chk[675] = { 0, - 519, 1, 1, 1, 0, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 8, 515, 8, 8, + 523, 1, 1, 1, 0, 0, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 8, 519, 8, 8, 8, 8, 8, 11, 27, 27, 1, 11, 55, 55, - 512, 1, 10, 10, 10, 10, 10, 511, 13, 20, - 20, 20, 20, 20, 1, 2, 2, 2, 509, 21, + 516, 1, 10, 10, 10, 10, 10, 515, 13, 20, + 20, 20, 20, 20, 1, 2, 2, 2, 513, 21, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 13, 23, 23, 23, 23, 23, 25, 508, 25, 33, - 2, 21, 33, 23, 92, 2, 507, 92, 26, 26, - 26, 26, 26, 30, 30, 42, 40, 30, 2, 9, - 26, 9, 9, 9, 9, 9, 41, 166, 506, 30, + 13, 23, 23, 23, 23, 23, 25, 512, 25, 33, + 2, 21, 33, 23, 93, 2, 511, 93, 26, 26, + 26, 26, 26, 30, 30, 510, 40, 30, 2, 9, + 26, 9, 9, 9, 9, 9, 39, 509, 41, 30, - 40, 42, 41, 40, 42, 166, 505, 9, 12, 25, + 40, 102, 39, 40, 41, 42, 102, 9, 12, 25, 12, 12, 12, 12, 12, 44, 31, 44, 48, 12, - 31, 101, 12, 31, 504, 44, 101, 48, 48, 503, - 31, 65, 65, 48, 65, 47, 225, 53, 502, 53, - 225, 12, 14, 14, 14, 47, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 295, 14, 14, - 14, 14, 14, 295, 14, 28, 28, 47, 146, 28, + 31, 42, 12, 31, 42, 44, 508, 48, 48, 507, + 31, 65, 65, 48, 65, 47, 228, 53, 506, 53, + 228, 12, 14, 14, 14, 47, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 299, 14, 14, + 14, 14, 14, 299, 14, 28, 28, 47, 148, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 45, - 53, 146, 29, 29, 29, 29, 29, 29, 32, 80, - 32, 326, 326, 80, 104, 45, 32, 45, 104, 46, + 53, 148, 29, 29, 29, 29, 29, 29, 32, 80, + 32, 330, 330, 80, 105, 45, 32, 45, 105, 46, - 45, 32, 104, 46, 501, 32, 158, 32, 32, 80, - 46, 32, 32, 434, 434, 45, 46, 56, 56, 56, - 56, 56, 46, 57, 57, 57, 57, 57, 499, 158, - 158, 158, 244, 244, 244, 244, 244, 274, 498, 497, - 244, 244, 244, 244, 244, 244, 342, 353, 436, 353, - 342, 495, 436, 274, 494, 493, 492, 491, 489, 486, - 482, 479, 478, 477, 353, 476, 353, 518, 518, 518, - 520, 520, 521, 521, 522, 522, 475, 473, 472, 469, - 468, 467, 466, 465, 464, 463, 462, 461, 460, 458, - 457, 455, 454, 453, 452, 451, 449, 447, 446, 445, + 45, 32, 105, 46, 505, 32, 160, 32, 32, 80, + 46, 32, 32, 438, 438, 45, 46, 56, 56, 56, + 56, 56, 46, 57, 57, 57, 57, 57, 168, 160, + 160, 160, 503, 502, 501, 278, 168, 247, 247, 247, + 247, 247, 357, 499, 357, 247, 247, 247, 247, 247, + 247, 278, 346, 440, 498, 497, 346, 440, 496, 357, + 495, 357, 522, 522, 522, 524, 524, 525, 525, 526, + 526, 493, 490, 486, 483, 482, 481, 480, 479, 477, + 476, 473, 472, 471, 470, 469, 468, 467, 466, 465, + 464, 462, 461, 459, 458, 457, 456, 455, 453, 451, - 444, 443, 440, 439, 437, 435, 433, 432, 431, 426, - 425, 424, 421, 419, 417, 416, 415, 414, 413, 410, - 409, 407, 406, 404, 403, 400, 399, 398, 397, 396, - 395, 393, 392, 391, 390, 389, 388, 387, 386, 385, - 384, 382, 381, 377, 376, 375, 374, 373, 372, 370, - 369, 368, 367, 366, 365, 364, 363, 362, 361, 360, - 359, 356, 355, 354, 352, 351, 350, 349, 348, 347, - 346, 345, 344, 341, 340, 338, 337, 336, 335, 334, - 333, 331, 330, 329, 328, 325, 322, 321, 319, 318, - 315, 314, 313, 312, 311, 310, 308, 307, 305, 303, + 450, 449, 448, 447, 444, 443, 441, 439, 437, 436, + 435, 430, 429, 428, 425, 423, 421, 420, 419, 418, + 417, 414, 413, 411, 410, 408, 407, 404, 403, 402, + 401, 400, 399, 397, 396, 395, 394, 393, 392, 391, + 390, 389, 388, 386, 385, 381, 380, 379, 378, 377, + 376, 374, 373, 372, 371, 370, 369, 368, 367, 366, + 365, 364, 363, 360, 359, 358, 356, 355, 354, 353, + 352, 351, 350, 349, 348, 345, 344, 342, 341, 340, + 339, 338, 337, 335, 334, 333, 332, 329, 326, 325, + 323, 322, 319, 318, 317, 316, 315, 314, 312, 311, - 302, 301, 300, 299, 298, 294, 293, 292, 291, 290, - 289, 288, 287, 286, 285, 281, 279, 278, 277, 276, - 275, 273, 271, 270, 269, 267, 266, 265, 264, 263, - 262, 260, 258, 257, 256, 255, 253, 252, 251, 250, - 249, 248, 247, 246, 245, 243, 242, 241, 240, 239, - 238, 236, 235, 234, 233, 232, 231, 229, 228, 227, - 226, 224, 223, 222, 221, 220, 219, 217, 216, 215, - 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, - 204, 203, 202, 200, 199, 198, 197, 196, 194, 193, - 192, 191, 189, 188, 187, 186, 185, 184, 183, 182, + 309, 307, 306, 305, 304, 303, 302, 298, 297, 296, + 295, 294, 293, 292, 291, 290, 289, 285, 283, 282, + 281, 280, 279, 277, 275, 274, 273, 270, 269, 268, + 267, 266, 265, 263, 261, 260, 259, 258, 256, 255, + 254, 253, 252, 251, 250, 249, 248, 246, 245, 244, + 243, 242, 241, 239, 238, 237, 236, 235, 234, 232, + 231, 230, 229, 227, 226, 225, 224, 223, 222, 220, + 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, + 209, 208, 207, 206, 205, 204, 202, 201, 200, 199, + 198, 196, 195, 194, 193, 191, 190, 189, 188, 187, - 181, 180, 179, 178, 177, 176, 175, 173, 172, 171, - 170, 169, 168, 167, 165, 164, 163, 162, 161, 160, - 159, 157, 156, 155, 154, 153, 152, 151, 150, 149, - 148, 147, 145, 144, 143, 142, 141, 139, 138, 137, - 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, - 125, 124, 123, 122, 121, 120, 119, 118, 117, 115, - 113, 112, 111, 109, 108, 107, 106, 105, 103, 102, - 100, 99, 98, 97, 96, 95, 94, 93, 91, 90, - 89, 88, 87, 86, 85, 84, 83, 82, 81, 79, - 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, + 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, + 175, 174, 173, 172, 171, 170, 169, 167, 166, 165, + 164, 163, 162, 161, 159, 158, 157, 156, 155, 154, + 153, 152, 151, 150, 149, 147, 146, 145, 144, 143, + 142, 140, 139, 138, 137, 136, 135, 134, 133, 132, + 131, 130, 129, 128, 126, 125, 124, 123, 122, 121, + 120, 119, 118, 116, 114, 113, 112, 110, 109, 108, + 107, 106, 104, 103, 101, 100, 99, 98, 97, 96, + 95, 94, 92, 91, 90, 89, 88, 87, 86, 85, + 84, 83, 82, 81, 79, 78, 77, 76, 75, 74, - 68, 67, 66, 64, 63, 62, 61, 60, 59, 52, - 51, 50, 49, 43, 39, 38, 37, 36, 35, 34, - 22, 16, 15, 3, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, - 517, 517, 517, 517, 517, 517, 517, 517, 517, 517 + 73, 72, 71, 70, 69, 68, 67, 66, 64, 63, + 62, 61, 60, 59, 52, 51, 50, 49, 43, 38, + 37, 36, 35, 34, 22, 16, 15, 3, 521, 521, + 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, + 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, + 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, + 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, + 521, 521, 521, 521 } ; static yy_state_type yy_last_accepting_state; @@ -977,7 +980,7 @@ INLINE void accept() { col_number += yyleng; } -#line 982 "lex.yy.c" +#line 985 "lex.yy.c" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -1125,7 +1128,7 @@ YY_MALLOC_DECL YY_DECL { register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; + register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; #line 290 "lexer.lxx" @@ -1139,7 +1142,7 @@ YY_DECL } -#line 1144 "lex.yy.c" +#line 1147 "lex.yy.c" if ( yy_init ) { @@ -1190,13 +1193,13 @@ 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 >= 518 ) + if ( yy_current_state >= 522 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 625 ); + while ( yy_base[yy_current_state] != 629 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1510,7 +1513,7 @@ YY_RULE_SETUP #line 454 "lexer.lxx" { accept(); - return LOOP; + return LINE; } YY_BREAK case 36: @@ -1518,7 +1521,7 @@ YY_RULE_SETUP #line 458 "lexer.lxx" { accept(); - return MATERIAL; + return LOOP; } YY_BREAK case 37: @@ -1526,7 +1529,7 @@ YY_RULE_SETUP #line 462 "lexer.lxx" { accept(); - return MATRIX3; + return MATERIAL; } YY_BREAK case 38: @@ -1534,7 +1537,7 @@ YY_RULE_SETUP #line 466 "lexer.lxx" { accept(); - return MATRIX4; + return MATRIX3; } YY_BREAK case 39: @@ -1542,7 +1545,7 @@ YY_RULE_SETUP #line 470 "lexer.lxx" { accept(); - return MODEL; + return MATRIX4; } YY_BREAK case 40: @@ -1550,7 +1553,7 @@ YY_RULE_SETUP #line 474 "lexer.lxx" { accept(); - return MREF; + return MODEL; } YY_BREAK case 41: @@ -1558,7 +1561,7 @@ YY_RULE_SETUP #line 478 "lexer.lxx" { accept(); - return NORMAL; + return MREF; } YY_BREAK case 42: @@ -1566,7 +1569,7 @@ YY_RULE_SETUP #line 482 "lexer.lxx" { accept(); - return NURBSCURVE; + return NORMAL; } YY_BREAK case 43: @@ -1574,7 +1577,7 @@ YY_RULE_SETUP #line 486 "lexer.lxx" { accept(); - return NURBSSURFACE; + return NURBSCURVE; } YY_BREAK case 44: @@ -1582,7 +1585,7 @@ YY_RULE_SETUP #line 490 "lexer.lxx" { accept(); - return OBJECTTYPE; + return NURBSSURFACE; } YY_BREAK case 45: @@ -1590,7 +1593,7 @@ YY_RULE_SETUP #line 494 "lexer.lxx" { accept(); - return ORDER; + return OBJECTTYPE; } YY_BREAK case 46: @@ -1598,7 +1601,7 @@ YY_RULE_SETUP #line 498 "lexer.lxx" { accept(); - return OUTTANGENT; + return ORDER; } YY_BREAK case 47: @@ -1606,7 +1609,7 @@ YY_RULE_SETUP #line 502 "lexer.lxx" { accept(); - return POINTLIGHT; + return OUTTANGENT; } YY_BREAK case 48: @@ -1614,7 +1617,7 @@ YY_RULE_SETUP #line 506 "lexer.lxx" { accept(); - return POLYGON; + return POINTLIGHT; } YY_BREAK case 49: @@ -1622,7 +1625,7 @@ YY_RULE_SETUP #line 510 "lexer.lxx" { accept(); - return REF; + return POLYGON; } YY_BREAK case 50: @@ -1630,7 +1633,7 @@ YY_RULE_SETUP #line 514 "lexer.lxx" { accept(); - return RGBA; + return REF; } YY_BREAK case 51: @@ -1638,7 +1641,7 @@ YY_RULE_SETUP #line 518 "lexer.lxx" { accept(); - return ROTATE; + return RGBA; } YY_BREAK case 52: @@ -1646,7 +1649,7 @@ YY_RULE_SETUP #line 522 "lexer.lxx" { accept(); - return ROTX; + return ROTATE; } YY_BREAK case 53: @@ -1654,7 +1657,7 @@ YY_RULE_SETUP #line 526 "lexer.lxx" { accept(); - return ROTY; + return ROTX; } YY_BREAK case 54: @@ -1662,7 +1665,7 @@ YY_RULE_SETUP #line 530 "lexer.lxx" { accept(); - return ROTZ; + return ROTY; } YY_BREAK case 55: @@ -1670,7 +1673,7 @@ YY_RULE_SETUP #line 534 "lexer.lxx" { accept(); - return SANIM; + return ROTZ; } YY_BREAK case 56: @@ -1678,7 +1681,7 @@ YY_RULE_SETUP #line 538 "lexer.lxx" { accept(); - return SCALAR; + return SANIM; } YY_BREAK case 57: @@ -1686,7 +1689,7 @@ YY_RULE_SETUP #line 542 "lexer.lxx" { accept(); - return SCALE; + return SCALAR; } YY_BREAK case 58: @@ -1694,7 +1697,7 @@ YY_RULE_SETUP #line 546 "lexer.lxx" { accept(); - return SEQUENCE; + return SCALE; } YY_BREAK case 59: @@ -1702,7 +1705,7 @@ YY_RULE_SETUP #line 550 "lexer.lxx" { accept(); - return SHADING; + return SEQUENCE; } YY_BREAK case 60: @@ -1710,7 +1713,7 @@ YY_RULE_SETUP #line 554 "lexer.lxx" { accept(); - return SWITCH; + return SHADING; } YY_BREAK case 61: @@ -1718,7 +1721,7 @@ YY_RULE_SETUP #line 558 "lexer.lxx" { accept(); - return SWITCHCONDITION; + return SWITCH; } YY_BREAK case 62: @@ -1726,7 +1729,7 @@ YY_RULE_SETUP #line 562 "lexer.lxx" { accept(); - return TABLE; + return SWITCHCONDITION; } YY_BREAK case 63: @@ -1734,7 +1737,7 @@ YY_RULE_SETUP #line 566 "lexer.lxx" { accept(); - return TABLE_V; + return TABLE; } YY_BREAK case 64: @@ -1742,7 +1745,7 @@ YY_RULE_SETUP #line 570 "lexer.lxx" { accept(); - return TAG; + return TABLE_V; } YY_BREAK case 65: @@ -1750,7 +1753,7 @@ YY_RULE_SETUP #line 574 "lexer.lxx" { accept(); - return TEXLIST; + return TAG; } YY_BREAK case 66: @@ -1758,7 +1761,7 @@ YY_RULE_SETUP #line 578 "lexer.lxx" { accept(); - return TEXTURE; + return TEXLIST; } YY_BREAK case 67: @@ -1766,7 +1769,7 @@ YY_RULE_SETUP #line 582 "lexer.lxx" { accept(); - return TLENGTHS; + return TEXTURE; } YY_BREAK case 68: @@ -1774,7 +1777,7 @@ YY_RULE_SETUP #line 586 "lexer.lxx" { accept(); - return TRANSFORM; + return TLENGTHS; } YY_BREAK case 69: @@ -1782,7 +1785,7 @@ YY_RULE_SETUP #line 590 "lexer.lxx" { accept(); - return TRANSLATE; + return TRANSFORM; } YY_BREAK case 70: @@ -1790,7 +1793,7 @@ YY_RULE_SETUP #line 594 "lexer.lxx" { accept(); - return TREF; + return TRANSLATE; } YY_BREAK case 71: @@ -1798,7 +1801,7 @@ YY_RULE_SETUP #line 598 "lexer.lxx" { accept(); - return TRIM; + return TREF; } YY_BREAK case 72: @@ -1806,7 +1809,7 @@ YY_RULE_SETUP #line 602 "lexer.lxx" { accept(); - return TXT; + return TRIM; } YY_BREAK case 73: @@ -1814,7 +1817,7 @@ YY_RULE_SETUP #line 606 "lexer.lxx" { accept(); - return UKNOTS; + return TXT; } YY_BREAK case 74: @@ -1830,7 +1833,7 @@ YY_RULE_SETUP #line 614 "lexer.lxx" { accept(); - return UV; + return UKNOTS; } YY_BREAK case 76: @@ -1838,7 +1841,7 @@ YY_RULE_SETUP #line 618 "lexer.lxx" { accept(); - return VKNOTS; + return UV; } YY_BREAK case 77: @@ -1854,7 +1857,7 @@ YY_RULE_SETUP #line 626 "lexer.lxx" { accept(); - return VERTEX; + return VKNOTS; } YY_BREAK case 79: @@ -1862,7 +1865,7 @@ YY_RULE_SETUP #line 630 "lexer.lxx" { accept(); - return VERTEXANIM; + return VERTEX; } YY_BREAK case 80: @@ -1870,7 +1873,7 @@ YY_RULE_SETUP #line 634 "lexer.lxx" { accept(); - return VERTEXPOOL; + return VERTEXANIM; } YY_BREAK case 81: @@ -1878,7 +1881,7 @@ YY_RULE_SETUP #line 638 "lexer.lxx" { accept(); - return VERTEXREF; + return VERTEXPOOL; } YY_BREAK case 82: @@ -1886,7 +1889,7 @@ YY_RULE_SETUP #line 642 "lexer.lxx" { accept(); - return XFMANIM; + return VERTEXREF; } YY_BREAK case 83: @@ -1894,12 +1897,20 @@ YY_RULE_SETUP #line 646 "lexer.lxx" { accept(); - return XFMSANIM; + return XFMANIM; } YY_BREAK case 84: YY_RULE_SETUP -#line 653 "lexer.lxx" +#line 650 "lexer.lxx" +{ + accept(); + return XFMSANIM; +} + YY_BREAK +case 85: +YY_RULE_SETUP +#line 657 "lexer.lxx" { // An integer or floating-point number. accept(); @@ -1908,9 +1919,9 @@ YY_RULE_SETUP return NUMBER; } YY_BREAK -case 85: +case 86: YY_RULE_SETUP -#line 661 "lexer.lxx" +#line 665 "lexer.lxx" { // A hexadecimal integer number. accept(); @@ -1919,9 +1930,9 @@ YY_RULE_SETUP return ULONG; } YY_BREAK -case 86: +case 87: YY_RULE_SETUP -#line 669 "lexer.lxx" +#line 673 "lexer.lxx" { // A binary integer number. accept(); @@ -1930,9 +1941,9 @@ YY_RULE_SETUP return ULONG; } YY_BREAK -case 87: +case 88: YY_RULE_SETUP -#line 677 "lexer.lxx" +#line 681 "lexer.lxx" { // not-a-number. These sometimes show up in egg files accidentally. accept(); @@ -1942,9 +1953,9 @@ YY_RULE_SETUP return NUMBER; } YY_BREAK -case 88: +case 89: YY_RULE_SETUP -#line 686 "lexer.lxx" +#line 690 "lexer.lxx" { // infinity. As above. accept(); @@ -1953,9 +1964,9 @@ YY_RULE_SETUP return NUMBER; } YY_BREAK -case 89: +case 90: YY_RULE_SETUP -#line 694 "lexer.lxx" +#line 698 "lexer.lxx" { // minus infinity. As above. accept(); @@ -1964,9 +1975,9 @@ YY_RULE_SETUP return NUMBER; } YY_BREAK -case 90: +case 91: YY_RULE_SETUP -#line 703 "lexer.lxx" +#line 707 "lexer.lxx" { // Quoted string. accept(); @@ -1974,9 +1985,9 @@ YY_RULE_SETUP return STRING; } YY_BREAK -case 91: +case 92: YY_RULE_SETUP -#line 710 "lexer.lxx" +#line 714 "lexer.lxx" { // Unquoted string. accept(); @@ -1984,12 +1995,12 @@ YY_RULE_SETUP return STRING; } YY_BREAK -case 92: +case 93: YY_RULE_SETUP -#line 716 "lexer.lxx" +#line 720 "lexer.lxx" ECHO; YY_BREAK -#line 1994 "lex.yy.c" +#line 2005 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2281,7 +2292,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 >= 518 ) + if ( yy_current_state >= 522 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2316,11 +2327,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 >= 518 ) + if ( yy_current_state >= 522 ) 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 == 517); + yy_is_jam = (yy_current_state == 521); return yy_is_jam ? 0 : yy_current_state; } @@ -2553,11 +2564,6 @@ YY_BUFFER_STATE b; } -#ifndef YY_ALWAYS_INTERACTIVE -#ifndef YY_NEVER_INTERACTIVE -extern int isatty YY_PROTO(( int )); -#endif -#endif #ifdef YY_USE_PROTOS void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) @@ -2875,4 +2881,4 @@ int main() return 0; } #endif -#line 716 "lexer.lxx" +#line 720 "lexer.lxx" diff --git a/panda/src/egg/parser.cxx.prebuilt b/panda/src/egg/parser.cxx.prebuilt index 9ca06edd07..bfc431758b 100644 --- a/panda/src/egg/parser.cxx.prebuilt +++ b/panda/src/egg/parser.cxx.prebuilt @@ -1,238 +1,99 @@ -/* A Bison parser, made by GNU Bison 1.875. */ +/* A Bison parser, made from parser.yxx + by GNU bison 1.35. */ -/* Skeleton parser for Yacc-like parsing with Bison, - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc. +#define YYBISON 1 /* Identify Bison output. */ - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* Written by Richard Stallman by simplifying the original so called - ``semantic'' parser. */ - -/* All symbols defined below should begin with yy or YY, to avoid - infringing on user name space. This should be done even for local - variables, as they might otherwise be expanded by user macros. - There are some unavoidable exceptions within include files to - define necessary library symbols; they are noted "INFRINGES ON - USER NAME SPACE" below. */ - -/* Identify Bison output. */ -#define YYBISON 1 - -/* Skeleton name. */ -#define YYSKELETON_NAME "yacc.c" - -/* Pure parsers. */ -#define YYPURE 0 - -/* Using locations. */ -#define YYLSP_NEEDED 0 - -/* If NAME_PREFIX is specified substitute the variables and functions - names. */ #define yyparse eggyyparse -#define yylex eggyylex +#define yylex eggyylex #define yyerror eggyyerror -#define yylval eggyylval -#define yychar eggyychar +#define yylval eggyylval +#define yychar eggyychar #define yydebug eggyydebug #define yynerrs eggyynerrs +# define NUMBER 257 +# define ULONG 258 +# define STRING 259 +# define BEZIERCURVE 260 +# define BFACE 261 +# define BILLBOARD 262 +# define BILLBOARDCENTER 263 +# define BUNDLE 264 +# define CLOSED 265 +# define COLLIDE 266 +# define COMMENT 267 +# define COORDSYSTEM 268 +# define CV 269 +# define DART 270 +# define DNORMAL 271 +# define DRGBA 272 +# define DUV 273 +# define DXYZ 274 +# define DCS 275 +# define DISTANCE 276 +# define DTREF 277 +# define DYNAMICVERTEXPOOL 278 +# define EXTERNAL_FILE 279 +# define FLIGHT 280 +# define GROUP 281 +# define HIP 282 +# define INTANGENT 283 +# define JOINT 284 +# define KNOTS 285 +# define INCLUDE 286 +# define INSTANCE 287 +# define LINE 288 +# define LOOP 289 +# define MATERIAL 290 +# define MATRIX3 291 +# define MATRIX4 292 +# define MODEL 293 +# define MREF 294 +# define NORMAL 295 +# define NURBSCURVE 296 +# define NURBSSURFACE 297 +# define OBJECTTYPE 298 +# define ORDER 299 +# define OUTTANGENT 300 +# define POINTLIGHT 301 +# define POLYGON 302 +# define REF 303 +# define RGBA 304 +# define ROTATE 305 +# define ROTX 306 +# define ROTY 307 +# define ROTZ 308 +# define SANIM 309 +# define SCALAR 310 +# define SCALE 311 +# define SEQUENCE 312 +# define SHADING 313 +# define SWITCH 314 +# define SWITCHCONDITION 315 +# define TABLE 316 +# define TABLE_V 317 +# define TAG 318 +# define TEXLIST 319 +# define TEXTURE 320 +# define TLENGTHS 321 +# define TRANSFORM 322 +# define TRANSLATE 323 +# define TREF 324 +# define TRIM 325 +# define TXT 326 +# define UKNOTS 327 +# define UV 328 +# define VKNOTS 329 +# define VERTEX 330 +# define VERTEXANIM 331 +# define VERTEXPOOL 332 +# define VERTEXREF 333 +# define XFMANIM 334 +# define XFMSANIM 335 +# define START_EGG 336 +# define START_GROUP_BODY 337 +# define START_TEXTURE_BODY 338 +# define START_PRIMITIVE_BODY 339 - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - NUMBER = 258, - ULONG = 259, - STRING = 260, - BEZIERCURVE = 261, - BFACE = 262, - BILLBOARD = 263, - BILLBOARDCENTER = 264, - BUNDLE = 265, - CLOSED = 266, - COLLIDE = 267, - COMMENT = 268, - COORDSYSTEM = 269, - CV = 270, - DART = 271, - DNORMAL = 272, - DRGBA = 273, - DUV = 274, - DXYZ = 275, - DCS = 276, - DISTANCE = 277, - DTREF = 278, - DYNAMICVERTEXPOOL = 279, - EXTERNAL_FILE = 280, - FLIGHT = 281, - GROUP = 282, - HIP = 283, - INTANGENT = 284, - JOINT = 285, - KNOTS = 286, - INCLUDE = 287, - INSTANCE = 288, - LOOP = 289, - MATERIAL = 290, - MATRIX3 = 291, - MATRIX4 = 292, - MODEL = 293, - MREF = 294, - NORMAL = 295, - NURBSCURVE = 296, - NURBSSURFACE = 297, - OBJECTTYPE = 298, - ORDER = 299, - OUTTANGENT = 300, - POINTLIGHT = 301, - POLYGON = 302, - REF = 303, - RGBA = 304, - ROTATE = 305, - ROTX = 306, - ROTY = 307, - ROTZ = 308, - SANIM = 309, - SCALAR = 310, - SCALE = 311, - SEQUENCE = 312, - SHADING = 313, - SWITCH = 314, - SWITCHCONDITION = 315, - TABLE = 316, - TABLE_V = 317, - TAG = 318, - TEXLIST = 319, - TEXTURE = 320, - TLENGTHS = 321, - TRANSFORM = 322, - TRANSLATE = 323, - TREF = 324, - TRIM = 325, - TXT = 326, - UKNOTS = 327, - UV = 328, - VKNOTS = 329, - VERTEX = 330, - VERTEXANIM = 331, - VERTEXPOOL = 332, - VERTEXREF = 333, - XFMANIM = 334, - XFMSANIM = 335, - START_EGG = 336, - START_GROUP_BODY = 337, - START_TEXTURE_BODY = 338, - START_PRIMITIVE_BODY = 339 - }; -#endif -#define NUMBER 258 -#define ULONG 259 -#define STRING 260 -#define BEZIERCURVE 261 -#define BFACE 262 -#define BILLBOARD 263 -#define BILLBOARDCENTER 264 -#define BUNDLE 265 -#define CLOSED 266 -#define COLLIDE 267 -#define COMMENT 268 -#define COORDSYSTEM 269 -#define CV 270 -#define DART 271 -#define DNORMAL 272 -#define DRGBA 273 -#define DUV 274 -#define DXYZ 275 -#define DCS 276 -#define DISTANCE 277 -#define DTREF 278 -#define DYNAMICVERTEXPOOL 279 -#define EXTERNAL_FILE 280 -#define FLIGHT 281 -#define GROUP 282 -#define HIP 283 -#define INTANGENT 284 -#define JOINT 285 -#define KNOTS 286 -#define INCLUDE 287 -#define INSTANCE 288 -#define LOOP 289 -#define MATERIAL 290 -#define MATRIX3 291 -#define MATRIX4 292 -#define MODEL 293 -#define MREF 294 -#define NORMAL 295 -#define NURBSCURVE 296 -#define NURBSSURFACE 297 -#define OBJECTTYPE 298 -#define ORDER 299 -#define OUTTANGENT 300 -#define POINTLIGHT 301 -#define POLYGON 302 -#define REF 303 -#define RGBA 304 -#define ROTATE 305 -#define ROTX 306 -#define ROTY 307 -#define ROTZ 308 -#define SANIM 309 -#define SCALAR 310 -#define SCALE 311 -#define SEQUENCE 312 -#define SHADING 313 -#define SWITCH 314 -#define SWITCHCONDITION 315 -#define TABLE 316 -#define TABLE_V 317 -#define TAG 318 -#define TEXLIST 319 -#define TEXTURE 320 -#define TLENGTHS 321 -#define TRANSFORM 322 -#define TRANSLATE 323 -#define TREF 324 -#define TRIM 325 -#define TXT 326 -#define UKNOTS 327 -#define UV 328 -#define VKNOTS 329 -#define VERTEX 330 -#define VERTEXANIM 331 -#define VERTEXPOOL 332 -#define VERTEXREF 333 -#define XFMANIM 334 -#define XFMSANIM 335 -#define START_EGG 336 -#define START_GROUP_BODY 337 -#define START_TEXTURE_BODY 338 -#define START_PRIMITIVE_BODY 339 - - - - -/* Copy the first part of user declarations. */ #line 6 "parser.yxx" @@ -245,6 +106,7 @@ #include "eggVertexPool.h" #include "eggPolygon.h" #include "eggPoint.h" +#include "eggLine.h" #include "eggNurbsSurface.h" #include "eggNurbsCurve.h" #include "eggTable.h" @@ -339,37 +201,811 @@ egg_cleanup_parser() { materials.clear(); } - - -/* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 + + +#define YYFINAL 690 +#define YYFLAG -32768 +#define YYNTBASE 88 + +/* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */ +#define YYTRANSLATE(x) ((unsigned)(x) <= 339 ? yytranslate[x] : 199) + +/* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */ +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, + 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, 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, 2, 2, + 2, 2, 2, 86, 2, 87, 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, 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, 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, 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, 23, 24, 25, + 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, 84, 85 +}; + +#if YYDEBUG +static const short yyprhs[] = +{ + 0, 0, 3, 6, 9, 12, 14, 17, 19, 21, + 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, + 43, 45, 47, 52, 58, 59, 67, 69, 76, 79, + 80, 87, 89, 96, 102, 109, 110, 117, 119, 122, + 123, 129, 130, 137, 139, 142, 146, 151, 157, 163, + 169, 178, 187, 190, 198, 206, 210, 219, 228, 233, + 243, 253, 254, 261, 262, 269, 270, 277, 279, 286, + 292, 300, 308, 314, 320, 326, 332, 338, 344, 350, + 357, 363, 366, 369, 372, 375, 377, 379, 382, 383, + 389, 391, 394, 397, 400, 403, 406, 409, 412, 419, + 424, 429, 434, 442, 449, 454, 459, 461, 478, 479, + 485, 487, 490, 493, 496, 499, 505, 510, 516, 521, + 523, 533, 543, 545, 552, 557, 569, 582, 583, 590, + 591, 598, 599, 606, 607, 614, 615, 622, 624, 630, + 636, 642, 645, 651, 657, 663, 670, 672, 678, 684, + 690, 693, 699, 705, 711, 717, 723, 729, 732, 738, + 745, 747, 753, 759, 765, 768, 774, 780, 786, 792, + 798, 805, 807, 809, 811, 815, 824, 833, 838, 848, + 858, 860, 869, 872, 874, 876, 878, 884, 886, 889, + 891, 893, 894, 901, 902, 909, 911, 914, 917, 920, + 923, 926, 927, 934, 936, 943, 949, 950, 957, 959, + 966, 972, 973, 980, 982, 989, 992, 994, 997, 999, + 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016, 1018, 1020, + 1022, 1024, 1026, 1028, 1030, 1032, 1034, 1037, 1039, 1041, + 1043, 1045, 1047, 1049, 1051 +}; +static const short yyrhs[] = +{ + 82, 89, 0, 83, 116, 0, 84, 95, 0, 85, + 152, 0, 198, 0, 89, 90, 0, 91, 0, 92, + 0, 93, 0, 96, 0, 99, 0, 100, 0, 110, + 0, 112, 0, 114, 0, 142, 0, 144, 0, 146, + 0, 148, 0, 150, 0, 169, 0, 14, 86, 190, + 87, 0, 13, 189, 86, 193, 87, 0, 0, 66, + 188, 86, 190, 94, 95, 87, 0, 198, 0, 95, + 56, 188, 86, 196, 87, 0, 95, 130, 0, 0, + 36, 188, 86, 97, 98, 87, 0, 198, 0, 98, + 56, 188, 86, 196, 87, 0, 25, 189, 86, 190, + 87, 0, 192, 25, 189, 86, 190, 87, 0, 0, + 78, 188, 101, 86, 102, 87, 0, 198, 0, 102, + 103, 0, 0, 76, 104, 86, 106, 87, 0, 0, + 76, 197, 105, 86, 106, 87, 0, 195, 0, 195, + 195, 0, 195, 195, 195, 0, 195, 195, 195, 195, + 0, 106, 74, 86, 107, 87, 0, 106, 41, 86, + 108, 87, 0, 106, 50, 86, 109, 87, 0, 106, + 20, 192, 86, 195, 195, 195, 87, 0, 106, 20, + 86, 192, 195, 195, 195, 87, 0, 195, 195, 0, + 107, 19, 192, 86, 195, 195, 87, 0, 107, 19, + 86, 192, 195, 195, 87, 0, 195, 195, 195, 0, + 108, 17, 192, 86, 195, 195, 195, 87, 0, 108, + 17, 86, 192, 195, 195, 195, 87, 0, 195, 195, + 195, 195, 0, 109, 18, 192, 86, 195, 195, 195, + 195, 87, 0, 109, 18, 86, 192, 195, 195, 195, + 195, 87, 0, 0, 27, 189, 111, 86, 116, 87, + 0, 0, 30, 189, 113, 86, 116, 87, 0, 0, + 33, 189, 115, 86, 116, 87, 0, 198, 0, 116, + 56, 188, 86, 196, 87, 0, 116, 8, 86, 192, + 87, 0, 116, 9, 86, 195, 195, 195, 87, 0, + 116, 12, 189, 86, 117, 118, 87, 0, 116, 21, + 86, 197, 87, 0, 116, 21, 86, 5, 87, 0, + 116, 16, 86, 197, 87, 0, 116, 16, 86, 5, + 87, 0, 116, 60, 86, 197, 87, 0, 116, 44, + 86, 190, 87, 0, 116, 39, 86, 197, 87, 0, + 116, 64, 189, 86, 193, 87, 0, 116, 65, 86, + 197, 87, 0, 116, 119, 0, 116, 138, 0, 116, + 140, 0, 116, 90, 0, 192, 0, 198, 0, 118, + 192, 0, 0, 68, 120, 86, 121, 87, 0, 198, + 0, 121, 122, 0, 121, 123, 0, 121, 124, 0, + 121, 125, 0, 121, 126, 0, 121, 127, 0, 121, + 128, 0, 69, 86, 195, 195, 195, 87, 0, 52, + 86, 195, 87, 0, 53, 86, 195, 87, 0, 54, + 86, 195, 87, 0, 51, 86, 195, 195, 195, 195, + 87, 0, 57, 86, 195, 195, 195, 87, 0, 57, + 86, 195, 87, 0, 38, 86, 129, 87, 0, 198, + 0, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 0, 0, 68, + 131, 86, 132, 87, 0, 198, 0, 132, 136, 0, + 132, 133, 0, 132, 134, 0, 132, 135, 0, 69, + 86, 195, 195, 87, 0, 51, 86, 195, 87, 0, + 57, 86, 195, 195, 87, 0, 37, 86, 137, 87, + 0, 198, 0, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 0, 79, 86, 183, 139, 49, 86, 187, + 87, 87, 0, 198, 0, 139, 56, 188, 86, 196, + 87, 0, 61, 86, 141, 87, 0, 22, 86, 195, + 195, 76, 86, 195, 195, 195, 87, 87, 0, 22, + 86, 195, 195, 195, 76, 86, 195, 195, 195, 87, + 87, 0, 0, 48, 189, 143, 86, 152, 87, 0, + 0, 47, 189, 145, 86, 152, 87, 0, 0, 34, + 189, 147, 86, 152, 87, 0, 0, 43, 189, 149, + 86, 153, 87, 0, 0, 42, 189, 151, 86, 154, + 87, 0, 198, 0, 152, 70, 86, 155, 87, 0, + 152, 66, 86, 156, 87, 0, 152, 40, 86, 157, + 87, 0, 152, 161, 0, 152, 41, 86, 158, 87, + 0, 152, 50, 86, 159, 87, 0, 152, 7, 86, + 160, 87, 0, 152, 56, 188, 86, 196, 87, 0, + 198, 0, 153, 70, 86, 155, 87, 0, 153, 66, + 86, 156, 87, 0, 153, 40, 86, 157, 87, 0, + 153, 161, 0, 153, 41, 86, 158, 87, 0, 153, + 50, 86, 159, 87, 0, 153, 7, 86, 160, 87, + 0, 153, 45, 86, 162, 87, 0, 153, 73, 86, + 163, 87, 0, 153, 75, 86, 164, 87, 0, 153, + 150, 0, 153, 71, 86, 165, 87, 0, 153, 56, + 188, 86, 196, 87, 0, 198, 0, 154, 70, 86, + 155, 87, 0, 154, 66, 86, 156, 87, 0, 154, + 40, 86, 157, 87, 0, 154, 161, 0, 154, 41, + 86, 158, 87, 0, 154, 50, 86, 159, 87, 0, + 154, 7, 86, 160, 87, 0, 154, 45, 86, 167, + 87, 0, 154, 31, 86, 168, 87, 0, 154, 56, + 188, 86, 196, 87, 0, 185, 0, 188, 0, 186, + 0, 195, 195, 195, 0, 158, 17, 192, 86, 195, + 195, 195, 87, 0, 158, 17, 86, 192, 195, 195, + 195, 87, 0, 195, 195, 195, 195, 0, 159, 18, + 192, 86, 195, 195, 195, 195, 87, 0, 159, 18, + 86, 192, 195, 195, 195, 195, 87, 0, 197, 0, + 79, 86, 183, 49, 86, 187, 87, 87, 0, 197, + 197, 0, 184, 0, 184, 0, 198, 0, 165, 35, + 86, 166, 87, 0, 198, 0, 166, 150, 0, 197, + 0, 184, 0, 0, 62, 189, 170, 86, 173, 87, + 0, 0, 10, 189, 172, 86, 173, 87, 0, 198, + 0, 173, 169, 0, 173, 171, 0, 173, 174, 0, + 173, 177, 0, 173, 180, 0, 0, 55, 189, 175, + 86, 176, 87, 0, 198, 0, 176, 56, 188, 86, + 196, 87, 0, 176, 63, 86, 184, 87, 0, 0, + 80, 189, 178, 86, 179, 87, 0, 198, 0, 179, + 56, 188, 86, 196, 87, 0, 179, 63, 86, 184, + 87, 0, 0, 81, 189, 181, 86, 182, 87, 0, + 198, 0, 182, 56, 188, 86, 196, 87, 0, 182, + 174, 0, 198, 0, 183, 197, 0, 198, 0, 184, + 195, 0, 188, 0, 188, 0, 188, 0, 198, 0, + 192, 0, 191, 0, 198, 0, 192, 0, 198, 0, + 192, 0, 3, 0, 4, 0, 5, 0, 198, 0, + 194, 0, 192, 0, 194, 192, 0, 3, 0, 4, + 0, 3, 0, 4, 0, 5, 0, 3, 0, 4, + 0, 0 +}; + #endif -#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -typedef int YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 +#if YYDEBUG +/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ +static const short yyrline[] = +{ + 0, 181, 183, 184, 185, 195, 197, 211, 213, 214, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 226, 236, 259, 273, 273, 301, 303, 419, 429, + 429, 456, 458, 552, 560, 579, 579, 607, 609, 619, + 619, 631, 631, 676, 681, 685, 689, 693, 694, 695, + 696, 704, 722, 727, 735, 752, 757, 765, 782, 787, + 795, 812, 812, 832, 832, 853, 853, 874, 876, 940, + 952, 957, 964, 970, 983, 990, 1003, 1009, 1015, 1021, + 1026, 1032, 1033, 1034, 1035, 1048, 1078, 1080, 1101, 1101, + 1117, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1128, 1134, + 1140, 1146, 1152, 1158, 1162, 1168, 1172, 1174, 1195, 1195, + 1214, 1216, 1217, 1218, 1219, 1222, 1228, 1234, 1240, 1243, + 1245, 1263, 1296, 1301, 1325, 1337, 1343, 1359, 1359, 1378, + 1378, 1397, 1397, 1416, 1416, 1435, 1435, 1455, 1457, 1458, + 1459, 1460, 1461, 1462, 1463, 1464, 1522, 1524, 1525, 1526, + 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1540, 1541, + 1604, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, + 1615, 1683, 1700, 1740, 1757, 1762, 1770, 1787, 1792, 1800, + 1817, 1833, 1864, 1882, 1902, 1922, 1928, 1938, 1945, 1963, + 1979, 2000, 2000, 2022, 2022, 2044, 2046, 2050, 2054, 2058, + 2062, 2076, 2076, 2097, 2099, 2111, 2124, 2124, 2145, 2147, + 2164, 2177, 2177, 2198, 2200, 2215, 2229, 2234, 2247, 2252, + 2265, 2286, 2307, 2329, 2335, 2346, 2358, 2364, 2374, 2379, + 2392, 2397, 2401, 2413, 2418, 2433, 2438, 2451, 2453, 2467, + 2474, 2480, 2496, 2505, 2511 +}; #endif +#if (YYDEBUG) || defined YYERROR_VERBOSE -/* Copy the second part of user declarations. */ +/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */ +static const char *const yytname[] = +{ + "$", "error", "$undefined.", "NUMBER", "ULONG", "STRING", "BEZIERCURVE", + "BFACE", "BILLBOARD", "BILLBOARDCENTER", "BUNDLE", "CLOSED", "COLLIDE", + "COMMENT", "COORDSYSTEM", "CV", "DART", "DNORMAL", "DRGBA", "DUV", + "DXYZ", "DCS", "DISTANCE", "DTREF", "DYNAMICVERTEXPOOL", + "EXTERNAL_FILE", "FLIGHT", "GROUP", "HIP", "INTANGENT", "JOINT", + "KNOTS", "INCLUDE", "INSTANCE", "LINE", "LOOP", "MATERIAL", "MATRIX3", + "MATRIX4", "MODEL", "MREF", "NORMAL", "NURBSCURVE", "NURBSSURFACE", + "OBJECTTYPE", "ORDER", "OUTTANGENT", "POINTLIGHT", "POLYGON", "REF", + "RGBA", "ROTATE", "ROTX", "ROTY", "ROTZ", "SANIM", "SCALAR", "SCALE", + "SEQUENCE", "SHADING", "SWITCH", "SWITCHCONDITION", "TABLE", "TABLE_V", + "TAG", "TEXLIST", "TEXTURE", "TLENGTHS", "TRANSFORM", "TRANSLATE", + "TREF", "TRIM", "TXT", "UKNOTS", "UV", "VKNOTS", "VERTEX", "VERTEXANIM", + "VERTEXPOOL", "VERTEXREF", "XFMANIM", "XFMSANIM", "START_EGG", + "START_GROUP_BODY", "START_TEXTURE_BODY", "START_PRIMITIVE_BODY", "'{'", + "'}'", "grammar", "egg", "node", "coordsystem", "comment", "texture", + "@1", "texture_body", "material", "@2", "material_body", + "external_reference", "vertex_pool", "@3", "vertex_pool_body", "vertex", + "@4", "@5", "vertex_body", "vertex_uv_body", "vertex_normal_body", + "vertex_color_body", "group", "@6", "joint", "@7", "instance", "@8", + "group_body", "cs_type", "collide_flags", "transform_3d", "@9", + "transform_3d_body", "translate_3d", "rotx_3d", "roty_3d", "rotz_3d", + "rotate_3d", "scale_3d", "matrix4_3d", "matrix4_3d_body", + "transform_2d", "@10", "transform_2d_body", "translate_2d", "rotate_2d", + "scale_2d", "matrix3_2d", "matrix3_2d_body", "group_vertex_ref", + "group_vertex_membership", "switchcondition", "switchcondition_body", + "polygon", "@11", "point_light", "@12", "line", "@13", "nurbs_surface", + "@14", "nurbs_curve", "@15", "primitive_body", "nurbs_surface_body", + "nurbs_curve_body", "primitive_tref_body", "primitive_texture_body", + "primitive_material_body", "primitive_normal_body", + "primitive_color_body", "primitive_bface_body", "primitive_vertex_ref", + "nurbs_surface_order_body", "nurbs_surface_uknots_body", + "nurbs_surface_vknots_body", "nurbs_surface_trim_body", + "nurbs_surface_trim_loop_body", "nurbs_curve_order_body", + "nurbs_curve_knots_body", "table", "@16", "bundle", "@17", "table_body", + "sanim", "@18", "sanim_body", "xfmanim", "@19", "xfmanim_body", + "xfm_s_anim", "@20", "xfm_s_anim_body", "integer_list", "real_list", + "texture_name", "material_name", "vertex_pool_name", "required_name", + "optional_name", "required_string", "optional_string", "string", + "repeated_string", "repeated_string_body", "real", "real_or_string", + "integer", "empty", 0 +}; +#endif + +/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const short yyr1[] = +{ + 0, 88, 88, 88, 88, 89, 89, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 91, 92, 94, 93, 95, 95, 95, 97, + 96, 98, 98, 99, 99, 101, 100, 102, 102, 104, + 103, 105, 103, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 107, 107, 107, 108, 108, 108, 109, 109, + 109, 111, 110, 113, 112, 115, 114, 116, 116, 116, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 117, 118, 118, 120, 119, + 121, 121, 121, 121, 121, 121, 121, 121, 122, 123, + 124, 125, 126, 127, 127, 128, 129, 129, 131, 130, + 132, 132, 132, 132, 132, 133, 134, 135, 136, 137, + 137, 138, 139, 139, 140, 141, 141, 143, 142, 145, + 144, 147, 146, 149, 148, 151, 150, 152, 152, 152, + 152, 152, 152, 152, 152, 152, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 154, 154, 154, 154, 154, 154, 154, 154, 154, 154, + 154, 155, 156, 157, 158, 158, 158, 159, 159, 159, + 160, 161, 162, 163, 164, 165, 165, 166, 166, 167, + 168, 170, 169, 172, 171, 173, 173, 173, 173, 173, + 173, 175, 174, 176, 176, 176, 178, 177, 179, 179, + 179, 181, 180, 182, 182, 182, 183, 183, 184, 184, + 185, 186, 187, 188, 188, 189, 190, 190, 191, 191, + 192, 192, 192, 193, 193, 194, 194, 195, 195, 196, + 196, 196, 197, 197, 198 +}; + +/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ +static const short yyr2[] = +{ + 0, 2, 2, 2, 2, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 4, 5, 0, 7, 1, 6, 2, 0, + 6, 1, 6, 5, 6, 0, 6, 1, 2, 0, + 5, 0, 6, 1, 2, 3, 4, 5, 5, 5, + 8, 8, 2, 7, 7, 3, 8, 8, 4, 9, + 9, 0, 6, 0, 6, 0, 6, 1, 6, 5, + 7, 7, 5, 5, 5, 5, 5, 5, 5, 6, + 5, 2, 2, 2, 2, 1, 1, 2, 0, 5, + 1, 2, 2, 2, 2, 2, 2, 2, 6, 4, + 4, 4, 7, 6, 4, 4, 1, 16, 0, 5, + 1, 2, 2, 2, 2, 5, 4, 5, 4, 1, + 9, 9, 1, 6, 4, 11, 12, 0, 6, 0, + 6, 0, 6, 0, 6, 0, 6, 1, 5, 5, + 5, 2, 5, 5, 5, 6, 1, 5, 5, 5, + 2, 5, 5, 5, 5, 5, 5, 2, 5, 6, + 1, 5, 5, 5, 2, 5, 5, 5, 5, 5, + 6, 1, 1, 1, 3, 8, 8, 4, 9, 9, + 1, 8, 2, 1, 1, 1, 5, 1, 2, 1, + 1, 0, 6, 0, 6, 1, 2, 2, 2, 2, + 2, 0, 6, 1, 6, 5, 0, 6, 1, 6, + 5, 0, 6, 1, 6, 2, 1, 2, 1, 2, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, + 1, 1, 1, 1, 0 +}; + +/* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE + doesn't specify something else to do. Zero means the default is an + error. */ +static const short yydefact[] = +{ + 0, 244, 244, 244, 244, 1, 5, 2, 67, 3, + 26, 4, 137, 230, 231, 232, 244, 0, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, + 244, 0, 0, 0, 0, 244, 0, 0, 244, 0, + 88, 0, 84, 81, 82, 83, 244, 108, 28, 0, + 0, 0, 0, 244, 0, 0, 0, 141, 0, 225, + 229, 228, 244, 0, 61, 63, 65, 131, 0, 224, + 223, 135, 133, 129, 127, 191, 0, 35, 244, 0, + 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, + 0, 0, 244, 0, 0, 0, 244, 0, 0, 0, + 244, 244, 244, 244, 0, 227, 226, 244, 0, 0, + 0, 0, 29, 0, 0, 0, 0, 0, 244, 0, + 0, 0, 237, 238, 0, 0, 242, 243, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, + 244, 244, 216, 0, 244, 0, 180, 0, 173, 221, + 0, 0, 0, 0, 0, 0, 172, 0, 171, 220, + 0, 235, 0, 234, 233, 22, 0, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 24, 244, 244, + 69, 0, 244, 85, 75, 74, 73, 72, 78, 77, + 239, 240, 241, 0, 76, 0, 124, 0, 80, 0, + 90, 0, 217, 122, 0, 0, 110, 144, 140, 0, + 142, 0, 0, 143, 0, 0, 139, 138, 0, 23, + 236, 33, 0, 0, 0, 0, 0, 31, 0, 160, + 0, 146, 0, 0, 0, 195, 244, 0, 37, 0, + 0, 0, 86, 68, 0, 79, 0, 0, 0, 0, + 0, 0, 0, 89, 91, 92, 93, 94, 95, 96, + 97, 0, 244, 27, 0, 0, 0, 0, 109, 112, + 113, 114, 111, 0, 0, 174, 0, 0, 0, 145, + 244, 62, 64, 66, 132, 244, 30, 0, 0, 0, + 0, 0, 0, 244, 0, 0, 136, 164, 0, 0, + 0, 0, 0, 244, 0, 0, 0, 0, 0, 134, + 157, 150, 130, 128, 244, 244, 244, 244, 192, 196, + 197, 198, 199, 200, 0, 39, 36, 38, 34, 70, + 71, 87, 0, 244, 0, 0, 0, 0, 0, 0, + 244, 0, 244, 0, 0, 0, 0, 0, 0, 0, + 177, 0, 222, 0, 0, 244, 244, 0, 0, 0, + 0, 244, 244, 0, 244, 0, 0, 0, 0, 244, + 244, 244, 244, 244, 193, 201, 206, 211, 25, 0, + 41, 0, 0, 0, 0, 106, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 119, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 190, 218, + 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 185, 0, + 183, 0, 184, 0, 0, 0, 0, 0, 0, 0, + 0, 105, 0, 0, 99, 100, 101, 104, 0, 0, + 0, 0, 118, 0, 116, 0, 0, 0, 0, 0, + 0, 181, 0, 167, 169, 219, 163, 165, 168, 166, + 0, 162, 161, 153, 149, 151, 154, 182, 152, 0, + 148, 147, 0, 158, 155, 156, 244, 244, 244, 244, + 0, 43, 0, 0, 0, 0, 0, 0, 0, 121, + 123, 0, 117, 115, 0, 0, 0, 0, 32, 170, + 159, 244, 0, 0, 203, 0, 208, 0, 213, 0, + 0, 0, 0, 40, 44, 0, 0, 0, 0, 0, + 103, 98, 0, 176, 175, 0, 0, 0, 187, 194, + 244, 0, 202, 244, 0, 207, 244, 212, 215, 0, + 0, 0, 0, 0, 45, 42, 0, 0, 0, 102, + 0, 179, 178, 186, 188, 0, 244, 0, 244, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 48, 0, 0, 49, 0, 0, 47, 52, 125, + 0, 0, 0, 0, 205, 0, 210, 0, 0, 0, + 0, 0, 55, 0, 0, 0, 0, 0, 126, 0, + 0, 204, 209, 214, 0, 0, 0, 0, 0, 0, + 58, 0, 0, 0, 120, 51, 50, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 54, 53, 0, 57, 56, + 0, 0, 0, 60, 59, 0, 0, 107, 0, 0, + 0 +}; + +static const short yydefgoto[] = +{ + 688, 5, 62, 32, 33, 34, 256, 9, 35, 191, + 246, 36, 37, 139, 257, 347, 399, 458, 510, 596, + 592, 594, 38, 128, 39, 129, 40, 130, 7, 202, + 261, 63, 111, 219, 274, 275, 276, 277, 278, 279, + 280, 403, 68, 114, 225, 289, 290, 291, 292, 414, + 64, 221, 65, 157, 41, 136, 42, 135, 43, 131, + 44, 134, 45, 133, 11, 250, 248, 177, 175, 167, + 170, 172, 165, 77, 441, 449, 451, 447, 557, 432, + 427, 46, 137, 340, 453, 254, 341, 454, 533, 342, + 455, 535, 343, 456, 537, 161, 428, 178, 168, 371, + 169, 78, 124, 79, 89, 182, 183, 485, 213, 166, + 90 +}; + +static const short yypact[] = +{ + 185,-32768,-32768,-32768,-32768, 742,-32768, 1091,-32768, 17, + -32768, 389,-32768,-32768,-32768,-32768, 289, -55, 289, 289, + 289, 289, 289, 289, 289, 289, 289, 289, 289, 289, + 289,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768, 67, -52, 31, + 289, 46, 52, 82, 95, 289, 101, 106, 289, 118, + -32768, 128,-32768,-32768,-32768,-32768, 289,-32768,-32768, 145, + 147, 149, 168, 289, 169, 175, 177,-32768, 203,-32768, + -32768,-32768, 289, 214,-32768,-32768,-32768,-32768, 215,-32768, + -32768,-32768,-32768,-32768,-32768,-32768, 221,-32768, 289, 289, + 171, 231, 292, 301, 216, 289, 232, 216, 73, 233, + 216, 236,-32768, 238, 239, 216, 289, 171, 171, 241, + 289, 289,-32768, 289, 33,-32768,-32768, 289, 242, 251, + 252, 254,-32768, 257, 261, 262, 266, 267, 289, 269, + 272, 84,-32768,-32768, 171, 289,-32768,-32768, 115, 170, + 184, 211, 274, 275, 310, 277, 273, 278, 289, 284, + -32768, 216,-32768, 310,-32768, 286,-32768, 291,-32768,-32768, + 10, 171, -17, 171, 310, 294,-32768, 303,-32768,-32768, + 35,-32768, 307, 289,-32768,-32768, 312,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 289, + -32768, 171,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768,-32768, 313,-32768, 171,-32768, 317,-32768, 282, + -32768, 80,-32768,-32768, 318, 179,-32768,-32768,-32768, 45, + -32768, 171, 51,-32768, 171, 320,-32768,-32768, 281,-32768, + -32768,-32768, 494, 955, 1023, 316, 90,-32768, 155,-32768, + 304,-32768, 361, 600, 104,-32768,-32768, 89,-32768, 321, + 322, 32,-32768,-32768, 171,-32768, 290, 324, 326, 327, + 328, 329, 330,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768, 332, 289,-32768, 337, 339, 340, 342,-32768,-32768, + -32768,-32768,-32768, 289, 346,-32768, 289, 347, 171,-32768, + 289,-32768,-32768,-32768,-32768, 289,-32768, 348, 349, 350, + 351, 355, 356, 289, 357, 358,-32768,-32768, 360, 363, + 364, 366, 368, 289, 370, 371, 372, 375, 376,-32768, + -32768,-32768,-32768,-32768, 289, 289, 289, 289,-32768,-32768, + -32768,-32768,-32768,-32768, 142, 216,-32768,-32768,-32768,-32768, + -32768,-32768, 87, 171, 171, 171, 171, 171, 171, 171, + 289, 377, 171, 171, 171, 171, 171, 171, 171, 171, + -32768, 382,-32768, 384, 216,-32768, 289, 171, 216, 171, + 385, 289, 289, 216, 289, 171, 216, 171, 386, 289, + 289,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 387, + -32768, 388, 399, 392, 171,-32768, 171, 396, 398, 400, + 21, 171, 401, 310, 402, 171,-32768, 403, 171, 171, + 171, 171, 171, 171, 404, 310, 405, 406, 171,-32768, + 407, 11, 409,-32768, 34, 310, 413, 414, 417, 418, + 12, 422, 216, 47, 310, 425, 426, 9,-32768, 429, + 171, 430, 171, 432, 434, 436, 437, 171, 439, 171, + 440,-32768, 171, 171,-32768,-32768,-32768,-32768, 171, 171, + 442, 444,-32768, 171,-32768, 445, 448, 171, 171, 171, + 171,-32768, 452,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 453,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 456, + -32768,-32768, 459,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + 119, 171, 171, 171, 171, 171, 171, 460, 461,-32768, + -32768, 171,-32768,-32768, 462, 464, 171, 171,-32768,-32768, + -32768,-32768, 160, 116,-32768, 126,-32768, 60,-32768, 56, + 466, 467, 471,-32768, 171, 212, 171, 171, 171, 474, + -32768,-32768, 171,-32768,-32768, 478, 480, 86,-32768,-32768, + 289, 482,-32768, 289, 484,-32768, 289,-32768,-32768, 289, + 485, 171, 171, 171, 171,-32768, 487, 171, 171,-32768, + 171,-32768,-32768,-32768,-32768, 489,-32768, 490,-32768, 491, + 171, 171, 40, 171, 54, 171, -12, 171,-32768, 492, + 493, 171, 171, 310, 39, 310, 43, 310, 171, 171, + 59,-32768, 171, 75,-32768, 171, 78,-32768,-32768,-32768, + 495, 171, 171, 496,-32768, 497,-32768, 498, 171, 171, + 289, 500,-32768, 289, 501, 171, 289, 502,-32768, 171, + 171,-32768,-32768,-32768, 503, 508, 171, 171, 171, 171, + -32768, 171, 171, 171,-32768,-32768,-32768, 171, 171, 171, + 171, 171, 171, 171, 171, 171, 171, 171, 509, 510, + 171, 511, 512, 171, 171,-32768,-32768, 171,-32768,-32768, + 513, 514, 171,-32768,-32768, 171, 171,-32768, 486, 546, + -32768 +}; + +static const short yypgoto[] = +{ + -32768,-32768, 584,-32768,-32768,-32768,-32768, 353,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 91,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 200,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, + -32768,-32768, -247,-32768, 70,-32768,-32768, -173, -163, -132, + -127, -128, -365, -238,-32768,-32768,-32768,-32768,-32768,-32768, + -32768, -250,-32768,-32768,-32768, 96, 69,-32768,-32768,-32768, + -32768,-32768,-32768,-32768,-32768, 488, -387,-32768,-32768, 244, + 3, 130, -97,-32768, -5, 454,-32768, 280, -123, -36, + 85 +}; -/* Line 214 of yacc.c. */ -#line 370 "y.tab.c" +#define YYLAST 1170 -#if ! defined (yyoverflow) || YYERROR_VERBOSE + +static const short yytable[] = +{ + 47, 232, 47, 330, 339, 450, 452, 616, 153, 426, + 317, 80, 331, 80, 80, 80, 80, 80, 438, 80, + 80, 80, 80, 80, 142, 143, 88, 229, 229, 229, + 186, 82, 96, 97, 99, 13, 14, 15, 146, 147, + 224, 197, 142, 143, 502, 80, 142, 143, 13, 14, + 15, 235, 232, 80, 13, 14, 15, 610, 106, 13, + 14, 15, 13, 14, 15, 232, 149, 151, 152, 113, + 233, 155, 613, 66, 159, 617, 119, 125, 13, 14, + 15, 13, 14, 15, 238, 67, 6, 8, 10, 12, + 142, 143, 98, 80, 141, 156, 503, 230, 487, 495, + 125, 81, 259, 81, 81, 81, 81, 81, 467, 81, + 81, 81, 81, 81, 334, 335, 566, 100, 181, 350, + 185, 489, 125, 176, 179, 222, 624, 611, 24, 281, + 626, 293, 102, 125, 498, 81, 282, 296, 103, 539, + 203, 614, 569, 81, 222, 630, 305, 567, 83, 84, + 85, 86, 87, 181, 91, 92, 93, 94, 95, 335, + 540, 633, 307, 401, 636, 345, 28, 126, 104, 541, + 334, 200, 560, 583, 142, 143, 346, 306, 240, 561, + 101, 105, 563, 81, 336, 337, 308, 107, 109, 564, + 126, 338, 108, 542, 125, 309, 310, 162, 66, 604, + 311, 606, 204, 562, 110, 312, 543, 162, 184, 437, + 67, 313, 126, 565, 112, 335, 284, 446, 436, 146, + 147, 314, 28, 126, 294, 315, 445, 297, 140, 398, + 285, 115, 539, 116, 76, 117, 286, 47, 47, 47, + 336, 337, 316, 184, 430, 220, 223, 559, 287, 226, + 431, 434, 439, 540, 118, 120, 351, 205, 440, 443, + 245, 121, 541, 122, 252, 253, 288, 1, 2, 3, + 4, 206, 8, 8, 8, 12, 247, 249, 251, 12, + 12, 255, 339, 258, 126, 361, 542, 262, 366, 123, + 471, 368, 13, 14, 15, 146, 147, 148, 207, 575, + 127, 132, 482, 372, 146, 147, 150, 138, 373, 400, + 584, 318, 490, 210, 211, 212, 380, 145, 154, 158, + 266, 499, 160, 69, 163, 164, 388, 174, 187, 80, + 80, 80, 80, 267, 268, 269, 270, 188, 189, 271, + 190, 10, 433, 192, 319, 320, 24, 193, 194, 321, + 442, 272, 195, 196, 322, 198, 70, 71, 199, 215, + 323, 208, 209, 372, 214, 216, 72, 300, 69, 273, + 324, 218, 73, 227, 325, 326, 353, 327, 228, 328, + 144, 236, 74, 76, 176, 179, 75, 242, 243, 244, + 237, 329, 176, 179, 239, 76, 69, 171, 173, 241, + 263, 70, 71, 304, 265, 283, 497, 299, 348, 349, + 354, 72, 355, 356, 357, 358, 359, 73, 360, 81, + 81, 81, 81, 362, 201, 363, 364, 74, 365, 70, + 71, 75, 367, 369, 374, 375, 376, 377, 405, 72, + 76, 378, 379, 381, 382, 73, 383, 416, 332, 384, + 385, 231, 386, 234, 387, 74, 389, 390, 391, 75, + 429, 392, 393, 413, 394, 395, 396, 397, 76, 424, + 425, 435, 444, 457, 459, 460, 448, 429, 429, 461, + 623, 260, 625, 464, 627, 465, 689, 466, 470, 472, + 474, 481, 483, 484, 486, 264, 488, 13, 14, 15, + 491, 492, 48, 49, 493, 494, 50, 16, 17, 496, + 51, 295, 500, 501, 298, 52, 504, 505, 506, 18, + 507, 19, 508, 509, 20, 512, 514, 21, 22, 519, + 23, 520, 522, 53, 570, 523, 24, 25, 54, 528, + 529, 26, 27, 530, 352, 531, 690, 550, 551, 553, + 55, 554, 571, 572, 56, 57, 28, 573, 58, 59, + 29, 579, 60, 585, 590, 581, 587, 582, 586, 589, + 588, 591, 30, 61, 599, 603, 605, 607, 370, 619, + 620, 301, 638, 641, 642, 643, 647, 649, 652, 31, + 655, 255, 534, 536, 538, 656, 675, 676, 678, 679, + 683, 684, 532, 545, 412, 631, 568, 69, 634, 344, + 180, 637, 217, 0, 0, 0, 558, 0, 0, 0, + 0, 0, 0, 0, 0, 646, 0, 0, 648, 0, + 0, 651, 402, 404, 406, 407, 408, 409, 410, 411, + 70, 71, 415, 417, 418, 419, 420, 421, 422, 423, + 72, 0, 0, 0, 0, 0, 73, 171, 0, 173, + 0, 0, 0, 0, 0, 171, 74, 173, 0, 0, + 75, 429, 0, 429, 0, 0, 0, 0, 0, 76, + 0, 0, 0, 0, 462, 0, 463, 333, 0, 0, + 468, 469, 0, 0, 0, 473, 0, 0, 475, 476, + 477, 478, 479, 480, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 511, 0, 513, + 0, 0, 515, 516, 0, 13, 14, 15, 517, 518, + 0, 0, 0, 521, 0, 16, 17, 524, 525, 526, + 527, 0, 0, 0, 0, 0, 0, 18, 0, 19, + 0, 0, 20, 0, 0, 21, 22, 0, 23, 0, + 0, 0, 0, 0, 24, 25, 0, 0, 0, 26, + 27, 544, 511, 546, 547, 548, 549, 0, 0, 0, + 0, 552, 0, 0, 28, 0, 555, 556, 29, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 30, 0, 0, 0, 574, 0, 576, 577, 578, 0, + 0, 0, 580, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 593, 595, 597, 598, 0, 0, 600, 601, 0, + 602, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 608, 609, 0, 612, 0, 615, 0, 618, 0, 0, + 0, 621, 622, 0, 0, 0, 0, 0, 628, 629, + 0, 0, 632, 0, 0, 635, 0, 0, 0, 0, + 0, 639, 640, 0, 0, 0, 0, 0, 644, 645, + 0, 0, 0, 0, 0, 650, 0, 0, 0, 653, + 654, 0, 0, 0, 0, 0, 657, 658, 659, 660, + 0, 661, 662, 663, 0, 0, 0, 664, 665, 666, + 667, 668, 669, 670, 671, 672, 673, 674, 0, 0, + 677, 0, 0, 680, 681, 0, 0, 682, 13, 14, + 15, 0, 685, 48, 49, 686, 687, 50, 16, 17, + 0, 51, 0, 0, 0, 0, 52, 0, 0, 0, + 18, 0, 19, 0, 0, 20, 0, 0, 21, 22, + 0, 23, 0, 0, 53, 0, 0, 24, 25, 54, + 0, 0, 26, 27, 0, 0, 0, 0, 0, 0, + 0, 55, 0, 0, 0, 56, 57, 28, 0, 58, + 59, 29, 0, 60, 0, 0, 13, 14, 15, 0, + 0, 48, 49, 30, 61, 50, 16, 17, 0, 51, + 0, 0, 302, 0, 52, 0, 0, 0, 18, 0, + 19, 0, 0, 20, 0, 0, 21, 22, 0, 23, + 0, 0, 53, 0, 0, 24, 25, 54, 0, 0, + 26, 27, 0, 0, 0, 0, 0, 0, 0, 55, + 0, 0, 0, 56, 57, 28, 0, 58, 59, 29, + 0, 60, 0, 0, 13, 14, 15, 0, 0, 48, + 49, 30, 61, 50, 16, 17, 0, 51, 0, 0, + 303, 0, 52, 0, 0, 0, 18, 0, 19, 0, + 0, 20, 0, 0, 21, 22, 0, 23, 0, 0, + 53, 0, 0, 24, 25, 54, 0, 0, 26, 27, + 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, + 0, 56, 57, 28, 0, 58, 59, 29, 0, 60, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, + 61 +}; + +static const short yycheck[] = +{ + 5, 18, 7, 250, 254, 392, 393, 19, 105, 374, + 248, 16, 250, 18, 19, 20, 21, 22, 383, 24, + 25, 26, 27, 28, 3, 4, 23, 17, 17, 17, + 127, 86, 29, 30, 86, 3, 4, 5, 3, 4, + 163, 138, 3, 4, 35, 50, 3, 4, 3, 4, + 5, 174, 18, 58, 3, 4, 5, 17, 55, 3, + 4, 5, 3, 4, 5, 18, 102, 103, 104, 66, + 87, 107, 18, 56, 110, 87, 73, 82, 3, 4, + 5, 3, 4, 5, 49, 68, 1, 2, 3, 4, + 3, 4, 25, 98, 99, 22, 87, 87, 87, 87, + 105, 16, 199, 18, 19, 20, 21, 22, 87, 24, + 25, 26, 27, 28, 10, 55, 56, 86, 123, 87, + 87, 87, 127, 120, 121, 161, 87, 87, 42, 49, + 87, 86, 86, 138, 87, 50, 56, 86, 86, 20, + 145, 87, 86, 58, 180, 86, 56, 87, 18, 19, + 20, 21, 22, 158, 24, 25, 26, 27, 28, 55, + 41, 86, 7, 76, 86, 76, 62, 82, 86, 50, + 10, 87, 56, 87, 3, 4, 87, 87, 183, 63, + 50, 86, 56, 98, 80, 81, 31, 86, 58, 63, + 105, 87, 86, 74, 199, 40, 41, 112, 56, 586, + 45, 588, 87, 87, 86, 50, 87, 122, 123, 382, + 68, 56, 127, 87, 86, 55, 37, 390, 381, 3, + 4, 66, 62, 138, 229, 70, 389, 232, 98, 87, + 51, 86, 20, 86, 79, 86, 57, 242, 243, 244, + 80, 81, 87, 158, 376, 160, 161, 87, 69, 164, + 377, 379, 384, 41, 86, 86, 261, 87, 385, 387, + 190, 86, 50, 86, 194, 195, 87, 82, 83, 84, + 85, 87, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 532, 198, 199, 282, 74, 202, 293, 86, + 413, 296, 3, 4, 5, 3, 4, 5, 87, 87, + 86, 86, 425, 300, 3, 4, 5, 86, 305, 345, + 557, 7, 435, 3, 4, 5, 313, 86, 86, 86, + 38, 444, 86, 7, 86, 86, 323, 86, 86, 334, + 335, 336, 337, 51, 52, 53, 54, 86, 86, 57, + 86, 256, 378, 86, 40, 41, 42, 86, 86, 45, + 386, 69, 86, 86, 50, 86, 40, 41, 86, 86, + 56, 87, 87, 360, 87, 87, 50, 86, 7, 87, + 66, 87, 56, 87, 70, 71, 86, 73, 87, 75, + 100, 87, 66, 79, 381, 382, 70, 187, 188, 189, + 87, 87, 389, 390, 87, 79, 7, 117, 118, 87, + 87, 40, 41, 87, 87, 87, 442, 87, 87, 87, + 86, 50, 86, 86, 86, 86, 86, 56, 86, 334, + 335, 336, 337, 86, 144, 86, 86, 66, 86, 40, + 41, 70, 86, 86, 86, 86, 86, 86, 353, 50, + 79, 86, 86, 86, 86, 56, 86, 362, 87, 86, + 86, 171, 86, 173, 86, 66, 86, 86, 86, 70, + 375, 86, 86, 86, 334, 335, 336, 337, 79, 87, + 86, 86, 86, 86, 86, 76, 391, 392, 393, 87, + 603, 201, 605, 87, 607, 87, 0, 87, 87, 87, + 87, 87, 87, 87, 87, 215, 87, 3, 4, 5, + 87, 87, 8, 9, 87, 87, 12, 13, 14, 87, + 16, 231, 87, 87, 234, 21, 87, 87, 86, 25, + 86, 27, 86, 86, 30, 86, 86, 33, 34, 87, + 36, 87, 87, 39, 539, 87, 42, 43, 44, 87, + 87, 47, 48, 87, 264, 86, 0, 87, 87, 87, + 56, 87, 86, 86, 60, 61, 62, 86, 64, 65, + 66, 87, 68, 560, 569, 87, 563, 87, 86, 566, + 86, 86, 78, 79, 87, 86, 86, 86, 298, 87, + 87, 87, 87, 87, 87, 87, 86, 86, 86, 5, + 87, 506, 507, 508, 509, 87, 87, 87, 87, 87, + 87, 87, 506, 512, 360, 610, 537, 7, 613, 256, + 122, 616, 158, -1, -1, -1, 531, -1, -1, -1, + -1, -1, -1, -1, -1, 630, -1, -1, 633, -1, + -1, 636, 352, 353, 354, 355, 356, 357, 358, 359, + 40, 41, 362, 363, 364, 365, 366, 367, 368, 369, + 50, -1, -1, -1, -1, -1, 56, 377, -1, 379, + -1, -1, -1, -1, -1, 385, 66, 387, -1, -1, + 70, 586, -1, 588, -1, -1, -1, -1, -1, 79, + -1, -1, -1, -1, 404, -1, 406, 87, -1, -1, + 410, 411, -1, -1, -1, 415, -1, -1, 418, 419, + 420, 421, 422, 423, -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, 457, -1, 459, + -1, -1, 462, 463, -1, 3, 4, 5, 468, 469, + -1, -1, -1, 473, -1, 13, 14, 477, 478, 479, + 480, -1, -1, -1, -1, -1, -1, 25, -1, 27, + -1, -1, 30, -1, -1, 33, 34, -1, 36, -1, + -1, -1, -1, -1, 42, 43, -1, -1, -1, 47, + 48, 511, 512, 513, 514, 515, 516, -1, -1, -1, + -1, 521, -1, -1, 62, -1, 526, 527, 66, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 78, -1, -1, -1, 544, -1, 546, 547, 548, -1, + -1, -1, 552, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 571, 572, 573, 574, -1, -1, 577, 578, -1, + 580, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 590, 591, -1, 593, -1, 595, -1, 597, -1, -1, + -1, 601, 602, -1, -1, -1, -1, -1, 608, 609, + -1, -1, 612, -1, -1, 615, -1, -1, -1, -1, + -1, 621, 622, -1, -1, -1, -1, -1, 628, 629, + -1, -1, -1, -1, -1, 635, -1, -1, -1, 639, + 640, -1, -1, -1, -1, -1, 646, 647, 648, 649, + -1, 651, 652, 653, -1, -1, -1, 657, 658, 659, + 660, 661, 662, 663, 664, 665, 666, 667, -1, -1, + 670, -1, -1, 673, 674, -1, -1, 677, 3, 4, + 5, -1, 682, 8, 9, 685, 686, 12, 13, 14, + -1, 16, -1, -1, -1, -1, 21, -1, -1, -1, + 25, -1, 27, -1, -1, 30, -1, -1, 33, 34, + -1, 36, -1, -1, 39, -1, -1, 42, 43, 44, + -1, -1, 47, 48, -1, -1, -1, -1, -1, -1, + -1, 56, -1, -1, -1, 60, 61, 62, -1, 64, + 65, 66, -1, 68, -1, -1, 3, 4, 5, -1, + -1, 8, 9, 78, 79, 12, 13, 14, -1, 16, + -1, -1, 87, -1, 21, -1, -1, -1, 25, -1, + 27, -1, -1, 30, -1, -1, 33, 34, -1, 36, + -1, -1, 39, -1, -1, 42, 43, 44, -1, -1, + 47, 48, -1, -1, -1, -1, -1, -1, -1, 56, + -1, -1, -1, 60, 61, 62, -1, 64, 65, 66, + -1, 68, -1, -1, 3, 4, 5, -1, -1, 8, + 9, 78, 79, 12, 13, 14, -1, 16, -1, -1, + 87, -1, 21, -1, -1, -1, 25, -1, 27, -1, + -1, 30, -1, -1, 33, 34, -1, 36, -1, -1, + 39, -1, -1, 42, 43, 44, -1, -1, 47, 48, + -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, + -1, 60, 61, 62, -1, 64, 65, 66, -1, 68, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, + 79 +}; +/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ +#line 3 "/usr/share/bison/bison.simple" + +/* Skeleton output parser for bison, + + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software + Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* As a special exception, when this file is copied by Bison into a + Bison output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison. */ + +/* This is the parser code that is written into each bison parser when + the %semantic_parser declaration is not specified in the grammar. + It was written by Richard Stallman by simplifying the hairy parser + used when %semantic_parser is specified. */ + +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ + +#if ! defined (yyoverflow) || defined (YYERROR_VERBOSE) /* The parser invokes alloca or malloc; define the necessary symbols. */ @@ -398,28 +1034,37 @@ typedef int YYSTYPE; # define YYSTACK_ALLOC malloc # define YYSTACK_FREE free # endif -#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ +#endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */ #if (! defined (yyoverflow) \ && (! defined (__cplusplus) \ - || (YYSTYPE_IS_TRIVIAL))) + || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { short yyss; YYSTYPE yyvs; - }; +# if YYLSP_NEEDED + YYLTYPE yyls; +# endif +}; /* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) +# define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ -# define YYSTACK_BYTES(N) \ +# if YYLSP_NEEDED +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ + + 2 * YYSTACK_GAP_MAX) +# else +# define YYSTACK_BYTES(N) \ ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAXIMUM) + + YYSTACK_GAP_MAX) +# endif /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ @@ -450,900 +1095,13 @@ union yyalloc YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) #endif -#if defined (__STDC__) || defined (__cplusplus) - typedef signed char yysigned_char; -#else - typedef short yysigned_char; -#endif - -/* YYFINAL -- State number of the termination state. */ -#define YYFINAL 14 -/* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 1252 - -/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 87 -/* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 110 -/* YYNRULES -- Number of rules. */ -#define YYNRULES 242 -/* YYNRULES -- Number of states. */ -#define YYNSTATES 683 - -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ -#define YYUNDEFTOK 2 -#define YYMAXUTOK 339 - -#define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) - -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ -static const unsigned 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, - 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, 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, 2, 2, - 2, 2, 2, 85, 2, 86, 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, 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, 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, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 84 -}; - -#if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const unsigned short yyprhs[] = -{ - 0, 0, 3, 6, 9, 12, 15, 17, 20, 22, - 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, - 44, 46, 48, 53, 59, 60, 68, 70, 77, 80, - 81, 88, 90, 97, 103, 110, 111, 118, 120, 123, - 124, 130, 131, 138, 140, 143, 147, 152, 158, 164, - 170, 179, 188, 191, 199, 207, 211, 220, 229, 234, - 244, 254, 255, 262, 263, 270, 271, 278, 280, 287, - 293, 301, 309, 315, 321, 327, 333, 339, 345, 351, - 358, 364, 367, 370, 373, 376, 378, 380, 383, 384, - 390, 392, 395, 398, 401, 404, 407, 410, 413, 420, - 425, 430, 435, 443, 450, 455, 460, 462, 479, 480, - 486, 488, 491, 494, 497, 500, 506, 511, 517, 522, - 524, 534, 544, 546, 553, 558, 570, 583, 584, 591, - 592, 599, 600, 607, 608, 615, 617, 623, 629, 635, - 638, 644, 650, 656, 663, 665, 671, 677, 683, 686, - 692, 698, 704, 710, 716, 722, 725, 731, 738, 740, - 746, 752, 758, 761, 767, 773, 779, 785, 791, 798, - 800, 802, 804, 808, 817, 826, 831, 841, 851, 853, - 862, 865, 867, 869, 871, 877, 879, 882, 884, 886, - 887, 894, 895, 902, 904, 907, 910, 913, 916, 919, - 920, 927, 929, 936, 942, 943, 950, 952, 959, 965, - 966, 973, 975, 982, 985, 987, 990, 992, 995, 997, - 999, 1001, 1003, 1005, 1007, 1009, 1011, 1013, 1015, 1017, - 1019, 1021, 1023, 1025, 1027, 1030, 1032, 1034, 1036, 1038, - 1040, 1042, 1044 -}; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const short yyrhs[] = -{ - 88, 0, -1, 81, 89, -1, 82, 116, -1, 83, - 95, -1, 84, 150, -1, 196, -1, 89, 90, -1, - 91, -1, 92, -1, 93, -1, 96, -1, 99, -1, - 100, -1, 110, -1, 112, -1, 114, -1, 142, -1, - 144, -1, 146, -1, 148, -1, 167, -1, 14, 85, - 188, 86, -1, 13, 187, 85, 191, 86, -1, -1, - 65, 186, 85, 188, 94, 95, 86, -1, 196, -1, - 95, 55, 186, 85, 194, 86, -1, 95, 130, -1, - -1, 35, 186, 85, 97, 98, 86, -1, 196, -1, - 98, 55, 186, 85, 194, 86, -1, 25, 187, 85, - 188, 86, -1, 190, 25, 187, 85, 188, 86, -1, - -1, 77, 186, 101, 85, 102, 86, -1, 196, -1, - 102, 103, -1, -1, 75, 104, 85, 106, 86, -1, - -1, 75, 195, 105, 85, 106, 86, -1, 193, -1, - 193, 193, -1, 193, 193, 193, -1, 193, 193, 193, - 193, -1, 106, 73, 85, 107, 86, -1, 106, 40, - 85, 108, 86, -1, 106, 49, 85, 109, 86, -1, - 106, 20, 190, 85, 193, 193, 193, 86, -1, 106, - 20, 85, 190, 193, 193, 193, 86, -1, 193, 193, - -1, 107, 19, 190, 85, 193, 193, 86, -1, 107, - 19, 85, 190, 193, 193, 86, -1, 193, 193, 193, - -1, 108, 17, 190, 85, 193, 193, 193, 86, -1, - 108, 17, 85, 190, 193, 193, 193, 86, -1, 193, - 193, 193, 193, -1, 109, 18, 190, 85, 193, 193, - 193, 193, 86, -1, 109, 18, 85, 190, 193, 193, - 193, 193, 86, -1, -1, 27, 187, 111, 85, 116, - 86, -1, -1, 30, 187, 113, 85, 116, 86, -1, - -1, 33, 187, 115, 85, 116, 86, -1, 196, -1, - 116, 55, 186, 85, 194, 86, -1, 116, 8, 85, - 190, 86, -1, 116, 9, 85, 193, 193, 193, 86, - -1, 116, 12, 187, 85, 117, 118, 86, -1, 116, - 21, 85, 195, 86, -1, 116, 21, 85, 5, 86, - -1, 116, 16, 85, 195, 86, -1, 116, 16, 85, - 5, 86, -1, 116, 59, 85, 195, 86, -1, 116, - 43, 85, 188, 86, -1, 116, 38, 85, 195, 86, - -1, 116, 63, 187, 85, 191, 86, -1, 116, 64, - 85, 195, 86, -1, 116, 119, -1, 116, 138, -1, - 116, 140, -1, 116, 90, -1, 190, -1, 196, -1, - 118, 190, -1, -1, 67, 120, 85, 121, 86, -1, - 196, -1, 121, 122, -1, 121, 123, -1, 121, 124, - -1, 121, 125, -1, 121, 126, -1, 121, 127, -1, - 121, 128, -1, 68, 85, 193, 193, 193, 86, -1, - 51, 85, 193, 86, -1, 52, 85, 193, 86, -1, - 53, 85, 193, 86, -1, 50, 85, 193, 193, 193, - 193, 86, -1, 56, 85, 193, 193, 193, 86, -1, - 56, 85, 193, 86, -1, 37, 85, 129, 86, -1, - 196, -1, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, -1, -1, - 67, 131, 85, 132, 86, -1, 196, -1, 132, 136, - -1, 132, 133, -1, 132, 134, -1, 132, 135, -1, - 68, 85, 193, 193, 86, -1, 50, 85, 193, 86, - -1, 56, 85, 193, 193, 86, -1, 36, 85, 137, - 86, -1, 196, -1, 193, 193, 193, 193, 193, 193, - 193, 193, 193, -1, 78, 85, 181, 139, 48, 85, - 185, 86, 86, -1, 196, -1, 139, 55, 186, 85, - 194, 86, -1, 60, 85, 141, 86, -1, 22, 85, - 193, 193, 75, 85, 193, 193, 193, 86, 86, -1, - 22, 85, 193, 193, 193, 75, 85, 193, 193, 193, - 86, 86, -1, -1, 47, 187, 143, 85, 150, 86, - -1, -1, 46, 187, 145, 85, 150, 86, -1, -1, - 42, 187, 147, 85, 151, 86, -1, -1, 41, 187, - 149, 85, 152, 86, -1, 196, -1, 150, 69, 85, - 153, 86, -1, 150, 65, 85, 154, 86, -1, 150, - 39, 85, 155, 86, -1, 150, 159, -1, 150, 40, - 85, 156, 86, -1, 150, 49, 85, 157, 86, -1, - 150, 7, 85, 158, 86, -1, 150, 55, 186, 85, - 194, 86, -1, 196, -1, 151, 69, 85, 153, 86, - -1, 151, 65, 85, 154, 86, -1, 151, 39, 85, - 155, 86, -1, 151, 159, -1, 151, 40, 85, 156, - 86, -1, 151, 49, 85, 157, 86, -1, 151, 7, - 85, 158, 86, -1, 151, 44, 85, 160, 86, -1, - 151, 72, 85, 161, 86, -1, 151, 74, 85, 162, - 86, -1, 151, 148, -1, 151, 70, 85, 163, 86, - -1, 151, 55, 186, 85, 194, 86, -1, 196, -1, - 152, 69, 85, 153, 86, -1, 152, 65, 85, 154, - 86, -1, 152, 39, 85, 155, 86, -1, 152, 159, - -1, 152, 40, 85, 156, 86, -1, 152, 49, 85, - 157, 86, -1, 152, 7, 85, 158, 86, -1, 152, - 44, 85, 165, 86, -1, 152, 31, 85, 166, 86, - -1, 152, 55, 186, 85, 194, 86, -1, 183, -1, - 186, -1, 184, -1, 193, 193, 193, -1, 156, 17, - 190, 85, 193, 193, 193, 86, -1, 156, 17, 85, - 190, 193, 193, 193, 86, -1, 193, 193, 193, 193, - -1, 157, 18, 190, 85, 193, 193, 193, 193, 86, - -1, 157, 18, 85, 190, 193, 193, 193, 193, 86, - -1, 195, -1, 78, 85, 181, 48, 85, 185, 86, - 86, -1, 195, 195, -1, 182, -1, 182, -1, 196, - -1, 163, 34, 85, 164, 86, -1, 196, -1, 164, - 148, -1, 195, -1, 182, -1, -1, 61, 187, 168, - 85, 171, 86, -1, -1, 10, 187, 170, 85, 171, - 86, -1, 196, -1, 171, 167, -1, 171, 169, -1, - 171, 172, -1, 171, 175, -1, 171, 178, -1, -1, - 54, 187, 173, 85, 174, 86, -1, 196, -1, 174, - 55, 186, 85, 194, 86, -1, 174, 62, 85, 182, - 86, -1, -1, 79, 187, 176, 85, 177, 86, -1, - 196, -1, 177, 55, 186, 85, 194, 86, -1, 177, - 62, 85, 182, 86, -1, -1, 80, 187, 179, 85, - 180, 86, -1, 196, -1, 180, 55, 186, 85, 194, - 86, -1, 180, 172, -1, 196, -1, 181, 195, -1, - 196, -1, 182, 193, -1, 186, -1, 186, -1, 186, - -1, 196, -1, 190, -1, 189, -1, 196, -1, 190, - -1, 196, -1, 190, -1, 3, -1, 4, -1, 5, - -1, 196, -1, 192, -1, 190, -1, 192, 190, -1, - 3, -1, 4, -1, 3, -1, 4, -1, 5, -1, - 3, -1, 4, -1, -1 -}; - -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const unsigned short yyrline[] = -{ - 0, 180, 180, 181, 182, 183, 194, 195, 210, 211, - 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 234, 257, 272, 271, 299, 300, 407, 419, - 418, 445, 446, 541, 548, 569, 568, 596, 597, 609, - 608, 620, 619, 665, 669, 673, 677, 681, 682, 683, - 684, 692, 711, 715, 723, 741, 745, 753, 771, 775, - 783, 802, 801, 822, 821, 843, 842, 863, 864, 918, - 930, 935, 942, 948, 961, 968, 981, 987, 993, 999, - 1004, 1010, 1011, 1012, 1013, 1027, 1049, 1050, 1073, 1072, - 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1098, 1104, - 1110, 1116, 1122, 1128, 1132, 1139, 1143, 1144, 1167, 1166, - 1185, 1186, 1187, 1188, 1189, 1192, 1198, 1204, 1210, 1214, - 1215, 1234, 1267, 1271, 1296, 1308, 1313, 1331, 1330, 1350, - 1349, 1369, 1368, 1388, 1387, 1407, 1408, 1409, 1410, 1411, - 1412, 1413, 1414, 1415, 1464, 1465, 1466, 1467, 1468, 1469, - 1470, 1471, 1472, 1473, 1474, 1475, 1481, 1482, 1536, 1537, - 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1605, - 1622, 1662, 1679, 1683, 1691, 1709, 1713, 1721, 1739, 1755, - 1786, 1804, 1824, 1844, 1849, 1860, 1866, 1885, 1901, 1923, - 1922, 1945, 1944, 1966, 1967, 1971, 1975, 1979, 1983, 1999, - 1998, 2019, 2020, 2032, 2047, 2046, 2067, 2068, 2085, 2100, - 2099, 2120, 2121, 2136, 2151, 2155, 2169, 2173, 2187, 2208, - 2229, 2251, 2256, 2268, 2280, 2285, 2296, 2300, 2314, 2318, - 2322, 2335, 2339, 2355, 2359, 2373, 2374, 2389, 2395, 2401, - 2418, 2426, 2432 -}; -#endif - -#if YYDEBUG || YYERROR_VERBOSE -/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at YYNTOKENS, nonterminals. */ -static const char *const yytname[] = -{ - "$end", "error", "$undefined", "NUMBER", "ULONG", "STRING", "BEZIERCURVE", - "BFACE", "BILLBOARD", "BILLBOARDCENTER", "BUNDLE", "CLOSED", "COLLIDE", - "COMMENT", "COORDSYSTEM", "CV", "DART", "DNORMAL", "DRGBA", "DUV", - "DXYZ", "DCS", "DISTANCE", "DTREF", "DYNAMICVERTEXPOOL", - "EXTERNAL_FILE", "FLIGHT", "GROUP", "HIP", "INTANGENT", "JOINT", - "KNOTS", "INCLUDE", "INSTANCE", "LOOP", "MATERIAL", "MATRIX3", - "MATRIX4", "MODEL", "MREF", "NORMAL", "NURBSCURVE", "NURBSSURFACE", - "OBJECTTYPE", "ORDER", "OUTTANGENT", "POINTLIGHT", "POLYGON", "REF", - "RGBA", "ROTATE", "ROTX", "ROTY", "ROTZ", "SANIM", "SCALAR", "SCALE", - "SEQUENCE", "SHADING", "SWITCH", "SWITCHCONDITION", "TABLE", "TABLE_V", - "TAG", "TEXLIST", "TEXTURE", "TLENGTHS", "TRANSFORM", "TRANSLATE", - "TREF", "TRIM", "TXT", "UKNOTS", "UV", "VKNOTS", "VERTEX", "VERTEXANIM", - "VERTEXPOOL", "VERTEXREF", "XFMANIM", "XFMSANIM", "START_EGG", - "START_GROUP_BODY", "START_TEXTURE_BODY", "START_PRIMITIVE_BODY", "'{'", - "'}'", "$accept", "grammar", "egg", "node", "coordsystem", "comment", - "texture", "@1", "texture_body", "material", "@2", "material_body", - "external_reference", "vertex_pool", "@3", "vertex_pool_body", "vertex", - "@4", "@5", "vertex_body", "vertex_uv_body", "vertex_normal_body", - "vertex_color_body", "group", "@6", "joint", "@7", "instance", "@8", - "group_body", "cs_type", "collide_flags", "transform_3d", "@9", - "transform_3d_body", "translate_3d", "rotx_3d", "roty_3d", "rotz_3d", - "rotate_3d", "scale_3d", "matrix4_3d", "matrix4_3d_body", - "transform_2d", "@10", "transform_2d_body", "translate_2d", "rotate_2d", - "scale_2d", "matrix3_2d", "matrix3_2d_body", "group_vertex_ref", - "group_vertex_membership", "switchcondition", "switchcondition_body", - "polygon", "@11", "point_light", "@12", "nurbs_surface", "@13", - "nurbs_curve", "@14", "primitive_body", "nurbs_surface_body", - "nurbs_curve_body", "primitive_tref_body", "primitive_texture_body", - "primitive_material_body", "primitive_normal_body", - "primitive_color_body", "primitive_bface_body", "primitive_vertex_ref", - "nurbs_surface_order_body", "nurbs_surface_uknots_body", - "nurbs_surface_vknots_body", "nurbs_surface_trim_body", - "nurbs_surface_trim_loop_body", "nurbs_curve_order_body", - "nurbs_curve_knots_body", "table", "@15", "bundle", "@16", "table_body", - "sanim", "@17", "sanim_body", "xfmanim", "@18", "xfmanim_body", - "xfm_s_anim", "@19", "xfm_s_anim_body", "integer_list", "real_list", - "texture_name", "material_name", "vertex_pool_name", "required_name", - "optional_name", "required_string", "optional_string", "string", - "repeated_string", "repeated_string_body", "real", "real_or_string", - "integer", "empty", 0 -}; -#endif - -# ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ -static const unsigned short yytoknum[] = -{ - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 339, 123, 125 -}; -# endif - -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const unsigned char yyr1[] = -{ - 0, 87, 88, 88, 88, 88, 89, 89, 90, 90, - 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 91, 92, 94, 93, 95, 95, 95, 97, - 96, 98, 98, 99, 99, 101, 100, 102, 102, 104, - 103, 105, 103, 106, 106, 106, 106, 106, 106, 106, - 106, 106, 107, 107, 107, 108, 108, 108, 109, 109, - 109, 111, 110, 113, 112, 115, 114, 116, 116, 116, - 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, - 116, 116, 116, 116, 116, 117, 118, 118, 120, 119, - 121, 121, 121, 121, 121, 121, 121, 121, 122, 123, - 124, 125, 126, 127, 127, 128, 129, 129, 131, 130, - 132, 132, 132, 132, 132, 133, 134, 135, 136, 137, - 137, 138, 139, 139, 140, 141, 141, 143, 142, 145, - 144, 147, 146, 149, 148, 150, 150, 150, 150, 150, - 150, 150, 150, 150, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 152, 152, - 152, 152, 152, 152, 152, 152, 152, 152, 152, 153, - 154, 155, 156, 156, 156, 157, 157, 157, 158, 159, - 160, 161, 162, 163, 163, 164, 164, 165, 166, 168, - 167, 170, 169, 171, 171, 171, 171, 171, 171, 173, - 172, 174, 174, 174, 176, 175, 177, 177, 177, 179, - 178, 180, 180, 180, 181, 181, 182, 182, 183, 184, - 185, 186, 186, 187, 188, 188, 189, 189, 190, 190, - 190, 191, 191, 192, 192, 193, 193, 194, 194, 194, - 195, 195, 196 -}; - -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const unsigned char yyr2[] = -{ - 0, 2, 2, 2, 2, 2, 1, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 4, 5, 0, 7, 1, 6, 2, 0, - 6, 1, 6, 5, 6, 0, 6, 1, 2, 0, - 5, 0, 6, 1, 2, 3, 4, 5, 5, 5, - 8, 8, 2, 7, 7, 3, 8, 8, 4, 9, - 9, 0, 6, 0, 6, 0, 6, 1, 6, 5, - 7, 7, 5, 5, 5, 5, 5, 5, 5, 6, - 5, 2, 2, 2, 2, 1, 1, 2, 0, 5, - 1, 2, 2, 2, 2, 2, 2, 2, 6, 4, - 4, 4, 7, 6, 4, 4, 1, 16, 0, 5, - 1, 2, 2, 2, 2, 5, 4, 5, 4, 1, - 9, 9, 1, 6, 4, 11, 12, 0, 6, 0, - 6, 0, 6, 0, 6, 1, 5, 5, 5, 2, - 5, 5, 5, 6, 1, 5, 5, 5, 2, 5, - 5, 5, 5, 5, 5, 2, 5, 6, 1, 5, - 5, 5, 2, 5, 5, 5, 5, 5, 6, 1, - 1, 1, 3, 8, 8, 4, 9, 9, 1, 8, - 2, 1, 1, 1, 5, 1, 2, 1, 1, 0, - 6, 0, 6, 1, 2, 2, 2, 2, 2, 0, - 6, 1, 6, 5, 0, 6, 1, 6, 5, 0, - 6, 1, 6, 2, 1, 2, 1, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, - 1, 1, 0 -}; - -/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state - STATE-NUM when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const unsigned char yydefact[] = -{ - 0, 242, 242, 242, 242, 0, 2, 6, 3, 67, - 4, 26, 5, 135, 1, 228, 229, 230, 242, 0, - 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, - 242, 242, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, - 242, 0, 0, 0, 0, 242, 0, 0, 242, 0, - 88, 0, 84, 81, 82, 83, 242, 108, 28, 0, - 0, 0, 0, 242, 0, 0, 0, 139, 0, 223, - 227, 226, 242, 0, 61, 63, 65, 0, 222, 221, - 133, 131, 129, 127, 189, 0, 35, 242, 0, 0, - 0, 0, 0, 0, 242, 0, 0, 0, 0, 0, - 0, 242, 0, 0, 0, 242, 0, 0, 0, 242, - 242, 242, 242, 0, 225, 224, 242, 0, 0, 0, - 29, 0, 0, 0, 0, 0, 242, 0, 0, 0, - 235, 236, 0, 0, 240, 241, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 242, 0, 242, 242, - 214, 0, 242, 0, 178, 0, 171, 219, 0, 0, - 0, 0, 0, 0, 170, 0, 169, 218, 0, 233, - 0, 232, 231, 22, 0, 242, 242, 242, 242, 242, - 242, 242, 242, 242, 24, 242, 242, 69, 0, 242, - 85, 75, 74, 73, 72, 78, 77, 237, 238, 239, - 0, 76, 0, 124, 0, 80, 0, 90, 0, 215, - 122, 0, 0, 110, 142, 138, 0, 140, 0, 0, - 141, 0, 0, 137, 136, 0, 23, 234, 33, 0, - 0, 0, 0, 31, 0, 158, 0, 144, 0, 0, - 0, 193, 242, 0, 37, 0, 0, 0, 86, 68, - 0, 79, 0, 0, 0, 0, 0, 0, 0, 89, - 91, 92, 93, 94, 95, 96, 97, 0, 242, 27, - 0, 0, 0, 0, 109, 112, 113, 114, 111, 0, - 0, 172, 0, 0, 0, 143, 242, 62, 64, 66, - 242, 30, 0, 0, 0, 0, 0, 0, 242, 0, - 0, 134, 162, 0, 0, 0, 0, 0, 242, 0, - 0, 0, 0, 0, 132, 155, 148, 130, 128, 242, - 242, 242, 242, 190, 194, 195, 196, 197, 198, 0, - 39, 36, 38, 34, 70, 71, 87, 0, 242, 0, - 0, 0, 0, 0, 0, 242, 0, 242, 0, 0, - 0, 0, 0, 0, 0, 175, 0, 220, 0, 0, - 242, 242, 0, 0, 0, 0, 242, 242, 0, 242, - 0, 0, 0, 0, 242, 242, 242, 242, 242, 191, - 199, 204, 209, 25, 0, 41, 0, 0, 0, 0, - 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 188, 216, 0, 0, 0, 187, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 183, 0, 181, 0, 182, 0, 0, - 0, 0, 0, 0, 0, 0, 105, 0, 0, 99, - 100, 101, 104, 0, 0, 0, 0, 118, 0, 116, - 0, 0, 0, 0, 0, 0, 179, 0, 165, 167, - 217, 161, 163, 166, 164, 0, 160, 159, 151, 147, - 149, 152, 180, 150, 0, 146, 145, 0, 156, 153, - 154, 242, 242, 242, 242, 0, 43, 0, 0, 0, - 0, 0, 0, 0, 121, 123, 0, 117, 115, 0, - 0, 0, 0, 32, 168, 157, 242, 0, 0, 201, - 0, 206, 0, 211, 0, 0, 0, 0, 40, 44, - 0, 0, 0, 0, 0, 103, 98, 0, 174, 173, - 0, 0, 0, 185, 192, 242, 0, 200, 242, 0, - 205, 242, 210, 213, 0, 0, 0, 0, 0, 45, - 42, 0, 0, 0, 102, 0, 177, 176, 184, 186, - 0, 242, 0, 242, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 0, 0, 49, - 0, 0, 47, 52, 125, 0, 0, 0, 0, 203, - 0, 208, 0, 0, 0, 0, 0, 55, 0, 0, - 0, 0, 0, 126, 0, 0, 202, 207, 212, 0, - 0, 0, 0, 0, 0, 58, 0, 0, 0, 120, - 51, 50, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 54, 53, 0, 57, 56, 0, 0, 0, 60, 59, - 0, 0, 107 -}; - -/* YYDEFGOTO[NTERM-NUM]. */ -static const short yydefgoto[] = -{ - -1, 5, 6, 62, 33, 34, 35, 252, 10, 36, - 188, 242, 37, 38, 137, 253, 342, 394, 453, 505, - 591, 587, 589, 39, 127, 40, 128, 41, 129, 8, - 199, 257, 63, 110, 216, 270, 271, 272, 273, 274, - 275, 276, 398, 68, 113, 222, 285, 286, 287, 288, - 409, 64, 218, 65, 155, 42, 134, 43, 133, 44, - 132, 45, 131, 12, 246, 244, 175, 173, 165, 168, - 170, 163, 77, 436, 444, 446, 442, 552, 427, 422, - 46, 135, 335, 448, 250, 336, 449, 528, 337, 450, - 530, 338, 451, 532, 159, 423, 176, 166, 366, 167, - 78, 123, 79, 88, 180, 181, 480, 210, 164, 89 -}; - -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -380 -static const short yypact[] = -{ - 217, -380, -380, -380, -380, 102, 359, -380, 1171, -380, - 109, -380, 253, -380, -380, -380, -380, -380, 259, 19, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 259, -380, -380, -380, -380, -380, -380, -380, -380, - -380, -380, -380, -380, -380, -380, -380, 111, 114, 121, - 259, 126, 158, 161, 168, 259, 169, 173, 259, 181, - -380, 193, -380, -380, -380, -380, 259, -380, -380, 196, - 197, 210, 227, 259, 228, 229, 230, -380, 231, -380, - -380, -380, 259, 232, -380, -380, -380, 235, -380, -380, - -380, -380, -380, -380, -380, 236, -380, 259, 259, 177, - 242, 266, 285, 234, 259, 243, 234, 143, 244, 234, - 245, -380, 247, 248, 234, 259, 177, 177, 249, 259, - 259, -380, 259, 110, -380, -380, 259, 254, 255, 257, - -380, 258, 267, 268, 280, 281, 259, 282, 283, 189, - -380, -380, 177, 259, -380, -380, 233, 284, 288, 289, - 290, 292, 301, 294, 296, 297, 259, 299, -380, 234, - -380, 301, -380, 302, -380, 304, -380, -380, 13, 177, - 29, 177, 301, 305, -380, 307, -380, -380, 140, -380, - 309, 259, -380, -380, 311, -380, -380, -380, -380, -380, - -380, -380, -380, -380, -380, -380, 259, -380, 177, -380, - -380, -380, -380, -380, -380, -380, -380, -380, -380, -380, - 313, -380, 177, -380, 318, -380, 133, -380, -44, -380, - -380, 322, 211, -380, -380, -380, 50, -380, 177, 55, - -380, 177, 323, -380, -380, 331, -380, -380, -380, 867, - 981, 1057, 31, -380, 187, -380, 138, -380, 83, 190, - 14, -380, -380, 71, -380, 332, 333, 38, -380, -380, - 177, -380, 336, 337, 338, 340, 341, 342, 343, -380, - -380, -380, -380, -380, -380, -380, -380, 344, 259, -380, - 345, 346, 347, 348, -380, -380, -380, -380, -380, 259, - 349, -380, 259, 350, 177, -380, 259, -380, -380, -380, - 259, -380, 352, 353, 354, 355, 356, 357, 259, 358, - 360, -380, -380, 362, 363, 365, 371, 372, 259, 373, - 374, 378, 382, 383, -380, -380, -380, -380, -380, 259, - 259, 259, 259, -380, -380, -380, -380, -380, -380, 105, - 234, -380, -380, -380, -380, -380, -380, 80, 177, 177, - 177, 177, 177, 177, 177, 259, 388, 177, 177, 177, - 177, 177, 177, 177, 177, -380, 389, -380, 391, 234, - -380, 259, 177, 234, 177, 393, 259, 259, 234, 259, - 177, 234, 177, 394, 259, 259, -380, -380, -380, -380, - -380, -380, -380, -380, 395, -380, 396, 221, 397, 177, - -380, 177, 398, 399, 400, 35, 177, 401, 301, 403, - 177, -380, 404, 177, 177, 177, 177, 177, 177, 405, - 301, 406, 407, 177, -380, 408, 20, 410, -380, 33, - 301, 411, 412, 413, 414, 63, 415, 234, 43, 301, - 416, 423, 77, -380, 424, 177, 425, 177, 427, 429, - 430, 431, 177, 432, 177, 435, -380, 177, 177, -380, - -380, -380, -380, 177, 177, 436, 437, -380, 177, -380, - 438, 439, 177, 177, 177, 177, -380, 440, -380, -380, - -380, -380, -380, -380, -380, 441, -380, -380, -380, -380, - -380, -380, -380, -380, 443, -380, -380, 445, -380, -380, - -380, -380, -380, -380, -380, 85, 177, 177, 177, 177, - 177, 177, 446, 447, -380, -380, 177, -380, -380, 448, - 449, 177, 177, -380, -380, -380, -380, 47, 26, -380, - 112, -380, 87, -380, 62, 452, 458, 460, -380, 177, - 201, 177, 177, 177, 461, -380, -380, 177, -380, -380, - 462, 463, 21, -380, -380, 259, 465, -380, 259, 466, - -380, 259, -380, -380, 259, 467, 177, 177, 177, 177, - -380, 468, 177, 177, -380, 177, -380, -380, -380, -380, - 470, -380, 471, -380, 472, 177, 177, 70, 177, 67, - 177, 76, 177, -380, 473, 474, 177, 177, 301, 42, - 301, 45, 301, 177, 177, 66, -380, 177, 69, -380, - 177, 74, -380, -380, -380, 475, 177, 177, 476, -380, - 481, -380, 482, 177, 177, 259, 486, -380, 259, 488, - 177, 259, 489, -380, 177, 177, -380, -380, -380, 490, - 491, 177, 177, 177, 177, -380, 177, 177, 177, -380, - -380, -380, 177, 177, 177, 177, 177, 177, 177, 177, - 177, 177, 177, 492, 493, 177, 494, 495, 177, 177, - -380, -380, 177, -380, -380, 498, 500, 177, -380, -380, - 177, 177, -380 -}; - -/* YYPGOTO[NTERM-NUM]. */ -static const short yypgoto[] = -{ - -380, -380, -380, 376, -380, -380, -380, -380, 135, -380, - -380, -380, -380, -380, -380, -380, -380, -380, -380, -90, - -380, -380, -380, -380, -380, -380, -380, -380, -380, 124, - -380, -380, -380, -380, -380, -380, -380, -380, -380, -380, - -380, -380, -380, -380, -380, -380, -380, -380, -380, -380, - -380, -380, -380, -380, -380, -380, -380, -380, -380, -380, - -380, -245, -380, 57, -380, -380, -288, -184, -166, -158, - -142, -260, -29, -380, -380, -380, -380, -380, -380, -380, - -247, -380, -380, -380, -57, -58, -380, -380, -380, -380, - -380, -380, -380, -380, 361, -379, -380, -380, 166, 422, - 6, -86, -380, -6, 375, -380, -3, -136, -96, 669 -}; - -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. - If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -1 -static const unsigned short yytable[] = -{ - 47, 325, 47, 334, 277, 147, 149, 150, 445, 447, - 153, 278, 80, 157, 80, 80, 80, 80, 151, 80, - 80, 80, 80, 80, 329, 221, 83, 84, 85, 86, - 226, 90, 91, 92, 93, 94, 232, 226, 140, 141, - 184, 15, 16, 17, 80, 140, 141, 229, 140, 141, - 194, 229, 80, 15, 16, 17, 100, 329, 15, 16, - 17, 229, 25, 219, 108, 15, 16, 17, 330, 15, - 16, 17, 15, 16, 17, 29, 124, 15, 16, 17, - 226, 555, 219, 140, 141, 608, 300, 605, 556, 432, - 69, 80, 139, 331, 332, 611, 142, 441, 124, 227, - 333, 330, 14, 138, 82, 534, 482, 578, 29, 421, - 255, 497, 557, 169, 171, 230, 179, 301, 433, 484, - 124, 462, 70, 71, 345, 535, 331, 332, 619, 493, - 124, 621, 72, 554, 536, 289, 97, 200, 73, 198, - 292, 330, 561, 144, 145, 313, 340, 564, 74, 490, - 179, 625, 75, 609, 628, 396, 606, 341, 537, 631, - 66, 76, 612, 498, 66, 154, 228, 558, 231, 327, - 262, 538, 67, 562, 559, 237, 67, 314, 315, 25, - 140, 141, 316, 263, 264, 265, 266, 317, 235, 267, - 124, 393, 431, 318, 302, 256, 183, 69, 560, 98, - 440, 268, 599, 319, 601, 425, 99, 320, 321, 260, - 322, 101, 323, 434, 426, 312, 76, 326, 303, 269, - 290, 534, 435, 293, 324, 291, 304, 305, 294, 70, - 71, 306, 429, 47, 47, 47, 307, 144, 145, 72, - 438, 535, 308, 102, 395, 73, 103, 280, 248, 249, - 536, 346, 309, 104, 106, 74, 310, 347, 107, 75, - 69, 281, 15, 16, 17, 76, 109, 282, 76, 144, - 145, 146, 466, 311, 537, 197, 328, 428, 111, 283, - 334, 114, 115, 361, 477, 437, 363, 570, 144, 145, - 148, 365, 70, 71, 485, 116, 455, 284, 1, 2, - 3, 4, 72, 494, 207, 208, 209, 579, 73, 239, - 240, 241, 117, 119, 120, 121, 122, 126, 74, 201, - 130, 136, 75, 80, 80, 80, 80, 143, 152, 156, - 158, 76, 161, 162, 172, 389, 390, 391, 392, 185, - 186, 492, 187, 189, 397, 399, 401, 402, 403, 404, - 405, 406, 190, 191, 410, 412, 413, 414, 415, 416, - 417, 418, 15, 16, 17, 192, 193, 195, 196, 169, - 202, 171, 18, 19, 203, 204, 205, 169, 206, 171, - 211, 212, 32, 213, 20, 215, 21, 339, 224, 22, - 225, 233, 23, 234, 24, 236, 457, 238, 458, 259, - 25, 26, 463, 464, 261, 27, 28, 468, 279, 295, - 470, 471, 472, 473, 474, 475, 296, 540, 343, 344, - 29, 348, 349, 350, 30, 351, 352, 353, 354, 355, - 357, 358, 359, 360, 362, 364, 31, 369, 370, 371, - 372, 373, 374, 376, 527, 377, 87, 378, 379, 506, - 380, 508, 95, 96, 510, 511, 381, 382, 384, 385, - 512, 513, 618, 386, 620, 516, 622, 387, 388, 519, - 520, 521, 522, 408, 563, 419, 420, 105, 430, 439, - 452, 454, 178, 456, 459, 460, 461, 465, 112, 467, - 469, 476, 478, 479, 481, 118, 483, 486, 487, 488, - 489, 491, 495, 539, 506, 541, 542, 543, 544, 496, - 499, 500, 501, 547, 502, 503, 504, 507, 550, 551, - 509, 407, 514, 515, 517, 518, 523, 524, 565, 525, - 526, 214, 545, 546, 548, 549, 569, 566, 571, 572, - 573, 174, 177, 567, 575, 568, 0, 574, 576, 577, - 581, 583, 586, 0, 594, 598, 600, 602, 585, 614, - 615, 633, 636, 588, 590, 592, 593, 637, 638, 595, - 596, 642, 597, 644, 647, 0, 650, 651, 670, 671, - 673, 674, 603, 604, 678, 607, 679, 610, 0, 613, - 0, 0, 0, 616, 617, 0, 0, 0, 0, 626, - 623, 624, 629, 0, 627, 632, 0, 630, 0, 0, - 0, 0, 0, 634, 635, 0, 0, 0, 0, 641, - 639, 640, 643, 0, 0, 646, 0, 645, 0, 0, - 0, 648, 649, 0, 0, 0, 0, 0, 652, 653, - 654, 655, 0, 656, 657, 658, 0, 0, 0, 659, - 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, - 0, 0, 672, 0, 0, 675, 676, 0, 0, 677, - 7, 9, 11, 13, 680, 0, 0, 681, 682, 0, - 0, 0, 0, 0, 0, 0, 0, 81, 0, 81, - 81, 81, 81, 0, 81, 81, 81, 81, 81, 0, - 356, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 367, 81, - 0, 0, 368, 0, 0, 0, 0, 81, 0, 0, - 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 383, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, - 0, 0, 0, 125, 0, 0, 0, 367, 0, 0, - 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 160, 182, 0, 0, 0, 125, 0, 0, 174, 177, - 0, 0, 0, 0, 0, 125, 174, 177, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 182, 0, 217, 220, 0, - 0, 223, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 9, 9, 9, 243, 245, 247, - 13, 13, 251, 0, 254, 125, 0, 0, 258, 0, - 15, 16, 17, 0, 0, 48, 49, 0, 0, 50, - 18, 19, 0, 51, 0, 0, 0, 0, 52, 0, - 0, 0, 20, 0, 21, 0, 0, 22, 0, 0, - 23, 0, 24, 0, 0, 53, 0, 0, 25, 26, - 54, 0, 0, 27, 28, 0, 0, 0, 0, 0, - 0, 11, 55, 0, 0, 0, 56, 57, 29, 0, - 58, 59, 30, 0, 60, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 61, 0, 0, 0, 0, - 0, 0, 0, 297, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 580, 0, 0, - 582, 0, 0, 584, 15, 16, 17, 0, 0, 48, - 49, 0, 0, 50, 18, 19, 0, 51, 81, 81, - 81, 81, 52, 0, 0, 0, 20, 0, 21, 0, - 0, 22, 0, 0, 23, 0, 24, 400, 0, 53, - 0, 0, 25, 26, 54, 0, 411, 27, 28, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 424, - 56, 57, 29, 0, 58, 59, 30, 0, 60, 0, - 0, 0, 0, 0, 0, 443, 424, 424, 31, 61, - 15, 16, 17, 0, 0, 48, 49, 298, 0, 50, - 18, 19, 0, 51, 0, 0, 0, 0, 52, 0, - 0, 0, 20, 0, 21, 0, 0, 22, 0, 0, - 23, 0, 24, 0, 0, 53, 0, 0, 25, 26, - 54, 0, 0, 27, 28, 0, 0, 0, 0, 0, - 0, 0, 55, 0, 0, 0, 56, 57, 29, 0, - 58, 59, 30, 0, 60, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 31, 61, 0, 0, 0, 0, - 0, 0, 0, 299, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 251, 529, 531, 533, 15, 16, 17, 0, 0, 48, - 49, 0, 0, 50, 18, 19, 0, 51, 0, 0, - 0, 0, 52, 0, 0, 553, 20, 0, 21, 0, - 0, 22, 0, 0, 23, 0, 24, 0, 0, 53, - 0, 0, 25, 26, 54, 0, 0, 27, 28, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, - 56, 57, 29, 0, 58, 59, 30, 0, 60, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 31, 61, - 424, 0, 424 -}; - -static const short yycheck[] = -{ - 6, 246, 8, 250, 48, 101, 102, 103, 387, 388, - 106, 55, 18, 109, 20, 21, 22, 23, 104, 25, - 26, 27, 28, 29, 10, 161, 20, 21, 22, 23, - 17, 25, 26, 27, 28, 29, 172, 17, 3, 4, - 126, 3, 4, 5, 50, 3, 4, 18, 3, 4, - 136, 18, 58, 3, 4, 5, 50, 10, 3, 4, - 5, 18, 41, 159, 58, 3, 4, 5, 54, 3, - 4, 5, 3, 4, 5, 61, 82, 3, 4, 5, - 17, 55, 178, 3, 4, 18, 55, 17, 62, 377, - 7, 97, 98, 79, 80, 19, 99, 385, 104, 86, - 86, 54, 0, 97, 85, 20, 86, 86, 61, 369, - 196, 34, 86, 116, 117, 86, 122, 86, 378, 86, - 126, 86, 39, 40, 86, 40, 79, 80, 86, 86, - 136, 86, 49, 86, 49, 85, 25, 143, 55, 142, - 85, 54, 55, 3, 4, 7, 75, 85, 65, 86, - 156, 85, 69, 86, 85, 75, 86, 86, 73, 85, - 55, 78, 86, 86, 55, 22, 169, 55, 171, 86, - 37, 86, 67, 86, 62, 181, 67, 39, 40, 41, - 3, 4, 44, 50, 51, 52, 53, 49, 48, 56, - 196, 86, 376, 55, 7, 198, 86, 7, 86, 85, - 384, 68, 581, 65, 583, 371, 85, 69, 70, 212, - 72, 85, 74, 379, 372, 244, 78, 246, 31, 86, - 226, 20, 380, 229, 86, 228, 39, 40, 231, 39, - 40, 44, 374, 239, 240, 241, 49, 3, 4, 49, - 382, 40, 55, 85, 340, 55, 85, 36, 191, 192, - 49, 257, 65, 85, 85, 65, 69, 260, 85, 69, - 7, 50, 3, 4, 5, 78, 85, 56, 78, 3, - 4, 5, 408, 86, 73, 86, 86, 373, 85, 68, - 527, 85, 85, 289, 420, 381, 292, 86, 3, 4, - 5, 294, 39, 40, 430, 85, 75, 86, 81, 82, - 83, 84, 49, 439, 3, 4, 5, 552, 55, 185, - 186, 187, 85, 85, 85, 85, 85, 85, 65, 86, - 85, 85, 69, 329, 330, 331, 332, 85, 85, 85, - 85, 78, 85, 85, 85, 329, 330, 331, 332, 85, - 85, 437, 85, 85, 347, 348, 349, 350, 351, 352, - 353, 354, 85, 85, 357, 358, 359, 360, 361, 362, - 363, 364, 3, 4, 5, 85, 85, 85, 85, 372, - 86, 374, 13, 14, 86, 86, 86, 380, 86, 382, - 86, 85, 6, 86, 25, 86, 27, 252, 86, 30, - 86, 86, 33, 86, 35, 86, 399, 86, 401, 86, - 41, 42, 405, 406, 86, 46, 47, 410, 86, 86, - 413, 414, 415, 416, 417, 418, 85, 507, 86, 86, - 61, 85, 85, 85, 65, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 77, 85, 85, 85, - 85, 85, 85, 85, 501, 85, 24, 85, 85, 452, - 85, 454, 30, 31, 457, 458, 85, 85, 85, 85, - 463, 464, 598, 85, 600, 468, 602, 85, 85, 472, - 473, 474, 475, 85, 532, 86, 85, 55, 85, 85, - 85, 85, 121, 86, 86, 86, 86, 86, 66, 86, - 86, 86, 86, 86, 86, 73, 86, 86, 86, 86, - 86, 86, 86, 506, 507, 508, 509, 510, 511, 86, - 86, 86, 85, 516, 85, 85, 85, 85, 521, 522, - 85, 355, 86, 86, 86, 86, 86, 86, 534, 86, - 85, 156, 86, 86, 86, 86, 539, 85, 541, 542, - 543, 119, 120, 85, 547, 85, -1, 86, 86, 86, - 85, 85, 85, -1, 86, 85, 85, 85, 564, 86, - 86, 86, 86, 566, 567, 568, 569, 86, 86, 572, - 573, 85, 575, 85, 85, -1, 86, 86, 86, 86, - 86, 86, 585, 586, 86, 588, 86, 590, -1, 592, - -1, -1, -1, 596, 597, -1, -1, -1, -1, 605, - 603, 604, 608, -1, 607, 611, -1, 610, -1, -1, - -1, -1, -1, 616, 617, -1, -1, -1, -1, 625, - 623, 624, 628, -1, -1, 631, -1, 630, -1, -1, - -1, 634, 635, -1, -1, -1, -1, -1, 641, 642, - 643, 644, -1, 646, 647, 648, -1, -1, -1, 652, - 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, - -1, -1, 665, -1, -1, 668, 669, -1, -1, 672, - 1, 2, 3, 4, 677, -1, -1, 680, 681, -1, - -1, -1, -1, -1, -1, -1, -1, 18, -1, 20, - 21, 22, 23, -1, 25, 26, 27, 28, 29, -1, - 278, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 296, 50, - -1, -1, 300, -1, -1, -1, -1, 58, -1, -1, - 308, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 318, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 97, -1, -1, -1, - -1, -1, -1, 104, -1, -1, -1, 355, -1, -1, - 111, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 121, 122, -1, -1, -1, 126, -1, -1, 376, 377, - -1, -1, -1, -1, -1, 136, 384, 385, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 156, -1, 158, 159, -1, - -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 185, 186, 187, 188, 189, 190, - 191, 192, 193, -1, 195, 196, -1, -1, 199, -1, - 3, 4, 5, -1, -1, 8, 9, -1, -1, 12, - 13, 14, -1, 16, -1, -1, -1, -1, 21, -1, - -1, -1, 25, -1, 27, -1, -1, 30, -1, -1, - 33, -1, 35, -1, -1, 38, -1, -1, 41, 42, - 43, -1, -1, 46, 47, -1, -1, -1, -1, -1, - -1, 252, 55, -1, -1, -1, 59, 60, 61, -1, - 63, 64, 65, -1, 67, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 77, 78, -1, -1, -1, -1, - -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 555, -1, -1, - 558, -1, -1, 561, 3, 4, 5, -1, -1, 8, - 9, -1, -1, 12, 13, 14, -1, 16, 329, 330, - 331, 332, 21, -1, -1, -1, 25, -1, 27, -1, - -1, 30, -1, -1, 33, -1, 35, 348, -1, 38, - -1, -1, 41, 42, 43, -1, 357, 46, 47, -1, - -1, -1, -1, -1, -1, -1, 55, -1, -1, 370, - 59, 60, 61, -1, 63, 64, 65, -1, 67, -1, - -1, -1, -1, -1, -1, 386, 387, 388, 77, 78, - 3, 4, 5, -1, -1, 8, 9, 86, -1, 12, - 13, 14, -1, 16, -1, -1, -1, -1, 21, -1, - -1, -1, 25, -1, 27, -1, -1, 30, -1, -1, - 33, -1, 35, -1, -1, 38, -1, -1, 41, 42, - 43, -1, -1, 46, 47, -1, -1, -1, -1, -1, - -1, -1, 55, -1, -1, -1, 59, 60, 61, -1, - 63, 64, 65, -1, 67, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 77, 78, -1, -1, -1, -1, - -1, -1, -1, 86, -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, - 501, 502, 503, 504, 3, 4, 5, -1, -1, 8, - 9, -1, -1, 12, 13, 14, -1, 16, -1, -1, - -1, -1, 21, -1, -1, 526, 25, -1, 27, -1, - -1, 30, -1, -1, 33, -1, 35, -1, -1, 38, - -1, -1, 41, 42, 43, -1, -1, 46, 47, -1, - -1, -1, -1, -1, -1, -1, 55, -1, -1, -1, - 59, 60, 61, -1, 63, 64, 65, -1, 67, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 77, 78, - 581, -1, 583 -}; - -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ -static const unsigned char yystos[] = -{ - 0, 81, 82, 83, 84, 88, 89, 196, 116, 196, - 95, 196, 150, 196, 0, 3, 4, 5, 13, 14, - 25, 27, 30, 33, 35, 41, 42, 46, 47, 61, - 65, 77, 90, 91, 92, 93, 96, 99, 100, 110, - 112, 114, 142, 144, 146, 148, 167, 190, 8, 9, - 12, 16, 21, 38, 43, 55, 59, 60, 63, 64, - 67, 78, 90, 119, 138, 140, 55, 67, 130, 7, - 39, 40, 49, 55, 65, 69, 78, 159, 187, 189, - 190, 196, 85, 187, 187, 187, 187, 186, 190, 196, - 187, 187, 187, 187, 187, 186, 186, 25, 85, 85, - 187, 85, 85, 85, 85, 186, 85, 85, 187, 85, - 120, 85, 186, 131, 85, 85, 85, 85, 186, 85, - 85, 85, 85, 188, 190, 196, 85, 111, 113, 115, - 85, 149, 147, 145, 143, 168, 85, 101, 187, 190, - 3, 4, 193, 85, 3, 4, 5, 195, 5, 195, - 195, 188, 85, 195, 22, 141, 85, 195, 85, 181, - 196, 85, 85, 158, 195, 155, 184, 186, 156, 193, - 157, 193, 85, 154, 186, 153, 183, 186, 181, 190, - 191, 192, 196, 86, 188, 85, 85, 85, 97, 85, - 85, 85, 85, 85, 188, 85, 85, 86, 193, 117, - 190, 86, 86, 86, 86, 86, 86, 3, 4, 5, - 194, 86, 85, 86, 191, 86, 121, 196, 139, 195, - 196, 194, 132, 196, 86, 86, 17, 86, 193, 18, - 86, 193, 194, 86, 86, 48, 86, 190, 86, 116, - 116, 116, 98, 196, 152, 196, 151, 196, 150, 150, - 171, 196, 94, 102, 196, 188, 193, 118, 196, 86, - 193, 86, 37, 50, 51, 52, 53, 56, 68, 86, - 122, 123, 124, 125, 126, 127, 128, 48, 55, 86, - 36, 50, 56, 68, 86, 133, 134, 135, 136, 85, - 190, 193, 85, 190, 193, 86, 85, 86, 86, 86, - 55, 86, 7, 31, 39, 40, 44, 49, 55, 65, - 69, 86, 159, 7, 39, 40, 44, 49, 55, 65, - 69, 70, 72, 74, 86, 148, 159, 86, 86, 10, - 54, 79, 80, 86, 167, 169, 172, 175, 178, 95, - 75, 86, 103, 86, 86, 86, 190, 193, 85, 85, - 85, 85, 85, 85, 85, 85, 186, 85, 85, 85, - 85, 190, 85, 190, 85, 193, 185, 186, 186, 85, - 85, 85, 85, 85, 85, 186, 85, 85, 85, 85, - 85, 85, 85, 186, 85, 85, 85, 85, 85, 187, - 187, 187, 187, 86, 104, 195, 75, 193, 129, 193, - 196, 193, 193, 193, 193, 193, 193, 185, 85, 137, - 193, 196, 193, 193, 193, 193, 193, 193, 193, 86, - 85, 158, 166, 182, 196, 155, 156, 165, 195, 157, - 85, 154, 153, 158, 155, 156, 160, 195, 157, 85, - 154, 153, 163, 196, 161, 182, 162, 182, 170, 173, - 176, 179, 85, 105, 85, 75, 86, 193, 193, 86, - 86, 86, 86, 193, 193, 86, 194, 86, 193, 86, - 193, 193, 193, 193, 193, 193, 86, 194, 86, 86, - 193, 86, 86, 86, 86, 194, 86, 86, 86, 86, - 86, 86, 195, 86, 194, 86, 86, 34, 86, 86, - 86, 85, 85, 85, 85, 106, 193, 85, 193, 85, - 193, 193, 193, 193, 86, 86, 193, 86, 86, 193, - 193, 193, 193, 86, 86, 86, 85, 171, 174, 196, - 177, 196, 180, 196, 20, 40, 49, 73, 86, 193, - 106, 193, 193, 193, 193, 86, 86, 193, 86, 86, - 193, 193, 164, 196, 86, 55, 62, 86, 55, 62, - 86, 55, 86, 172, 85, 190, 85, 85, 85, 193, - 86, 193, 193, 193, 86, 193, 86, 86, 86, 148, - 186, 85, 186, 85, 186, 190, 85, 108, 193, 109, - 193, 107, 193, 193, 86, 193, 193, 193, 85, 182, - 85, 182, 85, 193, 193, 17, 86, 193, 18, 86, - 193, 19, 86, 193, 86, 86, 193, 193, 194, 86, - 194, 86, 194, 193, 193, 85, 190, 193, 85, 190, - 193, 85, 190, 86, 193, 193, 86, 86, 86, 193, - 193, 190, 85, 190, 85, 193, 190, 85, 193, 193, - 86, 86, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 86, 86, 193, 86, 86, 193, 193, 193, 86, 86, - 193, 193, 193 -}; #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ @@ -1363,34 +1121,29 @@ static const unsigned char yystos[] = #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) +#define YYEMPTY -2 #define YYEOF 0 - #define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab +#define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 - /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ - #define YYFAIL goto yyerrlab - #define YYRECOVERING() (!!yyerrstatus) - #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ - yytoken = YYTRANSLATE (yychar); \ + yychar1 = YYTRANSLATE (yychar); \ YYPOPSTACK; \ goto yybackup; \ } \ else \ { \ - yyerror ("syntax error: cannot back up");\ + yyerror ("syntax error: cannot back up"); \ YYERROR; \ } \ while (0) @@ -1398,24 +1151,41 @@ while (0) #define YYTERROR 1 #define YYERRCODE 256 + /* YYLLOC_DEFAULT -- Compute the default location (before the actions - are run). */ + are run). + + When YYLLOC_DEFAULT is run, CURRENT is set the location of the + first token. By default, to implement support for ranges, extend + its range to the last symbol. */ #ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - Current.first_line = Rhs[1].first_line; \ - Current.first_column = Rhs[1].first_column; \ - Current.last_line = Rhs[N].last_line; \ - Current.last_column = Rhs[N].last_column; +# define YYLLOC_DEFAULT(Current, Rhs, N) \ + Current.last_line = Rhs[N].last_line; \ + Current.last_column = Rhs[N].last_column; #endif + /* YYLEX -- calling `yylex' with the right arguments. */ -#ifdef YYLEX_PARAM -# define YYLEX yylex (YYLEX_PARAM) -#else -# define YYLEX yylex () -#endif +#if YYPURE +# if YYLSP_NEEDED +# ifdef YYLEX_PARAM +# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM) +# else +# define YYLEX yylex (&yylval, &yylloc) +# endif +# else /* !YYLSP_NEEDED */ +# ifdef YYLEX_PARAM +# define YYLEX yylex (&yylval, YYLEX_PARAM) +# else +# define YYLEX yylex (&yylval) +# endif +# endif /* !YYLSP_NEEDED */ +#else /* !YYPURE */ +# define YYLEX yylex () +#endif /* !YYPURE */ + /* Enable debugging if requested. */ #if YYDEBUG @@ -1430,93 +1200,13 @@ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) - -# define YYDSYMPRINT(Args) \ -do { \ - if (yydebug) \ - yysymprint Args; \ -} while (0) - -# define YYDSYMPRINTF(Title, Token, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yysymprint (stderr, \ - Token, Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (0) - -/*------------------------------------------------------------------. -| yy_stack_print -- Print the state stack from its BOTTOM up to its | -| TOP (cinluded). | -`------------------------------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yy_stack_print (short *bottom, short *top) -#else -static void -yy_stack_print (bottom, top) - short *bottom; - short *top; -#endif -{ - YYFPRINTF (stderr, "Stack now"); - for (/* Nothing. */; bottom <= top; ++bottom) - YYFPRINTF (stderr, " %d", *bottom); - YYFPRINTF (stderr, "\n"); -} - -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (0) - - -/*------------------------------------------------. -| Report that the YYRULE is going to be reduced. | -`------------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yy_reduce_print (int yyrule) -#else -static void -yy_reduce_print (yyrule) - int yyrule; -#endif -{ - int yyi; - unsigned int yylineno = yyrline[yyrule]; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", - yyrule - 1, yylineno); - /* Print the symbols being reduced, and their result. */ - for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) - YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); - YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); -} - -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (Rule); \ -} while (0) - /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) -# define YYDSYMPRINT(Args) -# define YYDSYMPRINTF(Title, Token, Value, Location) -# define YY_STACK_PRINT(Bottom, Top) -# define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ - /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 @@ -1536,10 +1226,8 @@ int yydebug; #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif - - -#if YYERROR_VERBOSE +#ifdef YYERROR_VERBOSE # ifndef yystrlen # if defined (__GLIBC__) && defined (_STRING_H) @@ -1589,134 +1277,86 @@ yystpcpy (yydest, yysrc) } # endif # endif - -#endif /* !YYERROR_VERBOSE */ - - - -#if YYDEBUG -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) -#else -static void -yysymprint (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE *yyvaluep; #endif -{ - /* Pacify ``unused variable'' warnings. */ - (void) yyvaluep; - - if (yytype < YYNTOKENS) - { - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); -# ifdef YYPRINT - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# endif - } - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); - - switch (yytype) - { - default: - break; - } - YYFPRINTF (yyoutput, ")"); -} - -#endif /* ! YYDEBUG */ -/*-----------------------------------------------. -| Release the memory associated to this symbol. | -`-----------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yydestruct (int yytype, YYSTYPE *yyvaluep) -#else -static void -yydestruct (yytype, yyvaluep) - int yytype; - YYSTYPE *yyvaluep; -#endif -{ - /* Pacify ``unused variable'' warnings. */ - (void) yyvaluep; - - switch (yytype) - { - - default: - break; - } -} +#line 315 "/usr/share/bison/bison.simple" -/* Prevent warnings from -Wmissing-prototypes. */ + +/* The user can define YYPARSE_PARAM as the name of an argument to be passed + into yyparse. The argument should have type void *. + It should actually point to an object. + Grammar actions can access the variable by casting it + to the proper pointer type. */ #ifdef YYPARSE_PARAM # if defined (__STDC__) || defined (__cplusplus) -int yyparse (void *YYPARSE_PARAM); +# define YYPARSE_PARAM_ARG void *YYPARSE_PARAM +# define YYPARSE_PARAM_DECL # else -int yyparse (); +# define YYPARSE_PARAM_ARG YYPARSE_PARAM +# define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; # endif -#else /* ! YYPARSE_PARAM */ -#if defined (__STDC__) || defined (__cplusplus) +#else /* !YYPARSE_PARAM */ +# define YYPARSE_PARAM_ARG +# define YYPARSE_PARAM_DECL +#endif /* !YYPARSE_PARAM */ + +/* Prevent warning if -Wstrict-prototypes. */ +#ifdef __GNUC__ +# ifdef YYPARSE_PARAM +int yyparse (void *); +# else int yyparse (void); -#else -int yyparse (); +# endif #endif -#endif /* ! YYPARSE_PARAM */ +/* YY_DECL_VARIABLES -- depending whether we use a pure parser, + variables are global, or local to YYPARSE. */ - -/* The lookahead symbol. */ -int yychar; - -/* The semantic value of the lookahead symbol. */ -YYSTYPE yylval; - -/* Number of syntax errors so far. */ +#define YY_DECL_NON_LSP_VARIABLES \ +/* The lookahead symbol. */ \ +int yychar; \ + \ +/* The semantic value of the lookahead symbol. */ \ +YYSTYPE yylval; \ + \ +/* Number of parse errors so far. */ \ int yynerrs; - - -/*----------. -| yyparse. | -`----------*/ - -#ifdef YYPARSE_PARAM -# if defined (__STDC__) || defined (__cplusplus) -int yyparse (void *YYPARSE_PARAM) -# else -int yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -# endif -#else /* ! YYPARSE_PARAM */ -#if defined (__STDC__) || defined (__cplusplus) -int -yyparse (void) +#if YYLSP_NEEDED +# define YY_DECL_VARIABLES \ +YY_DECL_NON_LSP_VARIABLES \ + \ +/* Location data for the lookahead symbol. */ \ +YYLTYPE yylloc; #else -int -yyparse () +# define YY_DECL_VARIABLES \ +YY_DECL_NON_LSP_VARIABLES +#endif -#endif -#endif + +/* If nonreentrant, generate the variables here. */ + +#if !YYPURE +YY_DECL_VARIABLES +#endif /* !YYPURE */ + +int +yyparse (YYPARSE_PARAM_ARG) + YYPARSE_PARAM_DECL { - + /* If reentrant, generate the variables here. */ +#if YYPURE + YY_DECL_VARIABLES +#endif /* !YYPURE */ + register int yystate; register int yyn; int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* Lookahead token as an internal (translated) token number. */ - int yytoken = 0; + int yychar1 = 0; /* Three stacks and their tools: `yyss': related to states, @@ -1726,7 +1366,7 @@ yyparse () Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ - /* The state stack. */ + /* The state stack. */ short yyssa[YYINITDEPTH]; short *yyss = yyssa; register short *yyssp; @@ -1736,19 +1376,31 @@ yyparse () YYSTYPE *yyvs = yyvsa; register YYSTYPE *yyvsp; +#if YYLSP_NEEDED + /* The location stack. */ + YYLTYPE yylsa[YYINITDEPTH]; + YYLTYPE *yyls = yylsa; + YYLTYPE *yylsp; +#endif - -#define YYPOPSTACK (yyvsp--, yyssp--) +#if YYLSP_NEEDED +# define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) +#else +# define YYPOPSTACK (yyvsp--, yyssp--) +#endif YYSIZE_T yystacksize = YYINITDEPTH; + /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; - +#if YYLSP_NEEDED + YYLTYPE yyloc; +#endif /* When reducing, the number of symbols on the RHS of the reduced - rule. */ + rule. */ int yylen; YYDPRINTF ((stderr, "Starting parse\n")); @@ -1765,7 +1417,9 @@ yyparse () yyssp = yyss; yyvsp = yyvs; - +#if YYLSP_NEEDED + yylsp = yyls; +#endif goto yysetstate; /*------------------------------------------------------------. @@ -1780,7 +1434,7 @@ yyparse () yysetstate: *yyssp = yystate; - if (yyss + yystacksize - 1 <= yyssp) + if (yyssp >= yyss + yystacksize - 1) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; @@ -1793,17 +1447,24 @@ yyparse () YYSTYPE *yyvs1 = yyvs; short *yyss1 = yyss; - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ + data in use in that stack, in bytes. */ +# if YYLSP_NEEDED + YYLTYPE *yyls1 = yyls; + /* This used to be a conditional around just the two extra args, + but that might be undefined if yyoverflow is a macro. */ yyoverflow ("parser stack overflow", &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), - + &yyls1, yysize * sizeof (*yylsp), &yystacksize); - + yyls = yyls1; +# else + yyoverflow ("parser stack overflow", + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + &yystacksize); +# endif yyss = yyss1; yyvs = yyvs1; } @@ -1812,10 +1473,10 @@ yyparse () goto yyoverflowlab; # else /* Extend the stack our own way. */ - if (YYMAXDEPTH <= yystacksize) + if (yystacksize >= YYMAXDEPTH) goto yyoverflowlab; yystacksize *= 2; - if (YYMAXDEPTH < yystacksize) + if (yystacksize > YYMAXDEPTH) yystacksize = YYMAXDEPTH; { @@ -1826,8 +1487,10 @@ yyparse () goto yyoverflowlab; YYSTACK_RELOCATE (yyss); YYSTACK_RELOCATE (yyvs); - -# undef YYSTACK_RELOCATE +# if YYLSP_NEEDED + YYSTACK_RELOCATE (yyls); +# endif +# undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } @@ -1836,12 +1499,14 @@ yyparse () yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; - +#if YYLSP_NEEDED + yylsp = yyls + yysize - 1; +#endif YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); - if (yyss + yystacksize - 1 <= yyssp) + if (yyssp >= yyss + yystacksize - 1) YYABORT; } @@ -1849,6 +1514,7 @@ yyparse () goto yybackup; + /*-----------. | yybackup. | `-----------*/ @@ -1861,55 +1527,88 @@ yybackup: /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; - if (yyn == YYPACT_NINF) + if (yyn == YYFLAG) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ + /* yychar is either YYEMPTY or YYEOF + or a valid token in external form. */ + if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } - if (yychar <= YYEOF) + /* Convert token to internal form (in yychar1) for indexing tables with */ + + if (yychar <= 0) /* This means end of input. */ { - yychar = yytoken = YYEOF; + yychar1 = 0; + yychar = YYEOF; /* Don't call YYLEX any more */ + YYDPRINTF ((stderr, "Now at end of input.\n")); } else { - yytoken = YYTRANSLATE (yychar); - YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); + yychar1 = YYTRANSLATE (yychar); + +#if YYDEBUG + /* We have to keep this `#if YYDEBUG', since we use variables + which are defined only if `YYDEBUG' is set. */ + if (yydebug) + { + YYFPRINTF (stderr, "Next token is %d (%s", + yychar, yytname[yychar1]); + /* Give the individual parser a way to print the precise + meaning of a token, for further debugging info. */ +# ifdef YYPRINT + YYPRINT (stderr, yychar, yylval); +# endif + YYFPRINTF (stderr, ")\n"); + } +#endif } - /* If the proper action on seeing token YYTOKEN is to reduce or to - detect an error, take that action. */ - yyn += yytoken; - if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) + yyn += yychar1; + if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) goto yydefault; + yyn = yytable[yyn]; - if (yyn <= 0) + + /* yyn is what to do for this token type in this state. + Negative => reduce, -yyn is rule number. + Positive => shift, yyn is new state. + New state is final state => don't bother to shift, + just return success. + 0, or most negative number => error. */ + + if (yyn < 0) { - if (yyn == 0 || yyn == YYTABLE_NINF) + if (yyn == YYFLAG) goto yyerrlab; yyn = -yyn; goto yyreduce; } + else if (yyn == 0) + goto yyerrlab; if (yyn == YYFINAL) YYACCEPT; /* Shift the lookahead token. */ - YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); + YYDPRINTF ((stderr, "Shifting token %d (%s), ", + yychar, yytname[yychar1])); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; - +#if YYLSP_NEEDED + *++yylsp = yylloc; +#endif /* Count tokens shifted since error; after three, turn off error status. */ @@ -1940,27 +1639,48 @@ yyreduce: /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. - Otherwise, the following line sets YYVAL to garbage. - This behavior is undocumented and Bison + Otherwise, the following line sets YYVAL to the semantic value of + the lookahead token. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; +#if YYLSP_NEEDED + /* Similarly for the default location. Let the user run additional + commands if for instance locations are ranges. */ + yyloc = yylsp[1-yylen]; + YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen); +#endif - YY_REDUCE_PRINT (yyn); - switch (yyn) - { - case 7: -#line 196 "parser.yxx" +#if YYDEBUG + /* We have to keep this `#if YYDEBUG', since we use variables which + are defined only if `YYDEBUG' is set. */ + if (yydebug) { + int yyi; + + YYFPRINTF (stderr, "Reducing via rule %d (line %d), ", + yyn, yyrline[yyn]); + + /* Print the symbols being reduced, and their result. */ + for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++) + YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); + YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]); + } +#endif + + switch (yyn) { + +case 6: +#line 198 "parser.yxx" +{ DCAST(EggData, egg_stack.back())->add_child(DCAST(EggNode, yyvsp[0]._egg)); } break; - - case 22: -#line 235 "parser.yxx" - { +case 22: +#line 238 "parser.yxx" +{ string strval = yyvsp[-1]._string; EggCoordinateSystem *cs = new EggCoordinateSystem; @@ -1973,17 +1693,15 @@ yyreduce: yyval._egg = cs; } break; - - case 23: -#line 258 "parser.yxx" - { +case 23: +#line 261 "parser.yxx" +{ yyval._egg = new EggComment(yyvsp[-3]._string, yyvsp[-1]._string); } break; - - case 24: -#line 272 "parser.yxx" - { +case 24: +#line 275 "parser.yxx" +{ string tref_name = yyvsp[-2]._string; Filename filename = yyvsp[0]._string; EggTexture *texture = new EggTexture(tref_name, filename); @@ -1996,18 +1714,16 @@ yyreduce: egg_stack.push_back(texture); } break; - - case 25: -#line 285 "parser.yxx" - { +case 25: +#line 288 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 27: -#line 301 "parser.yxx" - { +case 27: +#line 304 "parser.yxx" +{ EggTexture *texture = DCAST(EggTexture, egg_stack.back()); string name = yyvsp[-3]._string; double value = yyvsp[-1]._number; @@ -2097,6 +1813,15 @@ yyreduce: texture->set_depth_test_mode(m); } + } else if (cmp_nocase_uh(name, "visibility") == 0) { + EggRenderMode::VisibilityMode m = + EggRenderMode::string_visibility_mode(strval); + if (m == EggRenderMode::VM_unspecified) { + eggyywarning("Unknown visibility mode " + strval); + } else { + texture->set_visibility_mode(m); + } + } else if (cmp_nocase_uh(name, "draw_order") == 0) { texture->set_draw_order((int)value); @@ -2114,10 +1839,9 @@ yyreduce: } } break; - - case 29: -#line 419 "parser.yxx" - { +case 29: +#line 431 "parser.yxx" +{ string mref_name = yyvsp[-1]._string; EggMaterial *material = new EggMaterial(mref_name); @@ -2129,18 +1853,16 @@ yyreduce: egg_stack.push_back(material); } break; - - case 30: -#line 431 "parser.yxx" - { +case 30: +#line 443 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 32: -#line 447 "parser.yxx" - { +case 32: +#line 459 "parser.yxx" +{ EggMaterial *material = DCAST(EggMaterial, egg_stack.back()); string name = yyvsp[-3]._string; double value = yyvsp[-1]._number; @@ -2224,20 +1946,18 @@ yyreduce: } } break; - - case 33: -#line 542 "parser.yxx" - { +case 33: +#line 554 "parser.yxx" +{ string node_name = yyvsp[-3]._string; Filename filename = yyvsp[-1]._string; EggExternalReference *ref = new EggExternalReference(node_name, filename); yyval._egg = ref; } break; - - case 34: -#line 549 "parser.yxx" - { +case 34: +#line 561 "parser.yxx" +{ if (cmp_nocase_uh(yyvsp[-5]._string, "group") != 0) { eggyyerror("keyword 'group' expected"); } @@ -2247,10 +1967,9 @@ yyreduce: yyval._egg = ref; } break; - - case 35: -#line 569 "parser.yxx" - { +case 35: +#line 581 "parser.yxx" +{ string name = yyvsp[0]._string; EggVertexPool *pool = new EggVertexPool(name); @@ -2262,35 +1981,31 @@ yyreduce: egg_stack.push_back(pool); } break; - - case 36: -#line 581 "parser.yxx" - { +case 36: +#line 593 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 39: -#line 609 "parser.yxx" - { +case 39: +#line 621 "parser.yxx" +{ egg_stack.push_back(new EggVertex); } break; - - case 40: -#line 613 "parser.yxx" - { +case 40: +#line 625 "parser.yxx" +{ PT(EggVertex) vtx = DCAST(EggVertex, egg_stack.back()); egg_stack.pop_back(); DCAST(EggVertexPool, egg_stack.back())->add_vertex(vtx); } break; - - case 41: -#line 620 "parser.yxx" - { +case 41: +#line 632 "parser.yxx" +{ vertex_index = (int)yyvsp[0]._number; EggVertexPool *pool = DCAST(EggVertexPool, egg_stack.back()); @@ -2315,10 +2030,9 @@ yyreduce: egg_stack.push_back(new EggVertex); } break; - - case 42: -#line 645 "parser.yxx" - { +case 42: +#line 657 "parser.yxx" +{ PT(EggVertex) vtx = DCAST(EggVertex, egg_stack.back()); egg_stack.pop_back(); @@ -2328,38 +2042,33 @@ yyreduce: } } break; - - case 43: -#line 666 "parser.yxx" - { +case 43: +#line 678 "parser.yxx" +{ DCAST(EggVertex, egg_stack.back())->set_pos(yyvsp[0]._number); } break; - - case 44: -#line 670 "parser.yxx" - { +case 44: +#line 682 "parser.yxx" +{ DCAST(EggVertex, egg_stack.back())->set_pos(LPoint2d(yyvsp[-1]._number, yyvsp[0]._number)); } break; - - case 45: -#line 674 "parser.yxx" - { +case 45: +#line 686 "parser.yxx" +{ DCAST(EggVertex, egg_stack.back())->set_pos(LPoint3d(yyvsp[-2]._number, yyvsp[-1]._number, yyvsp[0]._number)); } break; - - case 46: -#line 678 "parser.yxx" - { +case 46: +#line 690 "parser.yxx" +{ DCAST(EggVertex, egg_stack.back())->set_pos(LPoint4d(yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number, yyvsp[0]._number)); } break; - - case 50: -#line 685 "parser.yxx" - { +case 50: +#line 697 "parser.yxx" +{ bool inserted = DCAST(EggVertex, egg_stack.back())->_dxyzs. insert(EggMorphVertex(yyvsp[-5]._string, LVector3d(yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number))).second; if (!inserted) { @@ -2367,10 +2076,9 @@ yyreduce: } } break; - - case 51: -#line 693 "parser.yxx" - { +case 51: +#line 705 "parser.yxx" +{ bool inserted = DCAST(EggVertex, egg_stack.back())->_dxyzs. insert(EggMorphVertex(yyvsp[-4]._string, LVector3d(yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number))).second; if (!inserted) { @@ -2378,17 +2086,15 @@ yyreduce: } } break; - - case 52: -#line 712 "parser.yxx" - { +case 52: +#line 724 "parser.yxx" +{ DCAST(EggVertex, egg_stack.back())->set_uv(TexCoordd(yyvsp[-1]._number, yyvsp[0]._number)); } break; - - case 53: -#line 716 "parser.yxx" - { +case 53: +#line 728 "parser.yxx" +{ bool inserted = DCAST(EggVertex, egg_stack.back())->_duvs. insert(EggMorphTexCoord(yyvsp[-4]._string, LVector2d(yyvsp[-2]._number, yyvsp[-1]._number))).second; if (!inserted) { @@ -2396,10 +2102,9 @@ yyreduce: } } break; - - case 54: -#line 724 "parser.yxx" - { +case 54: +#line 736 "parser.yxx" +{ bool inserted = DCAST(EggVertex, egg_stack.back())->_duvs. insert(EggMorphTexCoord(yyvsp[-3]._string, LVector2d(yyvsp[-2]._number, yyvsp[-1]._number))).second; if (!inserted) { @@ -2407,17 +2112,15 @@ yyreduce: } } break; - - case 55: -#line 742 "parser.yxx" - { +case 55: +#line 754 "parser.yxx" +{ DCAST(EggVertex, egg_stack.back())->set_normal(Normald(yyvsp[-2]._number, yyvsp[-1]._number, yyvsp[0]._number)); } break; - - case 56: -#line 746 "parser.yxx" - { +case 56: +#line 758 "parser.yxx" +{ bool inserted = DCAST(EggVertex, egg_stack.back())->_dnormals. insert(EggMorphNormal(yyvsp[-5]._string, LVector3d(yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number))).second; if (!inserted) { @@ -2425,10 +2128,9 @@ yyreduce: } } break; - - case 57: -#line 754 "parser.yxx" - { +case 57: +#line 766 "parser.yxx" +{ bool inserted = DCAST(EggVertex, egg_stack.back())->_dnormals. insert(EggMorphNormal(yyvsp[-4]._string, LVector3d(yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number))).second; if (!inserted) { @@ -2436,17 +2138,15 @@ yyreduce: } } break; - - case 58: -#line 772 "parser.yxx" - { +case 58: +#line 784 "parser.yxx" +{ DCAST(EggVertex, egg_stack.back())->set_color(Colorf(yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number, yyvsp[0]._number)); } break; - - case 59: -#line 776 "parser.yxx" - { +case 59: +#line 788 "parser.yxx" +{ bool inserted = DCAST(EggVertex, egg_stack.back())->_drgbas. insert(EggMorphColor(yyvsp[-6]._string, LVector4f(yyvsp[-4]._number, yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number))).second; if (!inserted) { @@ -2454,10 +2154,9 @@ yyreduce: } } break; - - case 60: -#line 784 "parser.yxx" - { +case 60: +#line 796 "parser.yxx" +{ bool inserted = DCAST(EggVertex, egg_stack.back())->_drgbas. insert(EggMorphColor(yyvsp[-5]._string, LVector4f(yyvsp[-4]._number, yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number))).second; if (!inserted) { @@ -2465,60 +2164,53 @@ yyreduce: } } break; - - case 61: -#line 802 "parser.yxx" - { +case 61: +#line 814 "parser.yxx" +{ EggGroup *group = new EggGroup(yyvsp[0]._string); egg_stack.push_back(group); } break; - - case 62: -#line 807 "parser.yxx" - { +case 62: +#line 819 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 63: -#line 822 "parser.yxx" - { +case 63: +#line 834 "parser.yxx" +{ EggGroup *group = new EggGroup(yyvsp[0]._string); group->set_group_type(EggGroup::GT_joint); egg_stack.push_back(group); } break; - - case 64: -#line 828 "parser.yxx" - { +case 64: +#line 840 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 65: -#line 843 "parser.yxx" - { +case 65: +#line 855 "parser.yxx" +{ EggGroup *group = new EggGroup(yyvsp[0]._string); group->set_group_type(EggGroup::GT_instance); egg_stack.push_back(group); } break; - - case 66: -#line 849 "parser.yxx" - { +case 66: +#line 861 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 68: -#line 865 "parser.yxx" - { +case 68: +#line 877 "parser.yxx" +{ EggGroup *group = DCAST(EggGroup, egg_stack.back()); string name = yyvsp[-3]._string; double value = yyvsp[-1]._number; @@ -2557,6 +2249,16 @@ yyreduce: } else { group->set_depth_test_mode(m); } + + } else if (cmp_nocase_uh(name, "visibility") == 0) { + EggRenderMode::VisibilityMode m = + EggRenderMode::string_visibility_mode(strval); + if (m == EggRenderMode::VM_unspecified) { + eggyywarning("Unknown visibility mode " + strval); + } else { + group->set_visibility_mode(m); + } + } else if (cmp_nocase_uh(name, "draw_order") == 0) { group->set_draw_order(ulong_value); } else if (cmp_nocase_uh(name, "bin") == 0) { @@ -2572,10 +2274,9 @@ yyreduce: } } break; - - case 69: -#line 919 "parser.yxx" - { +case 69: +#line 941 "parser.yxx" +{ EggGroup *group = DCAST(EggGroup, egg_stack.back()); string strval = yyvsp[-1]._string; @@ -2587,37 +2288,33 @@ yyreduce: } } break; - - case 70: -#line 931 "parser.yxx" - { +case 70: +#line 953 "parser.yxx" +{ EggGroup *group = DCAST(EggGroup, egg_stack.back()); group->set_billboard_center(LPoint3d(yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number)); } break; - - case 71: -#line 936 "parser.yxx" - { +case 71: +#line 958 "parser.yxx" +{ EggGroup *group = DCAST(EggGroup, egg_stack.back()); string name = yyvsp[-4]._string; group->set_collision_name(name); } break; - - case 72: -#line 943 "parser.yxx" - { +case 72: +#line 965 "parser.yxx" +{ EggGroup *group = DCAST(EggGroup, egg_stack.back()); int value = (int)yyvsp[-1]._number; group->set_dcs_type(value!=0 ? EggGroup::DC_default : EggGroup::DC_none); } break; - - case 73: -#line 949 "parser.yxx" - { +case 73: +#line 971 "parser.yxx" +{ // The special flavor of DCS, with { sync } or { nosync }. EggGroup *group = DCAST(EggGroup, egg_stack.back()); string strval = yyvsp[-1]._string; @@ -2630,20 +2327,18 @@ yyreduce: } } break; - - case 74: -#line 962 "parser.yxx" - { +case 74: +#line 984 "parser.yxx" +{ // The traditional flavor of DART, with { 0 } or { 1 }. EggGroup *group = DCAST(EggGroup, egg_stack.back()); int value = (int)yyvsp[-1]._number; group->set_dart_type(value!=0 ? EggGroup::DT_default : EggGroup::DT_none); } break; - - case 75: -#line 969 "parser.yxx" - { +case 75: +#line 991 "parser.yxx" +{ // The special flavor of DART, with { sync } or { nosync }. EggGroup *group = DCAST(EggGroup, egg_stack.back()); string strval = yyvsp[-1]._string; @@ -2656,61 +2351,54 @@ yyreduce: } } break; - - case 76: -#line 982 "parser.yxx" - { +case 76: +#line 1004 "parser.yxx" +{ EggGroup *group = DCAST(EggGroup, egg_stack.back()); int value = (int)yyvsp[-1]._number; group->set_switch_flag(value!=0); } break; - - case 77: -#line 988 "parser.yxx" - { +case 77: +#line 1010 "parser.yxx" +{ EggGroup *group = DCAST(EggGroup, egg_stack.back()); string type = yyvsp[-1]._string; group->add_object_type(type); } break; - - case 78: -#line 994 "parser.yxx" - { +case 78: +#line 1016 "parser.yxx" +{ EggGroup *group = DCAST(EggGroup, egg_stack.back()); int value = (int)yyvsp[-1]._number; group->set_model_flag(value!=0); } break; - - case 79: -#line 1000 "parser.yxx" - { +case 79: +#line 1022 "parser.yxx" +{ EggGroup *group = DCAST(EggGroup, egg_stack.back()); group->set_tag(yyvsp[-3]._string, yyvsp[-1]._string); } break; - - case 80: -#line 1005 "parser.yxx" - { +case 80: +#line 1027 "parser.yxx" +{ EggGroup *group = DCAST(EggGroup, egg_stack.back()); int value = (int)yyvsp[-1]._number; group->set_texlist_flag(value!=0); } break; - - case 84: -#line 1014 "parser.yxx" - { +case 84: +#line 1036 "parser.yxx" +{ DCAST(EggGroup, egg_stack.back())->add_child(DCAST(EggNode, yyvsp[0]._egg)); } break; - - case 85: -#line 1028 "parser.yxx" - { +case 85: +#line 1050 "parser.yxx" +{ EggGroup *group = DCAST(EggGroup, egg_stack.back()); string strval = yyvsp[0]._string; @@ -2718,14 +2406,21 @@ yyreduce: if (f == EggGroup::CST_none) { eggyywarning("Unknown collision solid type " + strval); } else { - group->set_cs_type(f); + if (f == EggGroup::CST_polyset && group->get_cs_type() != EggGroup::CST_none) { + // By convention, a CST_polyset doesn't replace any existing + // contradictory type, so ignore it if this happens. This + // allows the artist to place, for instance, { + // sphere } and { trigger } together. + + } else { + group->set_cs_type(f); + } } } break; - - case 87: -#line 1051 "parser.yxx" - { +case 87: +#line 1081 "parser.yxx" +{ EggGroup *group = DCAST(EggGroup, egg_stack.back()); string strval = yyvsp[0]._string; @@ -2737,66 +2432,57 @@ yyreduce: } } break; - - case 88: -#line 1073 "parser.yxx" - { +case 88: +#line 1103 "parser.yxx" +{ DCAST(EggGroup, egg_stack.back())->clear_transform(); } break; - - case 98: -#line 1099 "parser.yxx" - { +case 98: +#line 1129 "parser.yxx" +{ DCAST(EggGroup, egg_stack.back())->add_translate(LVector3d(yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number)); } break; - - case 99: -#line 1105 "parser.yxx" - { +case 99: +#line 1135 "parser.yxx" +{ DCAST(EggGroup, egg_stack.back())->add_rotx(yyvsp[-1]._number); } break; - - case 100: -#line 1111 "parser.yxx" - { +case 100: +#line 1141 "parser.yxx" +{ DCAST(EggGroup, egg_stack.back())->add_roty(yyvsp[-1]._number); } break; - - case 101: -#line 1117 "parser.yxx" - { +case 101: +#line 1147 "parser.yxx" +{ DCAST(EggGroup, egg_stack.back())->add_rotz(yyvsp[-1]._number); } break; - - case 102: -#line 1123 "parser.yxx" - { +case 102: +#line 1153 "parser.yxx" +{ DCAST(EggGroup, egg_stack.back())->add_rotate(yyvsp[-4]._number, LVector3d(yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number)); } break; - - case 103: -#line 1129 "parser.yxx" - { +case 103: +#line 1159 "parser.yxx" +{ DCAST(EggGroup, egg_stack.back())->add_scale(LVecBase3d(yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number)); } break; - - case 104: -#line 1133 "parser.yxx" - { +case 104: +#line 1163 "parser.yxx" +{ DCAST(EggGroup, egg_stack.back())->add_uniform_scale(yyvsp[-1]._number); } break; - - case 107: -#line 1148 "parser.yxx" - { +case 107: +#line 1178 "parser.yxx" +{ DCAST(EggGroup, egg_stack.back())->add_matrix (LMatrix4d(yyvsp[-15]._number, yyvsp[-14]._number, yyvsp[-13]._number, yyvsp[-12]._number, yyvsp[-11]._number, yyvsp[-10]._number, yyvsp[-9]._number, yyvsp[-8]._number, @@ -2804,54 +2490,47 @@ yyreduce: yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number, yyvsp[0]._number)); } break; - - case 108: -#line 1167 "parser.yxx" - { +case 108: +#line 1197 "parser.yxx" +{ matrix_2d = LMatrix3d::ident_mat(); } break; - - case 109: -#line 1171 "parser.yxx" - { +case 109: +#line 1201 "parser.yxx" +{ DCAST(EggTexture, egg_stack.back())->set_transform(matrix_2d); } break; - - case 115: -#line 1193 "parser.yxx" - { +case 115: +#line 1223 "parser.yxx" +{ matrix_2d *= LMatrix3d::translate_mat(yyvsp[-2]._number, yyvsp[-1]._number); } break; - - case 116: -#line 1199 "parser.yxx" - { +case 116: +#line 1229 "parser.yxx" +{ matrix_2d *= LMatrix3d::rotate_mat(yyvsp[-1]._number); } break; - - case 117: -#line 1205 "parser.yxx" - { +case 117: +#line 1235 "parser.yxx" +{ matrix_2d *= LMatrix3d::scale_mat(yyvsp[-2]._number, yyvsp[-1]._number); } break; - - case 120: -#line 1218 "parser.yxx" - { +case 120: +#line 1248 "parser.yxx" +{ matrix_2d *= LMatrix3d(yyvsp[-8]._number, yyvsp[-7]._number, yyvsp[-6]._number, yyvsp[-5]._number, yyvsp[-4]._number, yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number, yyvsp[0]._number); } break; - - case 121: -#line 1235 "parser.yxx" - { +case 121: +#line 1265 "parser.yxx" +{ if (yyvsp[-2]._egg != (EggVertexPool *)NULL) { EggVertexPool *pool = DCAST(EggVertexPool, yyvsp[-2]._egg); EggGroup *group = DCAST(EggGroup, egg_stack.back()); @@ -2873,17 +2552,15 @@ yyreduce: } } break; - - case 122: -#line 1268 "parser.yxx" - { +case 122: +#line 1298 "parser.yxx" +{ yyval._number = 1.0; } break; - - case 123: -#line 1272 "parser.yxx" - { +case 123: +#line 1302 "parser.yxx" +{ string name = yyvsp[-3]._string; double value = yyvsp[-1]._number; double result = yyvsp[-5]._number; @@ -2897,86 +2574,88 @@ yyreduce: yyval._number = result; } break; - - case 125: -#line 1309 "parser.yxx" - { +case 125: +#line 1339 "parser.yxx" +{ EggGroup *group = DCAST(EggGroup, egg_stack.back()); group->set_lod(EggSwitchConditionDistance(yyvsp[-8]._number, yyvsp[-7]._number, LPoint3d(yyvsp[-4]._number, yyvsp[-3]._number, yyvsp[-2]._number))); } break; - - case 126: -#line 1314 "parser.yxx" - { +case 126: +#line 1344 "parser.yxx" +{ EggGroup *group = DCAST(EggGroup, egg_stack.back()); group->set_lod(EggSwitchConditionDistance(yyvsp[-9]._number, yyvsp[-8]._number, LPoint3d(yyvsp[-4]._number, yyvsp[-3]._number, yyvsp[-2]._number), yyvsp[-7]._number)); } break; - - case 127: -#line 1331 "parser.yxx" - { +case 127: +#line 1361 "parser.yxx" +{ egg_stack.push_back(new EggPolygon(yyvsp[0]._string)); } break; - - case 128: -#line 1335 "parser.yxx" - { +case 128: +#line 1365 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 129: -#line 1350 "parser.yxx" - { +case 129: +#line 1380 "parser.yxx" +{ egg_stack.push_back(new EggPoint(yyvsp[0]._string)); } break; - - case 130: -#line 1354 "parser.yxx" - { +case 130: +#line 1384 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 131: -#line 1369 "parser.yxx" - { +case 131: +#line 1399 "parser.yxx" +{ + egg_stack.push_back(new EggLine(yyvsp[0]._string)); +} + break; +case 132: +#line 1403 "parser.yxx" +{ + yyval._egg = egg_stack.back(); + egg_stack.pop_back(); +} + break; +case 133: +#line 1418 "parser.yxx" +{ egg_stack.push_back(new EggNurbsSurface(yyvsp[0]._string)); } break; - - case 132: -#line 1373 "parser.yxx" - { +case 134: +#line 1422 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 133: -#line 1388 "parser.yxx" - { +case 135: +#line 1437 "parser.yxx" +{ egg_stack.push_back(new EggNurbsCurve(yyvsp[0]._string)); } break; - - case 134: -#line 1392 "parser.yxx" - { +case 136: +#line 1441 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 143: -#line 1416 "parser.yxx" - { +case 145: +#line 1465 "parser.yxx" +{ EggPrimitive *primitive = DCAST(EggPrimitive, egg_stack.back()); string name = yyvsp[-3]._string; double value = yyvsp[-1]._number; @@ -3006,6 +2685,16 @@ yyreduce: } else { primitive->set_depth_test_mode(m); } + + } else if (cmp_nocase_uh(name, "visibility") == 0) { + EggRenderMode::VisibilityMode m = + EggRenderMode::string_visibility_mode(strval); + if (m == EggRenderMode::VM_unspecified) { + eggyywarning("Unknown visibility mode " + strval); + } else { + primitive->set_visibility_mode(m); + } + } else if (cmp_nocase_uh(name, "draw_order") == 0) { primitive->set_draw_order((int)value); } else if (cmp_nocase_uh(name, "bin") == 0) { @@ -3015,19 +2704,17 @@ yyreduce: } } break; - - case 155: -#line 1476 "parser.yxx" - { +case 157: +#line 1535 "parser.yxx" +{ EggNurbsCurve *curve = DCAST(EggNurbsCurve, yyvsp[0]._egg); EggNurbsSurface *nurbs = DCAST(EggNurbsSurface, egg_stack.back()); nurbs->_curves_on_surface.push_back(curve); } break; - - case 157: -#line 1483 "parser.yxx" - { +case 159: +#line 1542 "parser.yxx" +{ EggNurbsSurface *primitive = DCAST(EggNurbsSurface, egg_stack.back()); string name = yyvsp[-3]._string; double value = yyvsp[-1]._number; @@ -3057,6 +2744,16 @@ yyreduce: } else { primitive->set_depth_test_mode(m); } + + } else if (cmp_nocase_uh(name, "visibility") == 0) { + EggRenderMode::VisibilityMode m = + EggRenderMode::string_visibility_mode(strval); + if (m == EggRenderMode::VM_unspecified) { + eggyywarning("Unknown visibility mode " + strval); + } else { + primitive->set_visibility_mode(m); + } + } else if (cmp_nocase_uh(name, "draw_order") == 0) { primitive->set_draw_order((int)value); } else if (cmp_nocase_uh(name, "bin") == 0) { @@ -3070,10 +2767,9 @@ yyreduce: } } break; - - case 168: -#line 1547 "parser.yxx" - { +case 170: +#line 1616 "parser.yxx" +{ EggNurbsCurve *primitive = DCAST(EggNurbsCurve, egg_stack.back()); string name = yyvsp[-3]._string; double value = yyvsp[-1]._number; @@ -3103,6 +2799,16 @@ yyreduce: } else { primitive->set_depth_test_mode(m); } + + } else if (cmp_nocase_uh(name, "visibility") == 0) { + EggRenderMode::VisibilityMode m = + EggRenderMode::string_visibility_mode(strval); + if (m == EggRenderMode::VM_unspecified) { + eggyywarning("Unknown visibility mode " + strval); + } else { + primitive->set_visibility_mode(m); + } + } else if (cmp_nocase_uh(name, "draw_order") == 0) { primitive->set_draw_order((int)value); } else if (cmp_nocase_uh(name, "bin") == 0) { @@ -3122,20 +2828,18 @@ yyreduce: } } break; - - case 169: -#line 1606 "parser.yxx" - { +case 171: +#line 1685 "parser.yxx" +{ if (yyvsp[0]._egg != (EggTexture *)NULL) { EggTexture *texture = DCAST(EggTexture, yyvsp[0]._egg); DCAST(EggPrimitive, egg_stack.back())->set_texture(texture); } } break; - - case 170: -#line 1623 "parser.yxx" - { +case 172: +#line 1702 "parser.yxx" +{ EggTexture *texture = NULL; // Defining a texture on-the-fly. @@ -3165,27 +2869,24 @@ yyreduce: DCAST(EggPrimitive, egg_stack.back())->set_texture(texture); } break; - - case 171: -#line 1663 "parser.yxx" - { +case 173: +#line 1742 "parser.yxx" +{ if (yyvsp[0]._egg != (EggMaterial *)NULL) { EggMaterial *material = DCAST(EggMaterial, yyvsp[0]._egg); DCAST(EggPrimitive, egg_stack.back())->set_material(material); } } break; - - case 172: -#line 1680 "parser.yxx" - { +case 174: +#line 1759 "parser.yxx" +{ DCAST(EggPrimitive, egg_stack.back())->set_normal(Normald(yyvsp[-2]._number, yyvsp[-1]._number, yyvsp[0]._number)); } break; - - case 173: -#line 1684 "parser.yxx" - { +case 175: +#line 1763 "parser.yxx" +{ bool inserted = DCAST(EggPrimitive, egg_stack.back())->_dnormals. insert(EggMorphNormal(yyvsp[-5]._string, LVector3d(yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number))).second; if (!inserted) { @@ -3193,10 +2894,9 @@ yyreduce: } } break; - - case 174: -#line 1692 "parser.yxx" - { +case 176: +#line 1771 "parser.yxx" +{ bool inserted = DCAST(EggPrimitive, egg_stack.back())->_dnormals. insert(EggMorphNormal(yyvsp[-4]._string, LVector3d(yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number))).second; if (!inserted) { @@ -3204,17 +2904,15 @@ yyreduce: } } break; - - case 175: -#line 1710 "parser.yxx" - { +case 177: +#line 1789 "parser.yxx" +{ DCAST(EggPrimitive, egg_stack.back())->set_color(Colorf(yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number, yyvsp[0]._number)); } break; - - case 176: -#line 1714 "parser.yxx" - { +case 178: +#line 1793 "parser.yxx" +{ bool inserted = DCAST(EggPrimitive, egg_stack.back())->_drgbas. insert(EggMorphColor(yyvsp[-6]._string, LVector4f(yyvsp[-4]._number, yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number))).second; if (!inserted) { @@ -3222,10 +2920,9 @@ yyreduce: } } break; - - case 177: -#line 1722 "parser.yxx" - { +case 179: +#line 1801 "parser.yxx" +{ bool inserted = DCAST(EggPrimitive, egg_stack.back())->_drgbas. insert(EggMorphColor(yyvsp[-5]._string, LVector4f(yyvsp[-4]._number, yyvsp[-3]._number, yyvsp[-2]._number, yyvsp[-1]._number))).second; if (!inserted) { @@ -3233,19 +2930,17 @@ yyreduce: } } break; - - case 178: -#line 1740 "parser.yxx" - { +case 180: +#line 1819 "parser.yxx" +{ EggPrimitive *primitive = DCAST(EggPrimitive, egg_stack.back()); int value = (int)yyvsp[0]._number; primitive->set_bface_flag(value!=0); } break; - - case 179: -#line 1756 "parser.yxx" - { +case 181: +#line 1835 "parser.yxx" +{ if (yyvsp[-2]._egg != (EggVertexPool *)NULL) { EggVertexPool *pool = DCAST(EggVertexPool, yyvsp[-2]._egg); EggPrimitive *prim = DCAST(EggPrimitive, egg_stack.back()); @@ -3266,10 +2961,9 @@ yyreduce: } } break; - - case 180: -#line 1787 "parser.yxx" - { +case 182: +#line 1866 "parser.yxx" +{ EggNurbsSurface *nurbs = DCAST(EggNurbsSurface, egg_stack.back()); int u_order = (int)yyvsp[-1]._number; int v_order = (int)yyvsp[0]._number; @@ -3277,10 +2971,9 @@ yyreduce: nurbs->set_v_order(v_order); } break; - - case 181: -#line 1805 "parser.yxx" - { +case 183: +#line 1884 "parser.yxx" +{ EggNurbsSurface *nurbs = DCAST(EggNurbsSurface, egg_stack.back()); PTA_double nums = yyvsp[0]._number_list; @@ -3290,10 +2983,9 @@ yyreduce: } } break; - - case 182: -#line 1825 "parser.yxx" - { +case 184: +#line 1904 "parser.yxx" +{ EggNurbsSurface *nurbs = DCAST(EggNurbsSurface, egg_stack.back()); PTA_double nums = yyvsp[0]._number_list; @@ -3303,27 +2995,24 @@ yyreduce: } } break; - - case 183: -#line 1845 "parser.yxx" - { +case 185: +#line 1924 "parser.yxx" +{ EggNurbsSurface *nurbs = DCAST(EggNurbsSurface, egg_stack.back()); nurbs->_trims.push_back(EggNurbsSurface::Trim()); } break; - - case 185: -#line 1861 "parser.yxx" - { +case 187: +#line 1940 "parser.yxx" +{ EggNurbsSurface *nurbs = DCAST(EggNurbsSurface, egg_stack.back()); nassertr(!nurbs->_trims.empty(), 0); nurbs->_trims.back().push_back(EggNurbsSurface::Loop()); } break; - - case 186: -#line 1867 "parser.yxx" - { +case 188: +#line 1946 "parser.yxx" +{ EggNurbsSurface *nurbs = DCAST(EggNurbsSurface, egg_stack.back()); nassertr(!nurbs->_trims.empty(), 0); nassertr(!nurbs->_trims.back().empty(), 0); @@ -3331,19 +3020,17 @@ yyreduce: nurbs->_trims.back().back().push_back(curve); } break; - - case 187: -#line 1886 "parser.yxx" - { +case 189: +#line 1965 "parser.yxx" +{ EggNurbsCurve *nurbs = DCAST(EggNurbsCurve, egg_stack.back()); int order = (int)yyvsp[0]._number; nurbs->set_order(order); } break; - - case 188: -#line 1902 "parser.yxx" - { +case 190: +#line 1981 "parser.yxx" +{ EggNurbsCurve *nurbs = DCAST(EggNurbsCurve, egg_stack.back()); PTA_double nums = yyvsp[0]._number_list; @@ -3353,95 +3040,83 @@ yyreduce: } } break; - - case 189: -#line 1923 "parser.yxx" - { +case 191: +#line 2002 "parser.yxx" +{ EggTable *table = new EggTable(yyvsp[0]._string); table->set_table_type(EggTable::TT_table); egg_stack.push_back(table); } break; - - case 190: -#line 1929 "parser.yxx" - { +case 192: +#line 2008 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 191: -#line 1945 "parser.yxx" - { +case 193: +#line 2024 "parser.yxx" +{ EggTable *table = new EggTable(yyvsp[0]._string); table->set_table_type(EggTable::TT_bundle); egg_stack.push_back(table); } break; - - case 192: -#line 1951 "parser.yxx" - { +case 194: +#line 2030 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 194: -#line 1968 "parser.yxx" - { +case 196: +#line 2047 "parser.yxx" +{ DCAST(EggTable, egg_stack.back())->add_child(DCAST(EggNode, yyvsp[0]._egg)); } break; - - case 195: -#line 1972 "parser.yxx" - { +case 197: +#line 2051 "parser.yxx" +{ DCAST(EggTable, egg_stack.back())->add_child(DCAST(EggNode, yyvsp[0]._egg)); } break; - - case 196: -#line 1976 "parser.yxx" - { +case 198: +#line 2055 "parser.yxx" +{ DCAST(EggTable, egg_stack.back())->add_child(DCAST(EggNode, yyvsp[0]._egg)); } break; - - case 197: -#line 1980 "parser.yxx" - { +case 199: +#line 2059 "parser.yxx" +{ DCAST(EggTable, egg_stack.back())->add_child(DCAST(EggNode, yyvsp[0]._egg)); } break; - - case 198: -#line 1984 "parser.yxx" - { +case 200: +#line 2063 "parser.yxx" +{ DCAST(EggTable, egg_stack.back())->add_child(DCAST(EggNode, yyvsp[0]._egg)); } break; - - case 199: -#line 1999 "parser.yxx" - { +case 201: +#line 2078 "parser.yxx" +{ EggSAnimData *anim_data = new EggSAnimData(yyvsp[0]._string); egg_stack.push_back(anim_data); } break; - - case 200: -#line 2004 "parser.yxx" - { +case 202: +#line 2083 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 202: -#line 2021 "parser.yxx" - { +case 204: +#line 2100 "parser.yxx" +{ EggSAnimData *anim_data = DCAST(EggSAnimData, egg_stack.back()); string name = yyvsp[-3]._string; double value = yyvsp[-1]._number; @@ -3453,33 +3128,29 @@ yyreduce: } } break; - - case 203: -#line 2033 "parser.yxx" - { +case 205: +#line 2112 "parser.yxx" +{ DCAST(EggSAnimData, egg_stack.back())->set_data(yyvsp[-1]._number_list); } break; - - case 204: -#line 2047 "parser.yxx" - { +case 206: +#line 2126 "parser.yxx" +{ EggXfmAnimData *anim_data = new EggXfmAnimData(yyvsp[0]._string); egg_stack.push_back(anim_data); } break; - - case 205: -#line 2052 "parser.yxx" - { +case 207: +#line 2131 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 207: -#line 2069 "parser.yxx" - { +case 209: +#line 2148 "parser.yxx" +{ EggXfmAnimData *anim_data = DCAST(EggXfmAnimData, egg_stack.back()); string name = yyvsp[-3]._string; double value = yyvsp[-1]._number; @@ -3496,33 +3167,29 @@ yyreduce: } } break; - - case 208: -#line 2086 "parser.yxx" - { +case 210: +#line 2165 "parser.yxx" +{ DCAST(EggXfmAnimData, egg_stack.back())->set_data(yyvsp[-1]._number_list); } break; - - case 209: -#line 2100 "parser.yxx" - { +case 211: +#line 2179 "parser.yxx" +{ EggXfmSAnim *anim_group = new EggXfmSAnim(yyvsp[0]._string); egg_stack.push_back(anim_group); } break; - - case 210: -#line 2105 "parser.yxx" - { +case 212: +#line 2184 "parser.yxx" +{ yyval._egg = egg_stack.back(); egg_stack.pop_back(); } break; - - case 212: -#line 2122 "parser.yxx" - { +case 214: +#line 2201 "parser.yxx" +{ EggXfmSAnim *anim_group = DCAST(EggXfmSAnim, egg_stack.back()); string name = yyvsp[-3]._string; double value = yyvsp[-1]._number; @@ -3537,45 +3204,39 @@ yyreduce: } } break; - - case 213: -#line 2137 "parser.yxx" - { +case 215: +#line 2216 "parser.yxx" +{ DCAST(EggXfmSAnim, egg_stack.back())->add_child(DCAST(EggNode, yyvsp[0]._egg)); } break; - - case 214: -#line 2152 "parser.yxx" - { +case 216: +#line 2231 "parser.yxx" +{ yyval._number_list = PTA_double::empty_array(0); } break; - - case 215: -#line 2156 "parser.yxx" - { +case 217: +#line 2235 "parser.yxx" +{ yyval._number_list.push_back((double)yyvsp[0]._number); } break; - - case 216: -#line 2170 "parser.yxx" - { +case 218: +#line 2249 "parser.yxx" +{ yyval._number_list = PTA_double::empty_array(0); } break; - - case 217: -#line 2174 "parser.yxx" - { +case 219: +#line 2253 "parser.yxx" +{ yyval._number_list.push_back(yyvsp[0]._number); } break; - - case 218: -#line 2188 "parser.yxx" - { +case 220: +#line 2267 "parser.yxx" +{ string name = yyvsp[0]._string; Textures::iterator vpi = textures.find(name); if (vpi == textures.end()) { @@ -3586,10 +3247,9 @@ yyreduce: } } break; - - case 219: -#line 2209 "parser.yxx" - { +case 221: +#line 2288 "parser.yxx" +{ string name = yyvsp[0]._string; Materials::iterator vpi = materials.find(name); if (vpi == materials.end()) { @@ -3600,10 +3260,9 @@ yyreduce: } } break; - - case 220: -#line 2230 "parser.yxx" - { +case 222: +#line 2309 "parser.yxx" +{ string name = yyvsp[0]._string; VertexPools::iterator vpi = vertex_pools.find(name); if (vpi == vertex_pools.end()) { @@ -3614,109 +3273,95 @@ yyreduce: } } break; - - case 221: -#line 2252 "parser.yxx" - { +case 223: +#line 2331 "parser.yxx" +{ eggyyerror("Name required."); yyval._string = ""; } break; - - case 224: -#line 2281 "parser.yxx" - { +case 226: +#line 2360 "parser.yxx" +{ eggyyerror("String required."); yyval._string = ""; } break; - - case 226: -#line 2297 "parser.yxx" - { +case 228: +#line 2376 "parser.yxx" +{ yyval._string = ""; } break; - - case 228: -#line 2315 "parser.yxx" - { +case 230: +#line 2394 "parser.yxx" +{ yyval._string = yyvsp[0]._string; } break; - - case 229: -#line 2319 "parser.yxx" - { +case 231: +#line 2398 "parser.yxx" +{ yyval._string = yyvsp[0]._string; } break; - - case 231: -#line 2336 "parser.yxx" - { +case 233: +#line 2415 "parser.yxx" +{ yyval._string = ""; } break; - - case 232: -#line 2340 "parser.yxx" - { +case 234: +#line 2419 "parser.yxx" +{ yyval._string = yyvsp[0]._string; } break; - - case 233: -#line 2356 "parser.yxx" - { +case 235: +#line 2435 "parser.yxx" +{ yyval._string = yyvsp[0]._string; } break; - - case 234: -#line 2360 "parser.yxx" - { +case 236: +#line 2439 "parser.yxx" +{ yyval._string = yyvsp[-1]._string + "\n" + yyvsp[0]._string; } break; - - case 236: -#line 2375 "parser.yxx" - { +case 238: +#line 2454 "parser.yxx" +{ yyval._number = yyvsp[0]._ulong; } break; - - case 237: -#line 2390 "parser.yxx" - { +case 239: +#line 2469 "parser.yxx" +{ yyval._number = yyvsp[0]._number; yyval._ulong = (unsigned long)yyvsp[0]._number; yyval._string = yyvsp[0]._string; } break; - - case 238: -#line 2396 "parser.yxx" - { +case 240: +#line 2475 "parser.yxx" +{ yyval._number = yyvsp[0]._ulong; yyval._ulong = yyvsp[0]._ulong; yyval._string = yyvsp[0]._string; } break; - - case 239: -#line 2402 "parser.yxx" - { +case 241: +#line 2481 "parser.yxx" +{ yyval._number = 0.0; yyval._ulong = 0; yyval._string = yyvsp[0]._string; } break; - - case 240: -#line 2419 "parser.yxx" - { +case 242: +#line 2498 "parser.yxx" +{ int i = (int)yyvsp[0]._number; if ((double)i != yyvsp[0]._number) { eggyywarning("Integer expected."); @@ -3724,28 +3369,38 @@ yyreduce: } } break; - - case 241: -#line 2427 "parser.yxx" - { +case 243: +#line 2506 "parser.yxx" +{ yyval._number = yyvsp[0]._ulong; } break; +} +#line 705 "/usr/share/bison/bison.simple" - } - -/* Line 991 of yacc.c. */ -#line 3739 "y.tab.c" yyvsp -= yylen; yyssp -= yylen; +#if YYLSP_NEEDED + yylsp -= yylen; +#endif - - YY_STACK_PRINT (yyss, yyssp); +#if YYDEBUG + if (yydebug) + { + short *yyssp1 = yyss - 1; + YYFPRINTF (stderr, "state stack now"); + while (yyssp1 != yyssp) + YYFPRINTF (stderr, " %d", *++yyssp1); + YYFPRINTF (stderr, "\n"); + } +#endif *++yyvsp = yyval; - +#if YYLSP_NEEDED + *++yylsp = yyloc; +#endif /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule @@ -3753,11 +3408,11 @@ yyreduce: yyn = yyr1[yyn]; - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yypgoto[yyn - YYNTBASE] + *yyssp; + if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else - yystate = yydefgoto[yyn - YYNTOKENS]; + yystate = yydefgoto[yyn - YYNTBASE]; goto yynewstate; @@ -3770,13 +3425,13 @@ yyerrlab: if (!yyerrstatus) { ++yynerrs; -#if YYERROR_VERBOSE + +#ifdef YYERROR_VERBOSE yyn = yypact[yystate]; - if (YYPACT_NINF < yyn && yyn < YYLAST) + if (yyn > YYFLAG && yyn < YYLAST) { YYSIZE_T yysize = 0; - int yytype = YYTRANSLATE (yychar); char *yymsg; int yyx, yycount; @@ -3785,15 +3440,15 @@ yyerrlab: YYCHECK. */ for (yyx = yyn < 0 ? -yyn : 0; yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + if (yycheck[yyx + yyn] == yyx) yysize += yystrlen (yytname[yyx]) + 15, yycount++; - yysize += yystrlen ("syntax error, unexpected ") + 1; - yysize += yystrlen (yytname[yytype]); + yysize += yystrlen ("parse error, unexpected ") + 1; + yysize += yystrlen (yytname[YYTRANSLATE (yychar)]); yymsg = (char *) YYSTACK_ALLOC (yysize); if (yymsg != 0) { - char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); - yyp = yystpcpy (yyp, yytname[yytype]); + char *yyp = yystpcpy (yymsg, "parse error, unexpected "); + yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]); if (yycount < 5) { @@ -3801,7 +3456,7 @@ yyerrlab: for (yyx = yyn < 0 ? -yyn : 0; yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + if (yycheck[yyx + yyn] == yyx) { const char *yyq = ! yycount ? ", expecting " : " or "; yyp = yystpcpy (yyp, yyq); @@ -3813,92 +3468,102 @@ yyerrlab: YYSTACK_FREE (yymsg); } else - yyerror ("syntax error; also virtual memory exhausted"); + yyerror ("parse error; also virtual memory exhausted"); } else -#endif /* YYERROR_VERBOSE */ - yyerror ("syntax error"); +#endif /* defined (YYERROR_VERBOSE) */ + yyerror ("parse error"); } + goto yyerrlab1; - +/*--------------------------------------------------. +| yyerrlab1 -- error raised explicitly by an action | +`--------------------------------------------------*/ +yyerrlab1: if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ - /* Return failure if at end of input. */ + /* return failure if at end of input */ if (yychar == YYEOF) - { - /* Pop the error token. */ - YYPOPSTACK; - /* Pop the rest of the stack. */ - while (yyss < yyssp) - { - YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); - yydestruct (yystos[*yyssp], yyvsp); - YYPOPSTACK; - } - YYABORT; - } - - YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); - yydestruct (yytoken, &yylval); + YYABORT; + YYDPRINTF ((stderr, "Discarding token %d (%s).\n", + yychar, yytname[yychar1])); yychar = YYEMPTY; - } /* Else will try to reuse lookahead token after shifting the error token. */ - goto yyerrlab2; + + yyerrstatus = 3; /* Each real token shifted decrements this */ + + goto yyerrhandle; -/*----------------------------------------------------. -| yyerrlab1 -- error raised explicitly by an action. | -`----------------------------------------------------*/ -yyerrlab1: +/*-------------------------------------------------------------------. +| yyerrdefault -- current state does not do anything special for the | +| error token. | +`-------------------------------------------------------------------*/ +yyerrdefault: +#if 0 + /* This is wrong; only states that explicitly want error tokens + should shift them. */ - /* Suppress GCC warning that yyerrlab1 is unused when no action - invokes YYERROR. */ -#if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__) - __attribute__ ((__unused__)) + /* If its default is to accept any token, ok. Otherwise pop it. */ + yyn = yydefact[yystate]; + if (yyn) + goto yydefault; #endif - goto yyerrlab2; - - /*---------------------------------------------------------------. -| yyerrlab2 -- pop states until the error token can be shifted. | +| yyerrpop -- pop the current state because it cannot handle the | +| error token | `---------------------------------------------------------------*/ -yyerrlab2: - yyerrstatus = 3; /* Each real token shifted decrements this. */ +yyerrpop: + if (yyssp == yyss) + YYABORT; + yyvsp--; + yystate = *--yyssp; +#if YYLSP_NEEDED + yylsp--; +#endif - for (;;) +#if YYDEBUG + if (yydebug) { - yyn = yypact[yystate]; - if (yyn != YYPACT_NINF) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } - - /* Pop the current state because it cannot handle the error token. */ - if (yyssp == yyss) - YYABORT; - - YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); - yydestruct (yystos[yystate], yyvsp); - yyvsp--; - yystate = *--yyssp; - - YY_STACK_PRINT (yyss, yyssp); + short *yyssp1 = yyss - 1; + YYFPRINTF (stderr, "Error: state stack now"); + while (yyssp1 != yyssp) + YYFPRINTF (stderr, " %d", *++yyssp1); + YYFPRINTF (stderr, "\n"); } +#endif + +/*--------------. +| yyerrhandle. | +`--------------*/ +yyerrhandle: + yyn = yypact[yystate]; + if (yyn == YYFLAG) + goto yyerrdefault; + + yyn += YYTERROR; + if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) + goto yyerrdefault; + + yyn = yytable[yyn]; + if (yyn < 0) + { + if (yyn == YYFLAG) + goto yyerrpop; + yyn = -yyn; + goto yyreduce; + } + else if (yyn == 0) + goto yyerrpop; if (yyn == YYFINAL) YYACCEPT; @@ -3906,7 +3571,9 @@ yyerrlab2: YYDPRINTF ((stderr, "Shifting error token, ")); *++yyvsp = yylval; - +#if YYLSP_NEEDED + *++yylsp = yylloc; +#endif yystate = yyn; goto yynewstate; @@ -3926,15 +3593,13 @@ yyabortlab: yyresult = 1; goto yyreturn; -#ifndef yyoverflow -/*----------------------------------------------. -| yyoverflowlab -- parser overflow comes here. | -`----------------------------------------------*/ +/*---------------------------------------------. +| yyoverflowab -- parser overflow comes here. | +`---------------------------------------------*/ yyoverflowlab: yyerror ("parser stack overflow"); yyresult = 2; /* Fall through. */ -#endif yyreturn: #ifndef yyoverflow @@ -3943,6 +3608,4 @@ yyreturn: #endif return yyresult; } - - - +#line 2513 "parser.yxx" diff --git a/panda/src/egg/parser.h.prebuilt b/panda/src/egg/parser.h.prebuilt index 2b5dcc821e..5e8b7047c8 100644 --- a/panda/src/egg/parser.h.prebuilt +++ b/panda/src/egg/parser.h.prebuilt @@ -1,212 +1,91 @@ -/* A Bison parser, made by GNU Bison 1.875. */ +#ifndef BISON_Y_TAB_H +# define BISON_Y_TAB_H -/* Skeleton parser for Yacc-like parsing with Bison, - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc. +# define NUMBER 257 +# define ULONG 258 +# define STRING 259 +# define BEZIERCURVE 260 +# define BFACE 261 +# define BILLBOARD 262 +# define BILLBOARDCENTER 263 +# define BUNDLE 264 +# define CLOSED 265 +# define COLLIDE 266 +# define COMMENT 267 +# define COORDSYSTEM 268 +# define CV 269 +# define DART 270 +# define DNORMAL 271 +# define DRGBA 272 +# define DUV 273 +# define DXYZ 274 +# define DCS 275 +# define DISTANCE 276 +# define DTREF 277 +# define DYNAMICVERTEXPOOL 278 +# define EXTERNAL_FILE 279 +# define FLIGHT 280 +# define GROUP 281 +# define HIP 282 +# define INTANGENT 283 +# define JOINT 284 +# define KNOTS 285 +# define INCLUDE 286 +# define INSTANCE 287 +# define LINE 288 +# define LOOP 289 +# define MATERIAL 290 +# define MATRIX3 291 +# define MATRIX4 292 +# define MODEL 293 +# define MREF 294 +# define NORMAL 295 +# define NURBSCURVE 296 +# define NURBSSURFACE 297 +# define OBJECTTYPE 298 +# define ORDER 299 +# define OUTTANGENT 300 +# define POINTLIGHT 301 +# define POLYGON 302 +# define REF 303 +# define RGBA 304 +# define ROTATE 305 +# define ROTX 306 +# define ROTY 307 +# define ROTZ 308 +# define SANIM 309 +# define SCALAR 310 +# define SCALE 311 +# define SEQUENCE 312 +# define SHADING 313 +# define SWITCH 314 +# define SWITCHCONDITION 315 +# define TABLE 316 +# define TABLE_V 317 +# define TAG 318 +# define TEXLIST 319 +# define TEXTURE 320 +# define TLENGTHS 321 +# define TRANSFORM 322 +# define TRANSLATE 323 +# define TREF 324 +# define TRIM 325 +# define TXT 326 +# define UKNOTS 327 +# define UV 328 +# define VKNOTS 329 +# define VERTEX 330 +# define VERTEXANIM 331 +# define VERTEXPOOL 332 +# define VERTEXREF 333 +# define XFMANIM 334 +# define XFMSANIM 335 +# define START_EGG 336 +# define START_GROUP_BODY 337 +# define START_TEXTURE_BODY 338 +# define START_PRIMITIVE_BODY 339 - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - NUMBER = 258, - ULONG = 259, - STRING = 260, - BEZIERCURVE = 261, - BFACE = 262, - BILLBOARD = 263, - BILLBOARDCENTER = 264, - BUNDLE = 265, - CLOSED = 266, - COLLIDE = 267, - COMMENT = 268, - COORDSYSTEM = 269, - CV = 270, - DART = 271, - DNORMAL = 272, - DRGBA = 273, - DUV = 274, - DXYZ = 275, - DCS = 276, - DISTANCE = 277, - DTREF = 278, - DYNAMICVERTEXPOOL = 279, - EXTERNAL_FILE = 280, - FLIGHT = 281, - GROUP = 282, - HIP = 283, - INTANGENT = 284, - JOINT = 285, - KNOTS = 286, - INCLUDE = 287, - INSTANCE = 288, - LOOP = 289, - MATERIAL = 290, - MATRIX3 = 291, - MATRIX4 = 292, - MODEL = 293, - MREF = 294, - NORMAL = 295, - NURBSCURVE = 296, - NURBSSURFACE = 297, - OBJECTTYPE = 298, - ORDER = 299, - OUTTANGENT = 300, - POINTLIGHT = 301, - POLYGON = 302, - REF = 303, - RGBA = 304, - ROTATE = 305, - ROTX = 306, - ROTY = 307, - ROTZ = 308, - SANIM = 309, - SCALAR = 310, - SCALE = 311, - SEQUENCE = 312, - SHADING = 313, - SWITCH = 314, - SWITCHCONDITION = 315, - TABLE = 316, - TABLE_V = 317, - TAG = 318, - TEXLIST = 319, - TEXTURE = 320, - TLENGTHS = 321, - TRANSFORM = 322, - TRANSLATE = 323, - TREF = 324, - TRIM = 325, - TXT = 326, - UKNOTS = 327, - UV = 328, - VKNOTS = 329, - VERTEX = 330, - VERTEXANIM = 331, - VERTEXPOOL = 332, - VERTEXREF = 333, - XFMANIM = 334, - XFMSANIM = 335, - START_EGG = 336, - START_GROUP_BODY = 337, - START_TEXTURE_BODY = 338, - START_PRIMITIVE_BODY = 339 - }; -#endif -#define NUMBER 258 -#define ULONG 259 -#define STRING 260 -#define BEZIERCURVE 261 -#define BFACE 262 -#define BILLBOARD 263 -#define BILLBOARDCENTER 264 -#define BUNDLE 265 -#define CLOSED 266 -#define COLLIDE 267 -#define COMMENT 268 -#define COORDSYSTEM 269 -#define CV 270 -#define DART 271 -#define DNORMAL 272 -#define DRGBA 273 -#define DUV 274 -#define DXYZ 275 -#define DCS 276 -#define DISTANCE 277 -#define DTREF 278 -#define DYNAMICVERTEXPOOL 279 -#define EXTERNAL_FILE 280 -#define FLIGHT 281 -#define GROUP 282 -#define HIP 283 -#define INTANGENT 284 -#define JOINT 285 -#define KNOTS 286 -#define INCLUDE 287 -#define INSTANCE 288 -#define LOOP 289 -#define MATERIAL 290 -#define MATRIX3 291 -#define MATRIX4 292 -#define MODEL 293 -#define MREF 294 -#define NORMAL 295 -#define NURBSCURVE 296 -#define NURBSSURFACE 297 -#define OBJECTTYPE 298 -#define ORDER 299 -#define OUTTANGENT 300 -#define POINTLIGHT 301 -#define POLYGON 302 -#define REF 303 -#define RGBA 304 -#define ROTATE 305 -#define ROTX 306 -#define ROTY 307 -#define ROTZ 308 -#define SANIM 309 -#define SCALAR 310 -#define SCALE 311 -#define SEQUENCE 312 -#define SHADING 313 -#define SWITCH 314 -#define SWITCHCONDITION 315 -#define TABLE 316 -#define TABLE_V 317 -#define TAG 318 -#define TEXLIST 319 -#define TEXTURE 320 -#define TLENGTHS 321 -#define TRANSFORM 322 -#define TRANSLATE 323 -#define TREF 324 -#define TRIM 325 -#define TXT 326 -#define UKNOTS 327 -#define UV 328 -#define VKNOTS 329 -#define VERTEX 330 -#define VERTEXANIM 331 -#define VERTEXPOOL 332 -#define VERTEXREF 333 -#define XFMANIM 334 -#define XFMSANIM 335 -#define START_EGG 336 -#define START_GROUP_BODY 337 -#define START_TEXTURE_BODY 338 -#define START_PRIMITIVE_BODY 339 - - - - -#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -typedef int YYSTYPE; -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif extern YYSTYPE eggyylval; - - +#endif /* not BISON_Y_TAB_H */