From: nethack.rankin Date: Thu, 28 Mar 2002 01:37:39 +0000 (+0000) Subject: lev_comp,dgn_comp vs CRLF style input X-Git-Tag: MOVE2GIT~2871 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e835e2f420b6cd341b0e8d622e6d9515d03a0776;p=nethack lev_comp,dgn_comp vs CRLF style input Allow the special level and dungeon compilers to handle input files which have CR+LF delimited lines. Apparently Cygwin doesn't convert MSDOS style line ends into newlines the way stdio should do for text I/O. The resulting unexpected CR characters result in syntax errors. And explicitly using '\n' on both the lex and yacc sides of MAP processing allows removal of the old NEWLINE hack for Mac MPW. It won't matter what numeric value that character escape sequence has internally. --- diff --git a/doc/fixes34.1 b/doc/fixes34.1 index 90b739d3a..44288b145 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -24,6 +24,8 @@ don't drop corpse when a monster kills another monster on an inaccessible half-physical-damage from gas spore explosion should only affect you Sunsword didn't stop glowing when hero killed a monster wielding it mimics caught in explosions with messages printed about them are discovered +let lev_comp and dgn_comp accept optional carriage return character prior to + the terminating newline in special level and dungeon description files Platform- and/or Interface-Specific Fixes diff --git a/sys/share/dgn_lex.c b/sys/share/dgn_lex.c index 0850e44fb..054a25dcb 100644 --- a/sys/share/dgn_lex.c +++ b/sys/share/dgn_lex.c @@ -210,48 +210,48 @@ static void FDECL(yy_fatal_error, (const char *)); #define YY_NUM_RULES 35 #define YY_END_OF_BUFFER 36 -static yyconst short int yy_accept[194] = +static yyconst short int yy_accept[196] = { 0, - 0, 0, 36, 34, 33, 32, 34, 29, 34, 34, + 0, 0, 36, 34, 33, 32, 34, 34, 29, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 33, 0, - 30, 29, 0, 0, 0, 0, 0, 0, 0, 0, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 33, + 32, 0, 30, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 0, 31, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2, 0, 31, 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, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 14, 0, 0, 0, 0, 0, 0, 4, 0, - 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 0, 0, 0, 5, 0, 0, 23, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, - 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 22, 15, 0, - 21, 7, 19, 0, 0, 0, 0, 0, 0, 13, - 0, 0, 0, 26, 16, 0, 0, 12, 0, 0, - 0, 11, 9, 0, 17, 18, 0, 27, 0, 28, - 24, 10, 0 + 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, + 4, 0, 25, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 6, 0, 0, 0, 5, 0, 0, 23, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 20, 0, 0, 0, 0, 8, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 22, + 15, 0, 21, 7, 19, 0, 0, 0, 0, 0, + 0, 13, 0, 0, 0, 26, 16, 0, 0, 12, + 0, 0, 0, 11, 9, 0, 17, 18, 0, 27, + 0, 28, 24, 10, 0 } ; static yyconst int yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, + 1, 1, 4, 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, 2, 1, 4, 5, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 6, 1, 1, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 1, 1, 1, - 1, 1, 1, 1, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 1, 1, 16, 17, 18, 19, 20, - 1, 21, 22, 23, 24, 25, 1, 1, 26, 1, - 1, 1, 1, 1, 27, 1, 28, 1, 29, 30, - - 31, 32, 33, 34, 35, 1, 36, 37, 38, 39, - 40, 41, 1, 42, 43, 44, 45, 1, 46, 1, - 1, 47, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 5, 6, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 7, 1, 1, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 1, 1, 1, + 1, 1, 1, 1, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 1, 1, 17, 18, 19, 20, 21, + 1, 22, 23, 24, 25, 26, 1, 1, 27, 1, + 1, 1, 1, 1, 28, 1, 29, 1, 30, 31, + + 32, 33, 34, 35, 36, 1, 37, 38, 39, 40, + 41, 42, 1, 43, 44, 45, 46, 1, 47, 1, + 1, 48, 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, @@ -268,131 +268,131 @@ static yyconst int yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[48] = +static yyconst int yy_meta[49] = { 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, 1, 1, 1, 1, 1 + 1, 1, 1, 1, 1, 1, 1, 1 } ; -static yyconst short int yy_base[196] = +static yyconst short int yy_base[198] = { 0, - 0, 212, 216, 218, 213, 218, 210, 207, 196, 190, - 196, 37, 191, 197, 186, 188, 171, 164, 172, 174, - 173, 18, 160, 159, 154, 157, 11, 193, 193, 190, - 218, 187, 177, 184, 183, 167, 170, 164, 161, 166, - 174, 155, 136, 144, 134, 132, 133, 26, 135, 143, - 147, 128, 145, 218, 169, 218, 158, 152, 154, 159, - 154, 145, 44, 142, 47, 124, 124, 125, 129, 129, - 115, 27, 121, 113, 111, 120, 115, 116, 134, 142, - 132, 128, 137, 121, 130, 129, 125, 129, 131, 97, - 218, 105, 94, 101, 95, 96, 94, 99, 105, 101, - - 89, 218, 95, 112, 114, 51, 112, 107, 218, 110, - 114, 111, 106, 96, 85, 76, 81, 82, 88, 69, - 218, 81, 76, 75, 218, 78, 99, 218, 88, 97, - 87, 88, 92, 93, 88, 91, 90, 71, 65, 218, - 62, 60, 57, 56, 218, 59, 54, 74, 84, 65, - 66, 218, 70, 65, 70, 60, 68, 218, 218, 52, - 218, 218, 218, 46, 50, 57, 61, 67, 62, 218, - 67, 64, 63, 218, 218, 42, 41, 218, 61, 53, - 49, 218, 218, 50, 218, 218, 51, 218, 46, 218, - 218, 218, 218, 61, 59 + 0, 213, 218, 220, 215, 220, 213, 210, 207, 196, + 190, 196, 37, 191, 197, 186, 188, 171, 164, 172, + 174, 173, 18, 160, 159, 154, 157, 11, 194, 194, + 220, 190, 220, 187, 177, 184, 183, 167, 170, 164, + 161, 166, 174, 155, 136, 144, 134, 132, 133, 26, + 135, 143, 147, 128, 145, 220, 170, 220, 158, 152, + 154, 159, 154, 145, 44, 142, 47, 124, 124, 125, + 129, 129, 115, 27, 121, 113, 111, 120, 115, 116, + 134, 142, 132, 128, 137, 121, 130, 129, 125, 129, + 131, 97, 220, 105, 94, 101, 95, 96, 94, 99, + + 105, 101, 89, 220, 95, 112, 114, 51, 112, 107, + 220, 110, 114, 111, 106, 96, 85, 76, 81, 82, + 88, 69, 220, 81, 76, 75, 220, 78, 99, 220, + 88, 97, 87, 88, 92, 93, 88, 91, 90, 71, + 65, 220, 62, 60, 57, 56, 220, 59, 54, 74, + 84, 65, 66, 220, 70, 65, 70, 60, 68, 220, + 220, 52, 220, 220, 220, 46, 50, 57, 61, 67, + 62, 220, 67, 64, 63, 220, 220, 42, 41, 220, + 61, 53, 49, 220, 220, 50, 220, 220, 51, 220, + 46, 220, 220, 220, 220, 62, 60 } ; -static yyconst short int yy_def[196] = +static yyconst short int yy_def[198] = { 0, - 193, 1, 193, 193, 193, 193, 194, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 195, 193, 194, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 195, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 0, 193, 193 + 195, 1, 195, 195, 195, 195, 195, 196, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 197, 195, + 195, 196, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 197, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 0, 195, 195 } ; -static yyconst short int yy_nxt[266] = +static yyconst short int yy_nxt[269] = { 0, - 4, 5, 6, 7, 4, 8, 9, 10, 11, 12, - 13, 4, 4, 4, 4, 14, 4, 4, 4, 15, - 16, 4, 4, 4, 4, 4, 4, 4, 17, 18, - 4, 4, 4, 19, 4, 4, 20, 21, 22, 4, - 23, 24, 25, 26, 27, 4, 4, 36, 47, 53, - 85, 54, 72, 73, 86, 88, 96, 48, 129, 55, - 37, 30, 89, 192, 191, 190, 130, 189, 188, 187, - 186, 97, 185, 184, 183, 182, 181, 180, 179, 178, - 177, 176, 175, 174, 173, 172, 171, 170, 169, 168, - 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, - - 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, - 147, 146, 145, 144, 143, 142, 141, 140, 139, 138, - 137, 136, 135, 134, 133, 132, 131, 128, 127, 126, - 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, - 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, - 105, 104, 103, 102, 101, 100, 99, 98, 95, 94, - 93, 92, 91, 90, 87, 84, 83, 82, 81, 80, - 79, 56, 78, 77, 76, 75, 74, 71, 70, 69, - 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, - 58, 57, 32, 31, 29, 56, 52, 51, 50, 49, - - 46, 45, 44, 43, 42, 41, 40, 39, 38, 35, - 34, 33, 32, 31, 29, 193, 28, 3, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193 + 4, 5, 6, 7, 8, 4, 9, 10, 11, 12, + 13, 14, 4, 4, 4, 4, 15, 4, 4, 4, + 16, 17, 4, 4, 4, 4, 4, 4, 4, 18, + 19, 4, 4, 4, 20, 4, 4, 21, 22, 23, + 4, 24, 25, 26, 27, 28, 4, 4, 38, 49, + 55, 87, 56, 74, 75, 88, 90, 98, 50, 131, + 57, 39, 32, 91, 194, 193, 192, 132, 191, 190, + 189, 188, 99, 187, 186, 185, 184, 183, 182, 181, + 180, 179, 178, 177, 176, 175, 174, 173, 172, 171, + 170, 169, 168, 167, 166, 165, 164, 163, 162, 161, + + 160, 159, 158, 157, 156, 155, 154, 153, 152, 151, + 150, 149, 148, 147, 146, 145, 144, 143, 142, 141, + 140, 139, 138, 137, 136, 135, 134, 133, 130, 129, + 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, + 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, + 108, 107, 106, 105, 104, 103, 102, 101, 100, 97, + 96, 95, 94, 93, 92, 89, 86, 85, 84, 83, + 82, 81, 58, 80, 79, 78, 77, 76, 73, 72, + 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, + 61, 60, 59, 34, 33, 30, 58, 54, 53, 52, + + 51, 48, 47, 46, 45, 44, 43, 42, 41, 40, + 37, 36, 35, 34, 33, 31, 30, 195, 29, 3, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195 } ; -static yyconst short int yy_chk[266] = +static yyconst short int yy_chk[269] = { 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, 1, 1, 1, 1, 1, 12, 22, 27, - 63, 27, 48, 48, 63, 65, 72, 22, 106, 195, - 12, 194, 65, 189, 187, 184, 106, 181, 180, 179, - 177, 72, 176, 173, 172, 171, 169, 168, 167, 166, - 165, 164, 160, 157, 156, 155, 154, 153, 151, 150, - 149, 148, 147, 146, 144, 143, 142, 141, 139, 138, - - 137, 136, 135, 134, 133, 132, 131, 130, 129, 127, - 126, 124, 123, 122, 120, 119, 118, 117, 116, 115, - 114, 113, 112, 111, 110, 108, 107, 105, 104, 103, - 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, - 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, - 80, 79, 78, 77, 76, 75, 74, 73, 71, 70, - 69, 68, 67, 66, 64, 62, 61, 60, 59, 58, - 57, 55, 53, 52, 51, 50, 49, 47, 46, 45, - 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, - 34, 33, 32, 30, 29, 28, 26, 25, 24, 23, - - 21, 20, 19, 18, 17, 16, 15, 14, 13, 11, - 10, 9, 8, 7, 5, 3, 2, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, - 193, 193, 193, 193, 193 + 1, 1, 1, 1, 1, 1, 1, 1, 13, 23, + 28, 65, 28, 50, 50, 65, 67, 74, 23, 108, + 197, 13, 196, 67, 191, 189, 186, 108, 183, 182, + 181, 179, 74, 178, 175, 174, 173, 171, 170, 169, + 168, 167, 166, 162, 159, 158, 157, 156, 155, 153, + 152, 151, 150, 149, 148, 146, 145, 144, 143, 141, + + 140, 139, 138, 137, 136, 135, 134, 133, 132, 131, + 129, 128, 126, 125, 124, 122, 121, 120, 119, 118, + 117, 116, 115, 114, 113, 112, 110, 109, 107, 106, + 105, 103, 102, 101, 100, 99, 98, 97, 96, 95, + 94, 92, 91, 90, 89, 88, 87, 86, 85, 84, + 83, 82, 81, 80, 79, 78, 77, 76, 75, 73, + 72, 71, 70, 69, 68, 66, 64, 63, 62, 61, + 60, 59, 57, 55, 54, 53, 52, 51, 49, 48, + 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, + 37, 36, 35, 34, 32, 30, 29, 27, 26, 25, + + 24, 22, 21, 20, 19, 18, 17, 16, 15, 14, + 12, 11, 10, 9, 8, 7, 5, 3, 2, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, + 195, 195, 195, 195, 195, 195, 195, 195 } ; static yy_state_type yy_last_accepting_state; @@ -406,7 +406,7 @@ static char *yy_last_accepting_cpos; #define YY_MORE_ADJ 0 char *yytext; #define INITIAL 0 -/* SCCS Id: @(#)dgn_lex.c 3.4 1996/03/02 */ +/* SCCS Id: @(#)dgn_lex.c 3.4 2002/03/27 */ /* Copyright (c) 1989 by Jean-Christophe Collet */ /* Copyright (c) 1990 by M. Stephenson */ /* NetHack may be freely redistributed. See license for details. */ @@ -634,13 +634,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 >= 194 ) + if ( yy_current_state >= 196 ) 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] != 218 ); + while ( yy_base[yy_current_state] != 220 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1099,7 +1099,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 >= 194 ) + if ( yy_current_state >= 196 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1130,11 +1130,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 >= 194 ) + if ( yy_current_state >= 196 ) 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 == 193); + yy_is_jam = (yy_current_state == 195); return yy_is_jam ? 0 : yy_current_state; } diff --git a/sys/share/lev_lex.c b/sys/share/lev_lex.c index cf8886d6d..776e048ce 100644 --- a/sys/share/lev_lex.c +++ b/sys/share/lev_lex.c @@ -210,16 +210,16 @@ static void FDECL(yy_fatal_error, (const char *)); #define YY_NUM_RULES 112 #define YY_END_OF_BUFFER 113 -static yyconst short int yy_accept[633] = +static yyconst short int yy_accept[640] = { 0, 0, 0, 0, 0, 113, 111, 108, 107, 111, 111, - 111, 105, 4, 111, 111, 111, 111, 111, 111, 111, + 111, 111, 105, 4, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, - 2, 108, 111, 111, 105, 111, 111, 111, 111, 111, - 111, 111, 111, 111, 111, 111, 111, 108, 0, 106, - 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, + 111, 2, 111, 108, 111, 111, 105, 111, 111, 111, + 111, 111, 111, 111, 111, 111, 111, 111, 111, 108, + 107, 0, 106, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -227,79 +227,79 @@ static yyconst short int yy_accept[633] = 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, 0, 0, 0, 0, 87, 0, 0, - 3, 0, 2, 108, 0, 105, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 0, 110, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 87, 0, 0, 3, 0, 2, 2, 0, 108, 0, + 105, 0, 0, 0, 0, 0, 0, 0, 0, 2, + 0, 0, 110, 0, 110, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, - 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, - 0, 0, 0, 17, 0, 0, 0, 0, 0, 40, - 0, 0, 0, 6, 0, 0, 42, 0, 0, 0, - 33, 0, 0, 0, 36, 32, 0, 0, 0, 16, - - 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, - 0, 93, 0, 0, 0, 0, 0, 0, 88, 91, - 51, 0, 0, 0, 0, 0, 0, 60, 0, 0, - 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, - 55, 0, 0, 0, 45, 0, 0, 0, 0, 0, - 0, 0, 0, 90, 0, 0, 0, 53, 12, 0, - 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 0, 8, 0, 0, 0, 7, - 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, - 59, 86, 0, 0, 80, 0, 0, 0, 0, 74, - - 0, 0, 0, 0, 0, 89, 0, 0, 0, 0, + 0, 0, 0, 72, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 0, 58, 0, 64, 0, 0, - 0, 52, 0, 0, 68, 0, 0, 30, 43, 0, - 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, - 0, 0, 13, 28, 0, 21, 0, 0, 0, 0, - 79, 0, 66, 49, 62, 46, 0, 0, 97, 0, - 69, 0, 0, 0, 0, 0, 47, 0, 0, 0, - 0, 0, 0, 48, 101, 0, 0, 56, 0, 54, - 0, 0, 85, 0, 0, 1, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 5, 15, 0, 0, 0, - 37, 0, 20, 0, 95, 0, 0, 92, 0, 0, - 0, 78, 0, 0, 0, 0, 57, 73, 71, 0, - 0, 0, 84, 0, 0, 0, 0, 39, 0, 0, - 31, 11, 9, 19, 0, 0, 0, 0, 0, 0, - 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 0, 0, 77, 0, 96, 70, 14, 0, 41, - 0, 0, 0, 0, 0, 0, 0, 75, 98, 61, - 0, 100, 44, 81, 82, 0, 0, 0, 18, 0, - 0, 0, 0, 0, 0, 0, 63, 0, 99, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, - 35, 0, 0, 0, 0, 0, 76, 103, 0, 0, - 0, 24, 0, 0, 0, 22, 0, 0, 23, 29, - 38, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 109, 0, 0, 0, 0, 0, 17, + 0, 0, 0, 0, 0, 40, 0, 0, 0, 6, + 0, 0, 42, 0, 0, 0, 33, 0, 0, 0, + + 36, 32, 0, 0, 0, 16, 0, 0, 104, 0, + 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, + 0, 0, 0, 0, 88, 91, 51, 0, 0, 0, + 0, 0, 0, 60, 0, 0, 0, 0, 0, 94, + 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, + 45, 0, 0, 0, 0, 0, 0, 0, 0, 90, + 0, 0, 0, 53, 12, 0, 0, 0, 0, 0, + 25, 0, 0, 0, 0, 0, 0, 10, 0, 0, + 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, + 0, 0, 0, 27, 0, 0, 0, 59, 86, 0, + + 0, 80, 0, 0, 0, 0, 74, 0, 0, 0, + 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, + 0, 0, 58, 0, 64, 0, 0, 0, 52, 0, + 0, 68, 0, 0, 30, 43, 0, 0, 0, 0, + 0, 0, 0, 26, 0, 0, 0, 0, 0, 13, + 28, 0, 21, 0, 0, 0, 0, 79, 0, 66, + 49, 62, 46, 0, 0, 97, 0, 69, 0, 0, + 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, + 48, 101, 0, 0, 56, 0, 54, 0, 0, 85, + + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 5, 15, 0, 0, 0, 37, 0, 20, + 0, 95, 0, 0, 92, 0, 0, 0, 78, 0, + 0, 0, 0, 57, 73, 71, 0, 0, 0, 84, + 0, 0, 0, 0, 39, 0, 0, 31, 11, 9, + 19, 0, 0, 0, 0, 0, 0, 0, 102, 0, + 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, + 77, 0, 96, 70, 14, 0, 41, 0, 0, 0, + 0, 0, 0, 0, 75, 98, 61, 0, 100, 44, + 81, 82, 0, 0, 0, 18, 0, 0, 0, 0, + + 0, 0, 0, 63, 0, 99, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 34, 35, 0, 0, + 0, 0, 0, 76, 103, 0, 0, 0, 24, 0, + 0, 0, 22, 0, 0, 23, 29, 38, 0 } ; static yyconst int yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, + 1, 1, 4, 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, 4, 1, 5, 6, 1, 7, 1, 8, 1, - 1, 1, 9, 1, 10, 11, 1, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 13, 1, 1, - 1, 1, 1, 1, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 1, 30, 31, 32, 33, 34, 35, 1, 36, 37, - 38, 39, 40, 1, 41, 1, 42, 43, 44, 45, - - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 1, 58, 59, 60, 61, 62, 63, 1, - 1, 1, 11, 11, 11, 1, 1, 1, 1, 1, + 1, 5, 1, 6, 7, 1, 8, 1, 9, 1, + 1, 1, 10, 1, 11, 12, 1, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 14, 1, 1, + 1, 1, 1, 1, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 1, 31, 32, 33, 34, 35, 36, 1, 37, 38, + 39, 40, 41, 1, 42, 1, 43, 44, 45, 46, + + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 1, 59, 60, 61, 62, 63, 64, 1, + 1, 1, 12, 12, 12, 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, @@ -316,263 +316,267 @@ static yyconst int yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst int yy_meta[64] = +static yyconst int yy_meta[65] = { 0, - 1, 2, 3, 2, 1, 2, 1, 1, 2, 2, - 2, 2, 1, 2, 2, 2, 1, 1, 2, 1, - 2, 2, 1, 2, 2, 1, 1, 1, 2, 1, - 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, + 1, 2, 3, 2, 2, 1, 2, 1, 1, 2, + 2, 2, 2, 1, 2, 2, 2, 1, 1, 2, + 1, 2, 2, 1, 2, 2, 1, 1, 1, 2, + 1, 2, 2, 1, 1, 2, 1, 1, 1, 2, 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 } ; -static yyconst short int yy_base[638] = +static yyconst short int yy_base[645] = { 0, - 0, 58, 82, 61, 781, 782, 64, 782, 775, 740, - 766, 765, 782, 751, 745, 44, 41, 747, 45, 61, - 746, 60, 62, 67, 757, 743, 91, 90, 90, 756, - 71, 71, 75, 86, 21, 60, 68, 84, 95, 102, - 92, 103, 103, 111, 108, 69, 97, 723, 765, 141, - 782, 163, 160, 168, 170, 172, 174, 181, 740, 183, - 176, 187, 185, 190, 196, 192, 224, 213, 761, 782, - 757, 756, 751, 730, 747, 746, 180, 731, 744, 737, - 742, 722, 726, 728, 730, 734, 716, 712, 717, 720, - 720, 192, 722, 201, 717, 723, 714, 714, 726, 724, - - 713, 723, 711, 212, 184, 182, 692, 681, 691, 686, - 671, 674, 671, 673, 685, 670, 126, 667, 661, 664, - 663, 673, 667, 666, 167, 659, 654, 190, 656, 671, - 204, 656, 658, 651, 212, 660, 664, 667, 666, 652, - 658, 650, 206, 643, 646, 641, 197, 782, 642, 697, - 782, 232, 782, 271, 274, 276, 278, 280, 248, 282, - 284, 287, 289, 295, 782, 0, 782, 691, 690, 683, - 669, 668, 662, 663, 662, 656, 660, 669, 661, 661, - 669, 653, 667, 665, 664, 650, 649, 661, 664, 636, - 658, 650, 642, 656, 650, 645, 646, 647, 638, 649, - - 637, 640, 267, 616, 621, 606, 615, 608, 600, 598, - 605, 601, 595, 598, 594, 599, 591, 591, 594, 588, - 587, 588, 586, 591, 596, 597, 581, 782, 580, 581, - 782, 586, 591, 580, 592, 582, 574, 572, 578, 574, - 575, 249, 568, 581, 580, 570, 580, 579, 577, 572, - 576, 561, 568, 557, 782, 570, 554, 564, 563, 552, - 608, 297, 302, 584, 306, 310, 313, 782, 579, 592, - 591, 592, 583, 782, 589, 589, 571, 569, 582, 782, - 558, 580, 572, 561, 581, 562, 782, 564, 289, 576, - 782, 577, 562, 561, 782, 782, 558, 559, 557, 782, - - 563, 313, 782, 529, 525, 524, 535, 534, 520, 522, - 531, 782, 530, 516, 528, 523, 530, 525, 782, 782, - 782, 528, 523, 522, 557, 519, 515, 782, 518, 517, - 520, 506, 509, 782, 499, 500, 507, 500, 513, 498, - 782, 504, 499, 507, 782, 504, 503, 492, 487, 486, - 485, 489, 494, 782, 484, 488, 480, 782, 782, 319, - 525, 321, 325, 782, 517, 519, 514, 518, 504, 499, - 782, 518, 499, 504, 499, 782, 514, 507, 508, 782, - 503, 510, 491, 497, 495, 493, 782, 491, 490, 498, - 782, 782, 470, 458, 782, 468, 459, 457, 453, 782, - - 465, 461, 458, 462, 444, 782, 460, 272, 451, 450, - 454, 456, 440, 440, 452, 451, 454, 447, 436, 436, - 450, 782, 445, 430, 442, 782, 434, 782, 426, 427, - 439, 782, 425, 430, 782, 453, 331, 782, 782, 454, - 452, 457, 456, 455, 446, 461, 782, 449, 455, 442, - 451, 439, 782, 782, 428, 782, 442, 437, 430, 423, - 782, 419, 782, 782, 782, 782, 408, 407, 782, 415, - 782, 414, 409, 402, 411, 406, 782, 394, 394, 409, - 394, 398, 395, 782, 782, 396, 391, 782, 386, 782, - 392, 395, 782, 398, 397, 782, 333, 424, 411, 423, - - 412, 411, 401, 407, 411, 782, 782, 414, 402, 315, - 782, 400, 782, 378, 782, 384, 383, 782, 381, 379, - 370, 782, 369, 366, 377, 362, 782, 782, 782, 371, - 364, 366, 782, 370, 372, 371, 385, 782, 394, 393, - 782, 782, 782, 782, 398, 376, 382, 381, 393, 382, - 365, 782, 360, 359, 343, 353, 343, 345, 353, 340, - 782, 349, 338, 782, 346, 782, 782, 782, 376, 782, - 378, 378, 361, 363, 366, 374, 357, 782, 782, 782, - 326, 782, 782, 782, 782, 330, 324, 323, 782, 357, - 343, 337, 335, 347, 348, 345, 782, 316, 782, 315, - - 342, 334, 336, 325, 340, 337, 334, 307, 303, 782, - 782, 329, 327, 310, 309, 317, 782, 782, 309, 289, - 271, 782, 219, 191, 169, 782, 89, 68, 782, 782, - 782, 782, 369, 372, 374, 376, 379 + 0, 58, 83, 62, 796, 797, 65, 797, 792, 788, + 753, 779, 778, 797, 764, 758, 44, 43, 760, 42, + 62, 759, 60, 63, 68, 770, 756, 92, 91, 91, + 769, 71, 72, 76, 87, 55, 84, 77, 61, 96, + 103, 95, 104, 103, 108, 111, 99, 107, 736, 779, + 151, 797, 778, 169, 173, 179, 182, 185, 194, 197, + 752, 180, 185, 193, 181, 194, 202, 214, 241, 75, + 797, 773, 797, 769, 768, 763, 742, 759, 758, 136, + 743, 756, 749, 754, 734, 738, 740, 742, 746, 728, + 724, 729, 732, 732, 151, 734, 162, 729, 735, 726, + + 726, 738, 736, 725, 735, 723, 225, 224, 143, 704, + 693, 703, 698, 683, 686, 683, 685, 697, 682, 162, + 679, 673, 676, 675, 685, 679, 678, 180, 671, 666, + 172, 668, 683, 192, 668, 670, 663, 229, 672, 676, + 679, 678, 664, 670, 662, 203, 655, 658, 653, 235, + 797, 654, 710, 797, 212, 797, 797, 709, 274, 264, + 265, 269, 277, 247, 282, 283, 285, 293, 294, 797, + 708, 0, 797, 701, 700, 693, 679, 678, 672, 673, + 672, 666, 670, 679, 671, 671, 679, 663, 677, 675, + 674, 660, 659, 671, 674, 646, 668, 660, 652, 666, + + 660, 655, 656, 657, 648, 659, 647, 650, 254, 626, + 631, 616, 625, 618, 610, 608, 615, 611, 605, 608, + 604, 609, 601, 601, 604, 598, 597, 598, 596, 601, + 606, 607, 591, 797, 590, 591, 797, 596, 601, 590, + 602, 592, 584, 582, 588, 584, 585, 272, 578, 591, + 590, 580, 590, 589, 587, 582, 586, 571, 578, 567, + 797, 580, 564, 574, 573, 562, 266, 303, 299, 595, + 308, 311, 309, 797, 590, 603, 602, 603, 594, 797, + 600, 600, 582, 580, 593, 797, 569, 591, 583, 572, + 592, 573, 797, 575, 306, 587, 797, 588, 573, 572, + + 797, 797, 569, 570, 568, 797, 574, 304, 797, 540, + 536, 535, 546, 545, 531, 533, 542, 797, 541, 527, + 539, 534, 541, 536, 797, 797, 797, 539, 534, 533, + 568, 530, 526, 797, 529, 528, 531, 517, 520, 797, + 510, 511, 518, 511, 524, 509, 797, 515, 510, 518, + 797, 515, 514, 503, 498, 497, 496, 500, 505, 797, + 495, 499, 491, 797, 797, 548, 317, 535, 320, 321, + 797, 527, 529, 524, 528, 514, 509, 797, 528, 509, + 514, 509, 797, 524, 517, 518, 797, 513, 520, 501, + 507, 505, 503, 797, 501, 500, 508, 797, 797, 480, + + 468, 797, 478, 469, 467, 463, 797, 475, 471, 468, + 472, 454, 797, 470, 293, 461, 460, 464, 466, 450, + 450, 462, 461, 464, 457, 446, 446, 460, 797, 455, + 440, 452, 797, 444, 797, 436, 437, 449, 797, 435, + 440, 797, 463, 333, 797, 797, 464, 462, 467, 466, + 465, 456, 471, 797, 459, 465, 452, 461, 449, 797, + 797, 438, 797, 452, 447, 440, 433, 797, 429, 797, + 797, 797, 797, 418, 417, 797, 425, 797, 424, 419, + 412, 421, 416, 797, 404, 404, 419, 404, 408, 405, + 797, 797, 406, 401, 797, 396, 797, 402, 405, 797, + + 408, 407, 797, 332, 434, 421, 433, 422, 421, 411, + 417, 421, 797, 797, 424, 412, 341, 797, 410, 797, + 388, 797, 394, 393, 797, 391, 389, 380, 797, 379, + 376, 387, 372, 797, 797, 797, 381, 374, 376, 797, + 380, 382, 381, 395, 797, 404, 403, 797, 797, 797, + 797, 408, 386, 392, 391, 403, 392, 375, 797, 370, + 369, 353, 363, 353, 355, 363, 350, 797, 359, 348, + 797, 356, 797, 797, 797, 386, 797, 388, 388, 371, + 373, 376, 384, 367, 797, 797, 797, 336, 797, 797, + 797, 797, 340, 334, 333, 797, 367, 366, 360, 358, + + 370, 371, 368, 797, 339, 797, 338, 365, 341, 343, + 332, 347, 344, 339, 313, 311, 797, 797, 338, 322, + 293, 278, 277, 797, 797, 253, 224, 209, 797, 161, + 138, 123, 797, 101, 69, 797, 797, 797, 797, 371, + 374, 376, 378, 381 } ; -static yyconst short int yy_def[638] = +static yyconst short int yy_def[645] = { 0, - 632, 1, 1, 3, 632, 632, 632, 632, 633, 634, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 635, 632, - 632, 636, 636, 636, 636, 636, 636, 636, 632, 636, - 636, 636, 636, 636, 636, 636, 635, 632, 633, 632, - 632, 637, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 635, - 632, 632, 632, 636, 636, 636, 636, 636, 632, 636, - 636, 636, 636, 636, 632, 67, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 636, 636, 632, 636, 636, 636, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 636, - 632, 636, 636, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 636, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 636, 632, 632, 632, - - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 0, 632, 632, 632, 632, 632 + 639, 1, 1, 3, 639, 639, 639, 639, 639, 640, + 641, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 642, + 639, 639, 639, 643, 643, 643, 643, 643, 643, 643, + 639, 60, 60, 60, 60, 60, 60, 60, 642, 639, + 639, 640, 639, 639, 644, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 642, 639, 639, 639, 639, 639, 60, 60, + 60, 60, 60, 639, 60, 60, 60, 60, 60, 639, + 642, 69, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 60, 60, 639, + 60, 60, 60, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 60, 639, 60, 60, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 60, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + + 639, 639, 639, 60, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 0, 639, + 639, 639, 639, 639 } ; -static yyconst short int yy_nxt[846] = +static yyconst short int yy_nxt[862] = { 0, - 6, 7, 8, 7, 9, 6, 6, 10, 11, 11, - 6, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 6, 21, 6, 6, 22, 23, 24, 25, 26, 27, - 28, 29, 6, 6, 30, 6, 6, 31, 6, 6, - 6, 32, 33, 34, 35, 36, 37, 6, 38, 6, - 6, 6, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 6, 48, 49, 76, 68, 67, 68, 78, 81, - 79, 77, 82, 86, 104, 88, 119, 87, 83, 89, - 91, 120, 105, 50, 51, 52, 50, 53, 84, 90, - 54, 54, 53, 55, 92, 56, 57, 58, 631, 59, - - 60, 121, 53, 61, 95, 53, 62, 101, 96, 123, - 63, 98, 64, 65, 122, 630, 66, 124, 97, 102, - 53, 99, 100, 106, 145, 125, 146, 110, 107, 108, - 111, 114, 112, 109, 115, 113, 127, 134, 116, 126, - 128, 117, 131, 132, 129, 136, 118, 135, 138, 142, - 130, 147, 140, 148, 152, 139, 143, 133, 89, 137, - 141, 632, 153, 144, 68, 153, 154, 216, 90, 632, - 153, 632, 153, 632, 153, 632, 153, 632, 153, 156, - 217, 156, 632, 153, 632, 153, 632, 153, 632, 153, - 203, 632, 153, 632, 153, 105, 157, 632, 153, 629, - - 161, 158, 85, 75, 87, 164, 173, 160, 77, 174, - 82, 162, 94, 101, 68, 104, 68, 189, 190, 225, - 628, 163, 100, 105, 226, 102, 165, 166, 192, 166, - 193, 204, 166, 166, 166, 166, 229, 166, 166, 166, - 257, 205, 166, 258, 166, 166, 627, 166, 166, 259, - 233, 230, 166, 239, 166, 166, 240, 234, 166, 235, - 261, 252, 166, 253, 264, 241, 242, 177, 185, 243, - 302, 244, 68, 153, 154, 632, 153, 632, 153, 632, - 153, 632, 153, 632, 153, 632, 153, 156, 632, 153, - 632, 153, 340, 263, 341, 265, 632, 153, 632, 153, - - 183, 626, 266, 632, 153, 381, 303, 632, 153, 262, - 360, 632, 153, 197, 632, 153, 302, 382, 625, 267, - 632, 153, 632, 153, 472, 277, 632, 153, 271, 473, - 547, 362, 632, 153, 632, 153, 624, 363, 623, 622, - 548, 621, 549, 550, 620, 619, 437, 618, 364, 497, - 387, 617, 303, 616, 615, 614, 613, 612, 611, 610, - 609, 608, 607, 606, 605, 604, 603, 602, 513, 69, - 69, 69, 71, 71, 150, 150, 150, 155, 155, 168, - 168, 601, 600, 599, 598, 597, 596, 595, 594, 593, - 592, 591, 590, 589, 588, 587, 586, 585, 584, 583, - - 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, - 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, - 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, - 552, 551, 546, 545, 544, 543, 542, 541, 540, 539, - 538, 537, 536, 535, 534, 533, 532, 531, 530, 529, - 528, 527, 526, 525, 524, 523, 522, 521, 520, 519, - 518, 517, 516, 515, 514, 513, 512, 511, 510, 509, - 508, 507, 506, 505, 504, 503, 502, 501, 500, 499, - 498, 496, 495, 494, 493, 492, 491, 490, 489, 488, - 487, 486, 485, 484, 483, 482, 481, 480, 479, 478, - - 477, 476, 475, 474, 471, 470, 469, 468, 467, 466, - 465, 464, 463, 462, 461, 460, 459, 458, 457, 456, - 455, 454, 453, 452, 451, 450, 449, 448, 447, 446, - 445, 444, 443, 442, 441, 440, 439, 438, 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, 397, 396, 395, - 394, 393, 392, 391, 390, 389, 388, 387, 386, 385, - 384, 383, 380, 379, 378, 377, 376, 375, 374, 373, - - 372, 371, 370, 369, 368, 367, 366, 365, 364, 361, - 359, 358, 357, 356, 355, 354, 353, 352, 351, 350, - 349, 348, 347, 346, 345, 344, 343, 342, 339, 338, - 337, 336, 335, 334, 333, 332, 331, 330, 329, 328, - 327, 326, 325, 324, 323, 322, 321, 320, 319, 318, - 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, - 307, 306, 305, 304, 301, 300, 299, 298, 297, 296, - 295, 294, 293, 292, 291, 290, 289, 288, 287, 286, - 285, 284, 283, 282, 281, 280, 279, 278, 277, 276, - 275, 274, 273, 272, 271, 270, 269, 268, 268, 151, - - 260, 256, 255, 254, 251, 250, 249, 248, 247, 246, - 245, 238, 237, 236, 232, 231, 228, 227, 224, 223, - 222, 221, 220, 219, 218, 215, 214, 213, 212, 211, - 210, 209, 208, 207, 206, 202, 201, 200, 199, 198, - 197, 196, 195, 194, 191, 188, 187, 186, 185, 184, - 183, 182, 181, 180, 179, 178, 177, 176, 175, 172, - 171, 170, 73, 169, 167, 70, 159, 151, 149, 103, - 94, 93, 85, 80, 75, 74, 73, 73, 72, 70, - 632, 5, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632 + 6, 7, 8, 9, 7, 10, 6, 6, 11, 12, + 12, 6, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 6, 22, 6, 6, 23, 24, 25, 26, 27, + 28, 29, 30, 6, 6, 31, 6, 6, 32, 6, + 6, 6, 33, 34, 35, 36, 37, 38, 6, 39, + 6, 6, 6, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 6, 49, 50, 79, 70, 84, 69, 70, + 85, 81, 80, 82, 89, 107, 70, 91, 90, 70, + 86, 92, 94, 108, 51, 52, 53, 54, 51, 55, + 87, 93, 56, 56, 55, 57, 95, 58, 59, 60, + + 638, 61, 62, 128, 55, 63, 98, 55, 64, 104, + 99, 122, 65, 101, 66, 67, 123, 129, 68, 126, + 100, 105, 55, 102, 103, 109, 124, 127, 637, 113, + 110, 111, 114, 117, 115, 112, 118, 116, 130, 125, + 119, 137, 131, 120, 134, 135, 132, 139, 121, 141, + 143, 138, 133, 145, 636, 148, 142, 149, 144, 136, + 146, 140, 150, 179, 151, 155, 180, 147, 635, 92, + 70, 157, 158, 159, 639, 157, 158, 195, 196, 93, + 639, 157, 158, 639, 157, 158, 639, 157, 158, 634, + 198, 161, 199, 210, 161, 639, 157, 158, 639, 157, + + 158, 160, 160, 211, 222, 165, 160, 166, 85, 97, + 162, 90, 88, 639, 160, 160, 167, 223, 163, 235, + 104, 639, 639, 160, 78, 80, 168, 103, 169, 107, + 639, 209, 105, 231, 236, 160, 108, 108, 232, 239, + 633, 267, 639, 170, 171, 172, 240, 172, 241, 191, + 172, 172, 172, 172, 632, 172, 172, 172, 308, 258, + 172, 259, 172, 172, 270, 172, 172, 183, 365, 366, + 172, 245, 172, 172, 246, 70, 172, 161, 159, 263, + 172, 631, 264, 247, 248, 160, 160, 249, 265, 250, + 160, 269, 639, 639, 309, 160, 271, 639, 160, 630, + + 189, 268, 639, 160, 160, 639, 160, 272, 308, 629, + 639, 639, 203, 639, 160, 160, 346, 367, 347, 273, + 160, 639, 639, 388, 160, 628, 277, 639, 283, 160, + 160, 639, 160, 369, 370, 389, 639, 639, 160, 639, + 627, 160, 160, 444, 309, 639, 479, 371, 639, 639, + 394, 480, 504, 160, 160, 626, 625, 554, 624, 623, + 639, 639, 622, 621, 620, 619, 618, 555, 520, 556, + 557, 72, 72, 72, 74, 74, 153, 153, 153, 160, + 160, 174, 174, 617, 616, 615, 614, 613, 612, 611, + 610, 609, 608, 607, 606, 605, 604, 603, 602, 601, + + 600, 599, 598, 597, 596, 595, 594, 593, 592, 591, + 590, 589, 588, 587, 586, 585, 584, 583, 582, 581, + 580, 579, 578, 577, 576, 575, 574, 573, 572, 571, + 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, + 560, 559, 558, 553, 552, 551, 550, 549, 548, 547, + 546, 545, 544, 543, 542, 541, 540, 539, 538, 537, + 536, 535, 534, 533, 532, 531, 530, 529, 528, 527, + 526, 525, 524, 523, 522, 521, 520, 519, 518, 517, + 516, 515, 514, 513, 512, 511, 510, 509, 508, 507, + 506, 505, 503, 502, 501, 500, 499, 498, 497, 496, + + 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, + 485, 484, 483, 482, 481, 478, 477, 476, 475, 474, + 473, 472, 471, 470, 469, 468, 467, 466, 465, 464, + 463, 462, 461, 460, 459, 458, 457, 456, 455, 454, + 453, 452, 451, 450, 449, 448, 447, 446, 445, 443, + 365, 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, 397, 396, 395, 394, + + 393, 392, 391, 390, 387, 386, 385, 384, 383, 382, + 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, + 371, 368, 364, 363, 362, 361, 360, 359, 358, 357, + 356, 355, 354, 353, 352, 351, 350, 349, 348, 345, + 344, 343, 342, 341, 340, 339, 338, 337, 336, 335, + 334, 333, 332, 331, 330, 329, 328, 327, 326, 325, + 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, + 314, 313, 312, 311, 310, 307, 306, 305, 304, 303, + 302, 301, 300, 299, 298, 297, 296, 295, 294, 293, + 292, 291, 290, 289, 288, 287, 286, 285, 284, 283, + + 282, 281, 280, 279, 278, 277, 276, 275, 274, 274, + 170, 157, 154, 266, 262, 261, 260, 257, 256, 255, + 254, 253, 252, 251, 244, 243, 242, 238, 237, 234, + 233, 230, 229, 228, 227, 226, 225, 224, 221, 220, + 219, 218, 217, 216, 215, 214, 213, 212, 208, 207, + 206, 205, 204, 203, 202, 201, 200, 197, 194, 193, + 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, + 182, 181, 178, 177, 176, 76, 175, 173, 73, 164, + 156, 154, 152, 106, 97, 96, 88, 83, 78, 77, + 76, 76, 75, 73, 71, 639, 5, 639, 639, 639, + + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639 } ; -static yyconst short int yy_chk[846] = +static yyconst short int yy_chk[862] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -580,93 +584,95 @@ static yyconst short int yy_chk[846] = 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, 2, 16, 7, 4, 7, 17, 19, - 17, 16, 19, 22, 31, 23, 35, 22, 20, 23, - 24, 35, 31, 2, 3, 3, 4, 3, 20, 23, - 3, 3, 3, 3, 24, 3, 3, 3, 628, 3, - - 3, 36, 3, 3, 27, 3, 3, 29, 27, 37, - 3, 28, 3, 3, 36, 627, 3, 37, 27, 29, - 3, 28, 28, 32, 46, 38, 46, 33, 32, 32, - 33, 34, 33, 32, 34, 33, 39, 41, 34, 38, - 39, 34, 40, 40, 39, 42, 34, 41, 43, 45, - 39, 47, 44, 47, 50, 43, 45, 40, 50, 42, - 44, 53, 53, 45, 52, 52, 52, 117, 50, 54, - 54, 55, 55, 56, 56, 57, 57, 61, 61, 54, - 117, 55, 58, 58, 60, 60, 63, 63, 62, 62, - 105, 64, 64, 66, 66, 105, 56, 65, 65, 625, - - 62, 58, 61, 57, 62, 66, 77, 60, 58, 77, - 60, 64, 63, 65, 68, 104, 68, 92, 92, 125, - 624, 64, 64, 104, 125, 65, 67, 67, 94, 67, - 94, 106, 67, 67, 67, 67, 128, 67, 67, 67, - 147, 106, 67, 147, 67, 67, 623, 67, 67, 147, - 131, 128, 67, 135, 67, 67, 135, 131, 67, 131, - 152, 143, 67, 143, 159, 135, 135, 159, 152, 135, - 203, 135, 154, 154, 154, 155, 155, 156, 156, 157, - 157, 158, 158, 160, 160, 161, 161, 156, 162, 162, - 163, 163, 242, 158, 242, 160, 164, 164, 262, 262, - - 161, 621, 163, 263, 263, 289, 203, 265, 265, 157, - 262, 266, 266, 162, 267, 267, 302, 289, 620, 164, - 360, 360, 362, 362, 408, 265, 363, 363, 263, 408, - 510, 266, 437, 437, 497, 497, 619, 267, 616, 615, - 510, 614, 510, 510, 613, 612, 363, 609, 360, 437, - 362, 608, 302, 607, 606, 605, 604, 603, 602, 601, - 600, 598, 596, 595, 594, 593, 592, 591, 497, 633, - 633, 633, 634, 634, 635, 635, 635, 636, 636, 637, - 637, 590, 588, 587, 586, 581, 577, 576, 575, 574, - 573, 572, 571, 569, 565, 563, 562, 560, 559, 558, - - 557, 556, 555, 554, 553, 551, 550, 549, 548, 547, - 546, 545, 540, 539, 537, 536, 535, 534, 532, 531, - 530, 526, 525, 524, 523, 521, 520, 519, 517, 516, - 514, 512, 509, 508, 505, 504, 503, 502, 501, 500, - 499, 498, 495, 494, 492, 491, 489, 487, 486, 483, - 482, 481, 480, 479, 478, 476, 475, 474, 473, 472, - 470, 468, 467, 462, 460, 459, 458, 457, 455, 452, - 451, 450, 449, 448, 446, 445, 444, 443, 442, 441, - 440, 436, 434, 433, 431, 430, 429, 427, 425, 424, - 423, 421, 420, 419, 418, 417, 416, 415, 414, 413, - - 412, 411, 410, 409, 407, 405, 404, 403, 402, 401, - 399, 398, 397, 396, 394, 393, 390, 389, 388, 386, - 385, 384, 383, 382, 381, 379, 378, 377, 375, 374, - 373, 372, 370, 369, 368, 367, 366, 365, 361, 357, - 356, 355, 353, 352, 351, 350, 349, 348, 347, 346, - 344, 343, 342, 340, 339, 338, 337, 336, 335, 333, - 332, 331, 330, 329, 327, 326, 325, 324, 323, 322, - 318, 317, 316, 315, 314, 313, 311, 310, 309, 308, - 307, 306, 305, 304, 301, 299, 298, 297, 294, 293, - 292, 290, 288, 286, 285, 284, 283, 282, 281, 279, - - 278, 277, 276, 275, 273, 272, 271, 270, 269, 264, - 261, 260, 259, 258, 257, 256, 254, 253, 252, 251, - 250, 249, 248, 247, 246, 245, 244, 243, 241, 240, - 239, 238, 237, 236, 235, 234, 233, 232, 230, 229, - 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, - 217, 216, 215, 214, 213, 212, 211, 210, 209, 208, - 207, 206, 205, 204, 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, 170, 169, 168, 150, - - 149, 146, 145, 144, 142, 141, 140, 139, 138, 137, - 136, 134, 133, 132, 130, 129, 127, 126, 124, 123, - 122, 121, 120, 119, 118, 116, 115, 114, 113, 112, - 111, 110, 109, 108, 107, 103, 102, 101, 100, 99, - 98, 97, 96, 95, 93, 91, 90, 89, 88, 87, - 86, 85, 84, 83, 82, 81, 80, 79, 78, 76, - 75, 74, 73, 72, 71, 69, 59, 49, 48, 30, - 26, 25, 21, 18, 15, 14, 12, 11, 10, 9, - 5, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, - 632, 632, 632, 632, 632 + 1, 1, 1, 1, 2, 17, 7, 20, 4, 7, + 20, 18, 17, 18, 23, 32, 70, 24, 23, 70, + 21, 24, 25, 32, 2, 3, 3, 3, 4, 3, + 21, 24, 3, 3, 3, 3, 25, 3, 3, 3, + + 635, 3, 3, 39, 3, 3, 28, 3, 3, 30, + 28, 36, 3, 29, 3, 3, 36, 39, 3, 38, + 28, 30, 3, 29, 29, 33, 37, 38, 634, 34, + 33, 33, 34, 35, 34, 33, 35, 34, 40, 37, + 35, 42, 40, 35, 41, 41, 40, 43, 35, 44, + 45, 42, 40, 46, 632, 47, 44, 47, 45, 41, + 46, 43, 48, 80, 48, 51, 80, 46, 631, 51, + 54, 54, 54, 54, 55, 55, 55, 95, 95, 51, + 56, 56, 56, 57, 57, 57, 58, 58, 58, 630, + 97, 56, 97, 109, 57, 59, 59, 59, 60, 60, + + 60, 62, 65, 109, 120, 62, 63, 64, 62, 65, + 58, 64, 63, 63, 64, 66, 66, 120, 60, 131, + 67, 64, 66, 67, 59, 60, 66, 66, 68, 107, + 67, 108, 67, 128, 131, 68, 108, 107, 128, 134, + 628, 155, 68, 69, 69, 69, 134, 69, 134, 155, + 69, 69, 69, 69, 627, 69, 69, 69, 209, 146, + 69, 146, 69, 69, 164, 69, 69, 164, 267, 267, + 69, 138, 69, 69, 138, 159, 69, 161, 159, 150, + 69, 626, 150, 138, 138, 160, 161, 138, 150, 138, + 162, 163, 160, 161, 209, 159, 165, 162, 163, 623, + + 166, 162, 159, 165, 166, 163, 167, 168, 308, 622, + 165, 166, 167, 167, 168, 169, 248, 268, 248, 169, + 269, 168, 169, 295, 268, 621, 269, 269, 271, 271, + 273, 268, 272, 272, 273, 295, 271, 273, 367, 272, + 620, 369, 370, 370, 308, 367, 415, 367, 369, 370, + 369, 415, 444, 504, 444, 619, 616, 517, 615, 614, + 504, 444, 613, 612, 611, 610, 609, 517, 504, 517, + 517, 640, 640, 640, 641, 641, 642, 642, 642, 643, + 643, 644, 644, 608, 607, 605, 603, 602, 601, 600, + 599, 598, 597, 595, 594, 593, 588, 584, 583, 582, + + 581, 580, 579, 578, 576, 572, 570, 569, 567, 566, + 565, 564, 563, 562, 561, 560, 558, 557, 556, 555, + 554, 553, 552, 547, 546, 544, 543, 542, 541, 539, + 538, 537, 533, 532, 531, 530, 528, 527, 526, 524, + 523, 521, 519, 516, 515, 512, 511, 510, 509, 508, + 507, 506, 505, 502, 501, 499, 498, 496, 494, 493, + 490, 489, 488, 487, 486, 485, 483, 482, 481, 480, + 479, 477, 475, 474, 469, 467, 466, 465, 464, 462, + 459, 458, 457, 456, 455, 453, 452, 451, 450, 449, + 448, 447, 443, 441, 440, 438, 437, 436, 434, 432, + + 431, 430, 428, 427, 426, 425, 424, 423, 422, 421, + 420, 419, 418, 417, 416, 414, 412, 411, 410, 409, + 408, 406, 405, 404, 403, 401, 400, 397, 396, 395, + 393, 392, 391, 390, 389, 388, 386, 385, 384, 382, + 381, 380, 379, 377, 376, 375, 374, 373, 372, 368, + 366, 363, 362, 361, 359, 358, 357, 356, 355, 354, + 353, 352, 350, 349, 348, 346, 345, 344, 343, 342, + 341, 339, 338, 337, 336, 335, 333, 332, 331, 330, + 329, 328, 324, 323, 322, 321, 320, 319, 317, 316, + 315, 314, 313, 312, 311, 310, 307, 305, 304, 303, + + 300, 299, 298, 296, 294, 292, 291, 290, 289, 288, + 287, 285, 284, 283, 282, 281, 279, 278, 277, 276, + 275, 270, 266, 265, 264, 263, 262, 260, 259, 258, + 257, 256, 255, 254, 253, 252, 251, 250, 249, 247, + 246, 245, 244, 243, 242, 241, 240, 239, 238, 236, + 235, 233, 232, 231, 230, 229, 228, 227, 226, 225, + 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, + 214, 213, 212, 211, 210, 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, + 171, 158, 153, 152, 149, 148, 147, 145, 144, 143, + 142, 141, 140, 139, 137, 136, 135, 133, 132, 130, + 129, 127, 126, 125, 124, 123, 122, 121, 119, 118, + 117, 116, 115, 114, 113, 112, 111, 110, 106, 105, + 104, 103, 102, 101, 100, 99, 98, 96, 94, 93, + 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, + 82, 81, 79, 78, 77, 76, 75, 74, 72, 61, + 53, 50, 49, 31, 27, 26, 22, 19, 16, 15, + 13, 12, 11, 10, 9, 5, 639, 639, 639, 639, + + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639, 639, 639, 639, 639, 639, 639, 639, 639, 639, + 639 } ; static yy_state_type yy_last_accepting_state; @@ -680,7 +686,7 @@ static char *yy_last_accepting_cpos; #define YY_MORE_ADJ 0 char *yytext; #define INITIAL 0 -/* SCCS Id: @(#)lev_lex.c 3.4 2000/12/22 */ +/* SCCS Id: @(#)lev_lex.c 3.4 2002/03/27 */ /* Copyright (c) 1989 by Jean-Christophe Collet */ /* NetHack may be freely redistributed. See license for details. */ @@ -909,13 +915,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 >= 633 ) + if ( yy_current_state >= 640 ) 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] != 782 ); + while ( yy_base[yy_current_state] != 797 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -955,10 +961,14 @@ YY_RULE_SETUP case 2: YY_RULE_SETUP { + int len = yyleng; + /* convert \r\n to \n */ + if (len >= 2 && yytext[len - 2] == '\r') len -= 1; line_number++; - (void) strncpy(map + map_cnt, yytext, yyleng); - map_cnt += yyleng; - map[map_cnt] = 0; + (void) strncpy(map + map_cnt, yytext, len); + map_cnt += len; + map[map_cnt - 1] = '\n'; + map[map_cnt] = '\0'; } YY_BREAK case 3: @@ -1695,7 +1705,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 >= 633 ) + if ( yy_current_state >= 640 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1726,11 +1736,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 >= 633 ) + if ( yy_current_state >= 640 ) 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 == 632); + yy_is_jam = (yy_current_state == 639); return yy_is_jam ? 0 : yy_current_state; } diff --git a/util/dgn_comp.l b/util/dgn_comp.l index 429e8b876..110b51a52 100644 --- a/util/dgn_comp.l +++ b/util/dgn_comp.l @@ -1,5 +1,5 @@ %{ -/* SCCS Id: @(#)dgn_lex.c 3.4 1996/03/02 */ +/* SCCS Id: @(#)dgn_lex.c 3.4 2002/03/27 */ /* Copyright (c) 1989 by Jean-Christophe Collet */ /* Copyright (c) 1990 by M. Stephenson */ /* NetHack may be freely redistributed. See license for details. */ @@ -111,7 +111,7 @@ RNDCHLEVEL return(RNDCHLEVEL); Strcpy(yylval.str, yytext+1); /* Discard the first \" */ return(STRING); } ^#.*\n { line_number++; } -\n { line_number++; } +\r?\n { line_number++; } [ \t]+ ; /* skip trailing tabs & spaces */ . { return yytext[0]; } %% diff --git a/util/lev_comp.l b/util/lev_comp.l index c4e47a41c..1e7c3ae8c 100644 --- a/util/lev_comp.l +++ b/util/lev_comp.l @@ -1,5 +1,5 @@ %{ -/* SCCS Id: @(#)lev_lex.c 3.4 2000/12/22 */ +/* SCCS Id: @(#)lev_lex.c 3.4 2002/03/27 */ /* Copyright (c) 1989 by Jean-Christophe Collet */ /* NetHack may be freely redistributed. See license for details. */ @@ -88,11 +88,15 @@ static int map_cnt = 0; map_cnt = 0; return MAP_ID; } -[-|}{+ABCISHKPLWTF\\#. 0123456789]*\n { +[-|}{+ABCISHKPLWTF\\#. 0123456789]*\r?\n { + int len = yyleng; + /* convert \r\n to \n */ + if (len >= 2 && yytext[len - 2] == '\r') len -= 1; line_number++; - (void) strncpy(map + map_cnt, yytext, yyleng); - map_cnt += yyleng; - map[map_cnt] = 0; + (void) strncpy(map + map_cnt, yytext, len); + map_cnt += len; + map[map_cnt - 1] = '\n'; + map[map_cnt] = '\0'; } ^#.*\n { line_number++; } : { colon_line_number = line_number; return ':'; } @@ -103,7 +107,7 @@ LEVEL return LEVEL_ID; INIT_MAP return LEV_INIT_ID; FLAGS return FLAGS_ID; GEOMETRY return GEOMETRY_ID; -^MAP\n { BEGIN(MAPC); line_number++; } +^MAP\r?\n { BEGIN(MAPC); line_number++; } OBJECT return OBJECT_ID; CONTAINER return COBJECT_ID; MONSTER return MONSTER_ID; @@ -201,7 +205,7 @@ shortsighted { yylval.i=SHORTSIGHTED; return FLAG_TYPE; } yylval.map = (char *) alloc(strlen(yytext+1)+1); Strcpy(yylval.map, yytext+1); /* Discard the first \" */ return STRING; } -\n { line_number++; } +\r?\n { line_number++; } [ \t]+ ; '\\.' { yylval.i = yytext[2]; return CHAR; } '.' { yylval.i = yytext[1]; return CHAR; } diff --git a/util/lev_main.c b/util/lev_main.c index 1b9e780f6..0d11275b5 100644 --- a/util/lev_main.c +++ b/util/lev_main.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)lev_main.c 3.4 2000/08/01 */ +/* SCCS Id: @(#)lev_main.c 3.4 2002/03/27 */ /* Copyright (c) 1989 by Jean-Christophe Collet */ /* NetHack may be freely redistributed. See license for details. */ @@ -53,8 +53,6 @@ # define OMASK 0644 #endif -#define NEWLINE '\n' /* changes to 13 for MPW */ - #define ERR (-1) #define NewTab(type, size) (type **) alloc(sizeof(type *) * size) @@ -525,7 +523,7 @@ char *map; /* Second, find the max width of the map */ s1 = map; while (s1 && *s1) { - s2 = index(s1, NEWLINE); + s2 = index(s1, '\n'); if (s2) { len = (int) (s2 - s1); s1 = s2 + 1; @@ -539,7 +537,7 @@ char *map; /* Then parse it now */ while (map && *map) { tmpmap[max_hig] = (char *) alloc(max_len); - s1 = index(map, NEWLINE); + s1 = index(map, '\n'); if (s1) { len = (int) (s1 - map); s1++;