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.
This commit is contained in:
nethack.rankin
2002-03-28 01:37:39 +00:00
parent 63e0b1ec2d
commit e835e2f420
6 changed files with 529 additions and 515 deletions

View File

@@ -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

View File

@@ -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, 0, 3, 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, 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,
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,
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,
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,
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,
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
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,
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,
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, 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,
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,
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,
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,
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
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,
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,
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,
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,
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
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;
}

View File

@@ -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, 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,
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,
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, 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, 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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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
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,
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,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 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,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639, 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,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 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,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 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,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 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,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 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,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 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,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639, 639, 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,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
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,
632, 632, 632, 632, 632, 632, 632, 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, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632, 632, 632, 632, 632, 632,
632, 632, 632, 632, 632
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 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;
}

View File

@@ -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]; }
%%

View File

@@ -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;
}
<MAPC>[-|}{+ABCISHKPLWTF\\#. 0123456789]*\n {
<MAPC>[-|}{+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; }

View File

@@ -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++;