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

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