1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
|
diff -ru flex-2.5.31/flex.skl flex-2.5.31J/flex.skl
--- flex-2.5.31/flex.skl Mon Mar 31 18:51:38 2003
+++ flex-2.5.31J/flex.skl Sat Nov 13 14:00:09 2004
@@ -488,7 +488,7 @@
#ifndef YY_TYPEDEF_YY_SIZE_T
#define YY_TYPEDEF_YY_SIZE_T
-typedef unsigned int yy_size_t;
+typedef size_t yy_size_t;
#endif
#ifndef YY_STRUCT_YY_BUFFER_STATE
@@ -515,7 +515,7 @@
/* Number of characters read into yy_ch_buf, not including EOB
* characters.
*/
- int yy_n_chars;
+ size_t yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it,
* and can realloc() it to grow it, and should free() it to
@@ -604,7 +604,7 @@
%not-for-header
/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;
-static int yy_n_chars; /* number of characters read into yy_ch_buf */
+static size_t yy_n_chars; /* number of characters read into yy_ch_buf */
int yyleng;
/* Points to current character in buffer. */
@@ -641,7 +641,7 @@
YY_BUFFER_STATE yy_scan_buffer M4_YY_PARAMS( char *base, yy_size_t size M4_YY_PROTO_LAST_ARG );
YY_BUFFER_STATE yy_scan_string M4_YY_PARAMS( yyconst char *yy_str M4_YY_PROTO_LAST_ARG );
-YY_BUFFER_STATE yy_scan_bytes M4_YY_PARAMS( yyconst char *bytes, int len M4_YY_PROTO_LAST_ARG );
+YY_BUFFER_STATE yy_scan_bytes M4_YY_PARAMS( yyconst char *bytes, size_t len M4_YY_PROTO_LAST_ARG );
%endif
@@ -758,7 +758,7 @@
size_t yy_buffer_stack_max; /**< capacity of stack. */
YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
char yy_hold_char;
- int yy_n_chars;
+ size_t yy_n_chars;
int yyleng_r;
char *yy_c_buf_p;
int yy_init;
@@ -938,7 +938,7 @@
%not-for-header
m4_ifdef( [[M4_YY_NO_UNPUT]],,
[[
- static void yyunput M4_YY_PARAMS( int c, char *buf_ptr M4_YY_PROTO_LAST_ARG);
+ void yyunput M4_YY_PARAMS( int c, char *buf_ptr M4_YY_PROTO_LAST_ARG);
]])
%ok-for-header
%endif
@@ -1248,7 +1248,7 @@
yy_load_buffer_state( M4_YY_CALL_ONLY_ARG );
}
- while ( 1 ) /* loops until end-of-file is reached */
+ for ( ;; ) /* loops until end-of-file is reached */
{
%% [8.0] yymore()-related code goes here
yy_cp = YY_G(yy_c_buf_p);
@@ -1580,7 +1580,7 @@
if ( b->yy_is_our_buffer )
{
- int new_size = b->yy_buf_size * 2;
+ size_t new_size = b->yy_buf_size * 2;
if ( new_size <= 0 )
b->yy_buf_size += b->yy_buf_size / 8;
@@ -1694,7 +1694,7 @@
%if-c-only
m4_ifdef( [[M4_YY_NO_UNPUT]],,
[[
- static void yyunput YYFARGS2( int,c, register char *,yy_bp)
+ void yyunput YYFARGS2( int,c, register char *,yy_bp)
%endif
%if-c++-only
void yyFlexLexer::yyunput( int c, register char* yy_bp)
@@ -1711,7 +1711,7 @@
if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
{ /* need to shift things up to make room */
/* +2 for EOB chars. */
- register int number_to_move = YY_G(yy_n_chars) + 2;
+ register size_t number_to_move = YY_G(yy_n_chars) + 2;
register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
register char *source =
@@ -1777,7 +1777,7 @@
else
{ /* need more input */
- int offset = YY_G(yy_c_buf_p) - YY_G(yytext_ptr);
+ long offset = YY_G(yy_c_buf_p) - YY_G(yytext_ptr);
++YY_G(yy_c_buf_p);
switch ( yy_get_next_buffer( M4_YY_CALL_ONLY_ARG ) )
@@ -2156,7 +2156,7 @@
void yyFlexLexer::yyensure_buffer_stack(void)
%endif
{
- int num_to_alloc;
+ size_t num_to_alloc;
M4_YY_DECL_GUTS_VAR();
if (!YY_G(yy_buffer_stack)) {
@@ -2271,12 +2271,12 @@
* M4_YY_DOC_PARAM
* @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE yy_scan_bytes YYFARGS2( yyconst char *,bytes, int ,len)
+YY_BUFFER_STATE yy_scan_bytes YYFARGS2( yyconst char *,bytes, size_t ,len)
{
YY_BUFFER_STATE b;
char *buf;
yy_size_t n;
- int i;
+ size_t i;
m4_dnl M4_YY_DECL_GUTS_VAR();
/* Get memory for full buffer, including space for trailing EOB's. */
diff -ru flex-2.5.31/gen.c flex-2.5.31J/gen.c
--- flex-2.5.31/gen.c Sun Mar 30 12:58:44 2003
+++ flex-2.5.31J/gen.c Sat Nov 13 14:00:09 2004
@@ -55,6 +55,14 @@
* 0 elements of its arrays, too.)
*/
+static const char *get_yy_char_decl (void)
+{
+ return (gentables)
+ ? "static yyconst YY_CHAR %s[%d] =\n { 0,\n"
+ : "static yyconst YY_CHAR * %s = 0;\n";
+}
+
+
static const char *get_int16_decl (void)
{
return (gentables)
@@ -468,7 +476,7 @@
register int i, j;
int numrows;
- out_str_dec (get_int32_decl (), "yy_ec", csize);
+ out_str_dec (get_yy_char_decl (), "yy_ec", csize);
for (i = 1; i < csize; ++i) {
if (caseins && (i >= 'A') && (i <= 'Z'))
@@ -870,11 +878,11 @@
if (worry_about_NULs && !nultrans) {
if (useecs)
(void) sprintf (char_map,
- "(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : %d)",
+ "(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : (YY_CHAR) %d)",
NUL_ec);
else
(void) sprintf (char_map,
- "(*yy_cp ? YY_SC_TO_UI(*yy_cp) : %d)",
+ "(*yy_cp ? YY_SC_TO_UI(*yy_cp) : (YY_CHAR) %d)",
NUL_ec);
}
@@ -1277,7 +1285,7 @@
fputs (_("\n\nMeta-Equivalence Classes:\n"),
stderr);
- out_str_dec (get_int32_decl (), "yy_meta", numecs + 1);
+ out_str_dec (get_yy_char_decl (), "yy_meta", numecs + 1);
buf_prints (&yydmap_buf,
"\t{YYTD_ID_META, (void**)&yy_meta, sizeof(%s)},\n",
"flex_int32_t");
@@ -1522,11 +1530,11 @@
if (yymore_used && !yytext_is_array) {
indent_puts ("YY_G(yytext_ptr) -= YY_G(yy_more_len); \\");
indent_puts
- ("yyleng = (size_t) (yy_cp - YY_G(yytext_ptr)); \\");
+ ("yyleng = (int) (yy_cp - YY_G(yytext_ptr)); \\");
}
else
- indent_puts ("yyleng = (size_t) (yy_cp - yy_bp); \\");
+ indent_puts ("yyleng = (int) (yy_cp - yy_bp); \\");
/* Now also deal with copying yytext_ptr to yytext if needed. */
skelout (); /* %% [3.0] - break point in skel */
diff -ru flex-2.5.31/flexint.h flex-2.5.31J/flexint.h
--- flex-2.5.31/flexint.h Mon Dec 9 07:14:49 2002
+++ flex-2.5.31J/flexint.h Sat Nov 13 14:13:00 2004
@@ -5,7 +5,10 @@
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+#ifndef __STDC_VERSION__
+#define __STDC_VERSION__ 0
+#endif
+#if __STDC_VERSION__ >= 199901L
#include <inttypes.h>
typedef int8_t flex_int8_t;
typedef uint8_t flex_uint8_t;
|