~ubuntu-branches/ubuntu/intrepid/tcm/intrepid

« back to all changes in this revision

Viewing changes to src/sd/dv/cardconstraint.c

  • Committer: Bazaar Package Importer
  • Author(s): Otavio Salvador
  • Date: 2003-07-03 20:08:21 UTC
  • Revision ID: james.westby@ubuntu.com-20030703200821-se4xtqx25e5miczi
Tags: upstream-2.20
ImportĀ upstreamĀ versionĀ 2.20

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#define yy_create_buffer cardconstraint_create_buffer
 
2
#define yy_delete_buffer cardconstraint_delete_buffer
 
3
#define yy_scan_buffer cardconstraint_scan_buffer
 
4
#define yy_scan_string cardconstraint_scan_string
 
5
#define yy_scan_bytes cardconstraint_scan_bytes
 
6
#define yy_flex_debug cardconstraint_flex_debug
 
7
#define yy_init_buffer cardconstraint_init_buffer
 
8
#define yy_flush_buffer cardconstraint_flush_buffer
 
9
#define yy_load_buffer_state cardconstraint_load_buffer_state
 
10
#define yy_switch_to_buffer cardconstraint_switch_to_buffer
 
11
#define yyin cardconstraintin
 
12
#define yyleng cardconstraintleng
 
13
#define yylex cardconstraintlex
 
14
#define yyout cardconstraintout
 
15
#define yyrestart cardconstraintrestart
 
16
#define yytext cardconstrainttext
 
17
#define yywrap cardconstraintwrap
 
18
 
 
19
#line 20 "cardconstraint.c"
 
20
/* A lexical scanner generated by flex */
 
21
 
 
22
/* Scanner skeleton version:
 
23
 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
 
24
 */
 
25
 
 
26
#define FLEX_SCANNER
 
27
#define YY_FLEX_MAJOR_VERSION 2
 
28
#define YY_FLEX_MINOR_VERSION 5
 
29
 
 
30
#include <stdio.h>
 
31
#include <unistd.h>
 
32
 
 
33
 
 
34
/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
 
35
#ifdef c_plusplus
 
36
#ifndef __cplusplus
 
37
#define __cplusplus
 
38
#endif
 
39
#endif
 
40
 
 
41
 
 
42
#ifdef __cplusplus
 
43
 
 
44
#include <stdlib.h>
 
45
 
 
46
/* Use prototypes in function declarations. */
 
47
#define YY_USE_PROTOS
 
48
 
 
49
/* The "const" storage-class-modifier is valid. */
 
50
#define YY_USE_CONST
 
51
 
 
52
#else   /* ! __cplusplus */
 
53
 
 
54
#if __STDC__
 
55
 
 
56
#define YY_USE_PROTOS
 
57
#define YY_USE_CONST
 
58
 
 
59
#endif  /* __STDC__ */
 
60
#endif  /* ! __cplusplus */
 
61
 
 
62
#ifdef __TURBOC__
 
63
 #pragma warn -rch
 
64
 #pragma warn -use
 
65
#include <io.h>
 
66
#include <stdlib.h>
 
67
#define YY_USE_CONST
 
68
#define YY_USE_PROTOS
 
69
#endif
 
70
 
 
71
#ifdef YY_USE_CONST
 
72
#define yyconst const
 
73
#else
 
74
#define yyconst
 
75
#endif
 
76
 
 
77
 
 
78
#ifdef YY_USE_PROTOS
 
79
#define YY_PROTO(proto) proto
 
80
#else
 
81
#define YY_PROTO(proto) ()
 
82
#endif
 
83
 
 
84
/* Returned upon end-of-file. */
 
85
#define YY_NULL 0
 
86
 
 
87
/* Promotes a possibly negative, possibly signed char to an unsigned
 
88
 * integer for use as an array index.  If the signed char is negative,
 
89
 * we want to instead treat it as an 8-bit unsigned char, hence the
 
90
 * double cast.
 
91
 */
 
92
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
 
93
 
 
94
/* Enter a start condition.  This macro really ought to take a parameter,
 
95
 * but we do it the disgusting crufty way forced on us by the ()-less
 
96
 * definition of BEGIN.
 
97
 */
 
98
#define BEGIN yy_start = 1 + 2 *
 
99
 
 
100
/* Translate the current start state into a value that can be later handed
 
101
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
 
102
 * compatibility.
 
103
 */
 
104
#define YY_START ((yy_start - 1) / 2)
 
105
#define YYSTATE YY_START
 
106
 
 
107
/* Action number for EOF rule of a given start state. */
 
108
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
 
109
 
 
110
/* Special action meaning "start processing a new file". */
 
111
#define YY_NEW_FILE yyrestart( yyin )
 
112
 
 
113
#define YY_END_OF_BUFFER_CHAR 0
 
114
 
 
115
/* Size of default input buffer. */
 
116
#define YY_BUF_SIZE 16384
 
117
 
 
118
typedef struct yy_buffer_state *YY_BUFFER_STATE;
 
119
 
 
120
extern int yyleng;
 
121
extern FILE *yyin, *yyout;
 
122
 
 
123
#define EOB_ACT_CONTINUE_SCAN 0
 
124
#define EOB_ACT_END_OF_FILE 1
 
125
#define EOB_ACT_LAST_MATCH 2
 
126
 
 
127
/* The funky do-while in the following #define is used to turn the definition
 
128
 * int a single C statement (which needs a semi-colon terminator).  This
 
129
 * avoids problems with code like:
 
130
 *
 
131
 *      if ( condition_holds )
 
132
 *              yyless( 5 );
 
133
 *      else
 
134
 *              do_something_else();
 
135
 *
 
136
 * Prior to using the do-while the compiler would get upset at the
 
137
 * "else" because it interpreted the "if" statement as being all
 
138
 * done when it reached the ';' after the yyless() call.
 
139
 */
 
140
 
 
141
/* Return all but the first 'n' matched characters back to the input stream. */
 
142
 
 
143
#define yyless(n) \
 
144
        do \
 
145
                { \
 
146
                /* Undo effects of setting up yytext. */ \
 
147
                *yy_cp = yy_hold_char; \
 
148
                YY_RESTORE_YY_MORE_OFFSET \
 
149
                yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
 
150
                YY_DO_BEFORE_ACTION; /* set up yytext again */ \
 
151
                } \
 
152
        while ( 0 )
 
153
 
 
154
#define unput(c) yyunput( c, yytext_ptr )
 
155
 
 
156
/* The following is because we cannot portably get our hands on size_t
 
157
 * (without autoconf's help, which isn't available because we want
 
158
 * flex-generated scanners to compile on their own).
 
159
 */
 
160
typedef unsigned int yy_size_t;
 
161
 
 
162
 
 
163
struct yy_buffer_state
 
164
        {
 
165
        FILE *yy_input_file;
 
166
 
 
167
        char *yy_ch_buf;                /* input buffer */
 
168
        char *yy_buf_pos;               /* current position in input buffer */
 
169
 
 
170
        /* Size of input buffer in bytes, not including room for EOB
 
171
         * characters.
 
172
         */
 
173
        yy_size_t yy_buf_size;
 
174
 
 
175
        /* Number of characters read into yy_ch_buf, not including EOB
 
176
         * characters.
 
177
         */
 
178
        int yy_n_chars;
 
179
 
 
180
        /* Whether we "own" the buffer - i.e., we know we created it,
 
181
         * and can realloc() it to grow it, and should free() it to
 
182
         * delete it.
 
183
         */
 
184
        int yy_is_our_buffer;
 
185
 
 
186
        /* Whether this is an "interactive" input source; if so, and
 
187
         * if we're using stdio for input, then we want to use getc()
 
188
         * instead of fread(), to make sure we stop fetching input after
 
189
         * each newline.
 
190
         */
 
191
        int yy_is_interactive;
 
192
 
 
193
        /* Whether we're considered to be at the beginning of a line.
 
194
         * If so, '^' rules will be active on the next match, otherwise
 
195
         * not.
 
196
         */
 
197
        int yy_at_bol;
 
198
 
 
199
        /* Whether to try to fill the input buffer when we reach the
 
200
         * end of it.
 
201
         */
 
202
        int yy_fill_buffer;
 
203
 
 
204
        int yy_buffer_status;
 
205
#define YY_BUFFER_NEW 0
 
206
#define YY_BUFFER_NORMAL 1
 
207
        /* When an EOF's been seen but there's still some text to process
 
208
         * then we mark the buffer as YY_EOF_PENDING, to indicate that we
 
209
         * shouldn't try reading from the input source any more.  We might
 
210
         * still have a bunch of tokens to match, though, because of
 
211
         * possible backing-up.
 
212
         *
 
213
         * When we actually see the EOF, we change the status to "new"
 
214
         * (via yyrestart()), so that the user can continue scanning by
 
215
         * just pointing yyin at a new input file.
 
216
         */
 
217
#define YY_BUFFER_EOF_PENDING 2
 
218
        };
 
219
 
 
220
static YY_BUFFER_STATE yy_current_buffer = 0;
 
221
 
 
222
/* We provide macros for accessing buffer states in case in the
 
223
 * future we want to put the buffer states in a more general
 
224
 * "scanner state".
 
225
 */
 
226
#define YY_CURRENT_BUFFER yy_current_buffer
 
227
 
 
228
 
 
229
/* yy_hold_char holds the character lost when yytext is formed. */
 
230
static char yy_hold_char;
 
231
 
 
232
static int yy_n_chars;          /* number of characters read into yy_ch_buf */
 
233
 
 
234
 
 
235
int yyleng;
 
236
 
 
237
/* Points to current character in buffer. */
 
238
static char *yy_c_buf_p = (char *) 0;
 
239
static int yy_init = 1;         /* whether we need to initialize */
 
240
static int yy_start = 0;        /* start state number */
 
241
 
 
242
/* Flag which is used to allow yywrap()'s to do buffer switches
 
243
 * instead of setting up a fresh yyin.  A bit of a hack ...
 
244
 */
 
245
static int yy_did_buffer_switch_on_eof;
 
246
 
 
247
void yyrestart YY_PROTO(( FILE *input_file ));
 
248
 
 
249
void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
 
250
void yy_load_buffer_state YY_PROTO(( void ));
 
251
YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
 
252
void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
 
253
void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
 
254
void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
 
255
#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
 
256
 
 
257
YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
 
258
YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
 
259
YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
 
260
 
 
261
static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
 
262
static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
 
263
static void yy_flex_free YY_PROTO(( void * ));
 
264
 
 
265
#define yy_new_buffer yy_create_buffer
 
266
 
 
267
#define yy_set_interactive(is_interactive) \
 
268
        { \
 
269
        if ( ! yy_current_buffer ) \
 
270
                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
 
271
        yy_current_buffer->yy_is_interactive = is_interactive; \
 
272
        }
 
273
 
 
274
#define yy_set_bol(at_bol) \
 
275
        { \
 
276
        if ( ! yy_current_buffer ) \
 
277
                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
 
278
        yy_current_buffer->yy_at_bol = at_bol; \
 
279
        }
 
280
 
 
281
#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
 
282
 
 
283
typedef unsigned char YY_CHAR;
 
284
FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
 
285
typedef int yy_state_type;
 
286
extern char *yytext;
 
287
#define yytext_ptr yytext
 
288
 
 
289
static yy_state_type yy_get_previous_state YY_PROTO(( void ));
 
290
static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
 
291
static int yy_get_next_buffer YY_PROTO(( void ));
 
292
static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
 
293
 
 
294
/* Done after the current pattern has been matched and before the
 
295
 * corresponding action - sets up yytext.
 
296
 */
 
297
#define YY_DO_BEFORE_ACTION \
 
298
        yytext_ptr = yy_bp; \
 
299
        yyleng = (int) (yy_cp - yy_bp); \
 
300
        yy_hold_char = *yy_cp; \
 
301
        *yy_cp = '\0'; \
 
302
        yy_c_buf_p = yy_cp;
 
303
 
 
304
#define YY_NUM_RULES 15
 
305
#define YY_END_OF_BUFFER 16
 
306
static yyconst short int yy_accept[25] =
 
307
    {   0,
 
308
        0,    0,   16,   14,   13,   13,   14,    1,   14,   12,
 
309
       12,    7,    4,    8,   11,   10,   13,    5,    9,   12,
 
310
        2,    6,    3,    0
 
311
    } ;
 
312
 
 
313
static yyconst int yy_ec[256] =
 
314
    {   0,
 
315
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
 
316
        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
 
317
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
318
        1,    2,    4,    1,    1,    1,    1,    1,    1,    1,
 
319
        1,    1,    1,    5,    1,    6,    1,    7,    8,    8,
 
320
        8,    8,    8,    8,    8,    8,    8,    1,    1,    9,
 
321
       10,   11,    1,    1,    1,    1,    1,    1,    1,    1,
 
322
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
323
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
324
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
325
 
 
326
        1,    1,    1,    1,    1,    1,    1,    1,   12,   13,
 
327
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
328
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
329
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
330
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
331
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
332
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
333
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
334
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
335
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
336
 
 
337
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
338
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
339
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
340
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
341
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
342
        1,    1,    1,    1,    1
 
343
    } ;
 
344
 
 
345
static yyconst int yy_meta[14] =
 
346
    {   0,
 
347
        1,    2,    2,    1,    1,    1,    3,    3,    1,    1,
 
348
        1,    1,    1
 
349
    } ;
 
350
 
 
351
static yyconst short int yy_base[27] =
 
352
    {   0,
 
353
        0,    0,   21,   22,    0,    0,   10,   22,   13,   22,
 
354
        0,    4,   22,    8,   22,   22,    0,   22,   22,    0,
 
355
       22,   22,   22,   22,   15,   13
 
356
    } ;
 
357
 
 
358
static yyconst short int yy_def[27] =
 
359
    {   0,
 
360
       24,    1,   24,   24,   25,   25,   24,   24,   24,   24,
 
361
       26,   24,   24,   24,   24,   24,   25,   24,   24,   26,
 
362
       24,   24,   24,    0,   24,   24
 
363
    } ;
 
364
 
 
365
static yyconst short int yy_nxt[36] =
 
366
    {   0,
 
367
        4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
 
368
       14,   15,   16,   21,   22,   20,   17,   23,   19,   18,
 
369
       24,    3,   24,   24,   24,   24,   24,   24,   24,   24,
 
370
       24,   24,   24,   24,   24
 
371
    } ;
 
372
 
 
373
static yyconst short int yy_chk[36] =
 
374
    {   0,
 
375
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
 
376
        1,    1,    1,   12,   12,   26,   25,   14,    9,    7,
 
377
        3,   24,   24,   24,   24,   24,   24,   24,   24,   24,
 
378
       24,   24,   24,   24,   24
 
379
    } ;
 
380
 
 
381
static yy_state_type yy_last_accepting_state;
 
382
static char *yy_last_accepting_cpos;
 
383
 
 
384
/* The intent behind this definition is that it'll catch
 
385
 * any uses of REJECT which flex missed.
 
386
 */
 
387
#define REJECT reject_used_but_not_detected
 
388
#define yymore() yymore_used_but_not_detected
 
389
#define YY_MORE_ADJ 0
 
390
#define YY_RESTORE_YY_MORE_OFFSET
 
391
char *yytext;
 
392
#line 1 "cardconstraint.l"
 
393
#define INITIAL 0
 
394
#line 2 "cardconstraint.l"
 
395
#include "cardconstraint.tab.h"
 
396
#include "erparse.h"
 
397
char cardconstraint_errormsg[1024] = "";
 
398
char cardconstraint_constraint[1024] = "";
 
399
#line 400 "cardconstraint.c"
 
400
 
 
401
/* Macros after this point can all be overridden by user definitions in
 
402
 * section 1.
 
403
 */
 
404
 
 
405
#ifndef YY_SKIP_YYWRAP
 
406
#ifdef __cplusplus
 
407
extern "C" int yywrap YY_PROTO(( void ));
 
408
#else
 
409
extern int yywrap YY_PROTO(( void ));
 
410
#endif
 
411
#endif
 
412
 
 
413
#ifndef YY_NO_UNPUT
 
414
static void yyunput YY_PROTO(( int c, char *buf_ptr ));
 
415
#endif
 
416
 
 
417
#ifndef yytext_ptr
 
418
static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
 
419
#endif
 
420
 
 
421
#ifdef YY_NEED_STRLEN
 
422
static int yy_flex_strlen YY_PROTO(( yyconst char * ));
 
423
#endif
 
424
 
 
425
#ifndef YY_NO_INPUT
 
426
#ifdef __cplusplus
 
427
static int yyinput YY_PROTO(( void ));
 
428
#else
 
429
static int input YY_PROTO(( void ));
 
430
#endif
 
431
#endif
 
432
 
 
433
#if YY_STACK_USED
 
434
static int yy_start_stack_ptr = 0;
 
435
static int yy_start_stack_depth = 0;
 
436
static int *yy_start_stack = 0;
 
437
#ifndef YY_NO_PUSH_STATE
 
438
static void yy_push_state YY_PROTO(( int new_state ));
 
439
#endif
 
440
#ifndef YY_NO_POP_STATE
 
441
static void yy_pop_state YY_PROTO(( void ));
 
442
#endif
 
443
#ifndef YY_NO_TOP_STATE
 
444
static int yy_top_state YY_PROTO(( void ));
 
445
#endif
 
446
 
 
447
#else
 
448
#define YY_NO_PUSH_STATE 1
 
449
#define YY_NO_POP_STATE 1
 
450
#define YY_NO_TOP_STATE 1
 
451
#endif
 
452
 
 
453
#ifdef YY_MALLOC_DECL
 
454
YY_MALLOC_DECL
 
455
#else
 
456
#if __STDC__
 
457
#ifndef __cplusplus
 
458
#include <stdlib.h>
 
459
#endif
 
460
#else
 
461
/* Just try to get by without declaring the routines.  This will fail
 
462
 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
 
463
 * or sizeof(void*) != sizeof(int).
 
464
 */
 
465
#endif
 
466
#endif
 
467
 
 
468
/* Amount of stuff to slurp up with each read. */
 
469
#ifndef YY_READ_BUF_SIZE
 
470
#define YY_READ_BUF_SIZE 8192
 
471
#endif
 
472
 
 
473
/* Copy whatever the last rule matched to the standard output. */
 
474
 
 
475
#ifndef ECHO
 
476
/* This used to be an fputs(), but since the string might contain NUL's,
 
477
 * we now use fwrite().
 
478
 */
 
479
#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
 
480
#endif
 
481
 
 
482
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
 
483
 * is returned in "result".
 
484
 */
 
485
#ifndef YY_INPUT
 
486
#define YY_INPUT(buf,result,max_size) \
 
487
        if ( yy_current_buffer->yy_is_interactive ) \
 
488
                { \
 
489
                int c = '*', n; \
 
490
                for ( n = 0; n < max_size && \
 
491
                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
 
492
                        buf[n] = (char) c; \
 
493
                if ( c == '\n' ) \
 
494
                        buf[n++] = (char) c; \
 
495
                if ( c == EOF && ferror( yyin ) ) \
 
496
                        YY_FATAL_ERROR( "input in flex scanner failed" ); \
 
497
                result = n; \
 
498
                } \
 
499
        else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
 
500
                  && ferror( yyin ) ) \
 
501
                YY_FATAL_ERROR( "input in flex scanner failed" );
 
502
#endif
 
503
 
 
504
/* No semi-colon after return; correct usage is to write "yyterminate();" -
 
505
 * we don't want an extra ';' after the "return" because that will cause
 
506
 * some compilers to complain about unreachable statements.
 
507
 */
 
508
#ifndef yyterminate
 
509
#define yyterminate() return YY_NULL
 
510
#endif
 
511
 
 
512
/* Number of entries by which start-condition stack grows. */
 
513
#ifndef YY_START_STACK_INCR
 
514
#define YY_START_STACK_INCR 25
 
515
#endif
 
516
 
 
517
/* Report a fatal error. */
 
518
#ifndef YY_FATAL_ERROR
 
519
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
 
520
#endif
 
521
 
 
522
/* Default declaration of generated scanner - a define so the user can
 
523
 * easily add parameters.
 
524
 */
 
525
#ifndef YY_DECL
 
526
#define YY_DECL int yylex YY_PROTO(( void ))
 
527
#endif
 
528
 
 
529
/* Code executed at the beginning of each rule, after yytext and yyleng
 
530
 * have been set up.
 
531
 */
 
532
#ifndef YY_USER_ACTION
 
533
#define YY_USER_ACTION
 
534
#endif
 
535
 
 
536
/* Code executed at the end of each rule. */
 
537
#ifndef YY_BREAK
 
538
#define YY_BREAK break;
 
539
#endif
 
540
 
 
541
#define YY_RULE_SETUP \
 
542
        YY_USER_ACTION
 
543
 
 
544
YY_DECL
 
545
        {
 
546
        register yy_state_type yy_current_state;
 
547
        register char *yy_cp = NULL, *yy_bp = NULL;
 
548
        register int yy_act;
 
549
 
 
550
#line 10 "cardconstraint.l"
 
551
 
 
552
#line 553 "cardconstraint.c"
 
553
 
 
554
        if ( yy_init )
 
555
                {
 
556
                yy_init = 0;
 
557
 
 
558
#ifdef YY_USER_INIT
 
559
                YY_USER_INIT;
 
560
#endif
 
561
 
 
562
                if ( ! yy_start )
 
563
                        yy_start = 1;   /* first start state */
 
564
 
 
565
                if ( ! yyin )
 
566
                        yyin = stdin;
 
567
 
 
568
                if ( ! yyout )
 
569
                        yyout = stdout;
 
570
 
 
571
                if ( ! yy_current_buffer )
 
572
                        yy_current_buffer =
 
573
                                yy_create_buffer( yyin, YY_BUF_SIZE );
 
574
 
 
575
                yy_load_buffer_state();
 
576
                }
 
577
 
 
578
        while ( 1 )             /* loops until end-of-file is reached */
 
579
                {
 
580
                yy_cp = yy_c_buf_p;
 
581
 
 
582
                /* Support of yytext. */
 
583
                *yy_cp = yy_hold_char;
 
584
 
 
585
                /* yy_bp points to the position in yy_ch_buf of the start of
 
586
                 * the current run.
 
587
                 */
 
588
                yy_bp = yy_cp;
 
589
 
 
590
                yy_current_state = yy_start;
 
591
yy_match:
 
592
                do
 
593
                        {
 
594
                        register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
 
595
                        if ( yy_accept[yy_current_state] )
 
596
                                {
 
597
                                yy_last_accepting_state = yy_current_state;
 
598
                                yy_last_accepting_cpos = yy_cp;
 
599
                                }
 
600
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 
601
                                {
 
602
                                yy_current_state = (int) yy_def[yy_current_state];
 
603
                                if ( yy_current_state >= 25 )
 
604
                                        yy_c = yy_meta[(unsigned int) yy_c];
 
605
                                }
 
606
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 
607
                        ++yy_cp;
 
608
                        }
 
609
                while ( yy_base[yy_current_state] != 22 );
 
610
 
 
611
yy_find_action:
 
612
                yy_act = yy_accept[yy_current_state];
 
613
                if ( yy_act == 0 )
 
614
                        { /* have to back up */
 
615
                        yy_cp = yy_last_accepting_cpos;
 
616
                        yy_current_state = yy_last_accepting_state;
 
617
                        yy_act = yy_accept[yy_current_state];
 
618
                        }
 
619
 
 
620
                YY_DO_BEFORE_ACTION;
 
621
 
 
622
 
 
623
do_action:      /* This label is used only to access EOF actions. */
 
624
 
 
625
 
 
626
                switch ( yy_act )
 
627
        { /* beginning of action switch */
 
628
                        case 0: /* must back up */
 
629
                        /* undo the effects of YY_DO_BEFORE_ACTION */
 
630
                        *yy_cp = yy_hold_char;
 
631
                        yy_cp = yy_last_accepting_cpos;
 
632
                        yy_current_state = yy_last_accepting_state;
 
633
                        goto yy_find_action;
 
634
 
 
635
case 1:
 
636
YY_RULE_SETUP
 
637
#line 11 "cardconstraint.l"
 
638
{strcat(cardconstraint_constraint, ",");return(COMMA);}
 
639
        YY_BREAK
 
640
case 2:
 
641
YY_RULE_SETUP
 
642
#line 12 "cardconstraint.l"
 
643
{strcat(cardconstraint_constraint, "<=");return(LESSEQUAL);}
 
644
        YY_BREAK
 
645
case 3:
 
646
YY_RULE_SETUP
 
647
#line 13 "cardconstraint.l"
 
648
{strcat(cardconstraint_constraint, ">=");return(GREATEREQUAL);}
 
649
        YY_BREAK
 
650
case 4:
 
651
YY_RULE_SETUP
 
652
#line 14 "cardconstraint.l"
 
653
{strcat(cardconstraint_constraint, "=");return(EQUAL);}
 
654
        YY_BREAK
 
655
case 5:
 
656
YY_RULE_SETUP
 
657
#line 15 "cardconstraint.l"
 
658
{strcat(cardconstraint_constraint, "!=");return(NOTEQUAL);}
 
659
        YY_BREAK
 
660
case 6:
 
661
YY_RULE_SETUP
 
662
#line 16 "cardconstraint.l"
 
663
{strcat(cardconstraint_constraint, "!=");return(NOTEQUAL);}
 
664
        YY_BREAK
 
665
case 7:
 
666
YY_RULE_SETUP
 
667
#line 17 "cardconstraint.l"
 
668
{strcat(cardconstraint_constraint, "<");return(LESS);}
 
669
        YY_BREAK
 
670
case 8:
 
671
YY_RULE_SETUP
 
672
#line 18 "cardconstraint.l"
 
673
{strcat(cardconstraint_constraint, ">");return(GREATER);}
 
674
        YY_BREAK
 
675
case 9:
 
676
YY_RULE_SETUP
 
677
#line 19 "cardconstraint.l"
 
678
{strcat(cardconstraint_constraint, "..");return(DOTDOT);}
 
679
        YY_BREAK
 
680
case 10:
 
681
YY_RULE_SETUP
 
682
#line 20 "cardconstraint.l"
 
683
{return(N);} 
 
684
        YY_BREAK
 
685
case 11:
 
686
YY_RULE_SETUP
 
687
#line 21 "cardconstraint.l"
 
688
{return(M);} 
 
689
        YY_BREAK
 
690
case 12:
 
691
YY_RULE_SETUP
 
692
#line 22 "cardconstraint.l"
 
693
{strcat(cardconstraint_constraint, cardconstrainttext);return(NUMBER);}
 
694
        YY_BREAK
 
695
case 13:
 
696
YY_RULE_SETUP
 
697
#line 23 "cardconstraint.l"
 
698
 
 
699
        YY_BREAK
 
700
case 14:
 
701
YY_RULE_SETUP
 
702
#line 24 "cardconstraint.l"
 
703
{return(UNDEFINED);}
 
704
        YY_BREAK
 
705
case 15:
 
706
YY_RULE_SETUP
 
707
#line 25 "cardconstraint.l"
 
708
ECHO;
 
709
        YY_BREAK
 
710
#line 711 "cardconstraint.c"
 
711
case YY_STATE_EOF(INITIAL):
 
712
        yyterminate();
 
713
 
 
714
        case YY_END_OF_BUFFER:
 
715
                {
 
716
                /* Amount of text matched not including the EOB char. */
 
717
                int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
 
718
 
 
719
                /* Undo the effects of YY_DO_BEFORE_ACTION. */
 
720
                *yy_cp = yy_hold_char;
 
721
                YY_RESTORE_YY_MORE_OFFSET
 
722
 
 
723
                if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
 
724
                        {
 
725
                        /* We're scanning a new file or input source.  It's
 
726
                         * possible that this happened because the user
 
727
                         * just pointed yyin at a new source and called
 
728
                         * yylex().  If so, then we have to assure
 
729
                         * consistency between yy_current_buffer and our
 
730
                         * globals.  Here is the right place to do so, because
 
731
                         * this is the first action (other than possibly a
 
732
                         * back-up) that will match for the new input source.
 
733
                         */
 
734
                        yy_n_chars = yy_current_buffer->yy_n_chars;
 
735
                        yy_current_buffer->yy_input_file = yyin;
 
736
                        yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
 
737
                        }
 
738
 
 
739
                /* Note that here we test for yy_c_buf_p "<=" to the position
 
740
                 * of the first EOB in the buffer, since yy_c_buf_p will
 
741
                 * already have been incremented past the NUL character
 
742
                 * (since all states make transitions on EOB to the
 
743
                 * end-of-buffer state).  Contrast this with the test
 
744
                 * in input().
 
745
                 */
 
746
                if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
 
747
                        { /* This was really a NUL. */
 
748
                        yy_state_type yy_next_state;
 
749
 
 
750
                        yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
 
751
 
 
752
                        yy_current_state = yy_get_previous_state();
 
753
 
 
754
                        /* Okay, we're now positioned to make the NUL
 
755
                         * transition.  We couldn't have
 
756
                         * yy_get_previous_state() go ahead and do it
 
757
                         * for us because it doesn't know how to deal
 
758
                         * with the possibility of jamming (and we don't
 
759
                         * want to build jamming into it because then it
 
760
                         * will run more slowly).
 
761
                         */
 
762
 
 
763
                        yy_next_state = yy_try_NUL_trans( yy_current_state );
 
764
 
 
765
                        yy_bp = yytext_ptr + YY_MORE_ADJ;
 
766
 
 
767
                        if ( yy_next_state )
 
768
                                {
 
769
                                /* Consume the NUL. */
 
770
                                yy_cp = ++yy_c_buf_p;
 
771
                                yy_current_state = yy_next_state;
 
772
                                goto yy_match;
 
773
                                }
 
774
 
 
775
                        else
 
776
                                {
 
777
                                yy_cp = yy_c_buf_p;
 
778
                                goto yy_find_action;
 
779
                                }
 
780
                        }
 
781
 
 
782
                else switch ( yy_get_next_buffer() )
 
783
                        {
 
784
                        case EOB_ACT_END_OF_FILE:
 
785
                                {
 
786
                                yy_did_buffer_switch_on_eof = 0;
 
787
 
 
788
                                if ( yywrap() )
 
789
                                        {
 
790
                                        /* Note: because we've taken care in
 
791
                                         * yy_get_next_buffer() to have set up
 
792
                                         * yytext, we can now set up
 
793
                                         * yy_c_buf_p so that if some total
 
794
                                         * hoser (like flex itself) wants to
 
795
                                         * call the scanner after we return the
 
796
                                         * YY_NULL, it'll still work - another
 
797
                                         * YY_NULL will get returned.
 
798
                                         */
 
799
                                        yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
 
800
 
 
801
                                        yy_act = YY_STATE_EOF(YY_START);
 
802
                                        goto do_action;
 
803
                                        }
 
804
 
 
805
                                else
 
806
                                        {
 
807
                                        if ( ! yy_did_buffer_switch_on_eof )
 
808
                                                YY_NEW_FILE;
 
809
                                        }
 
810
                                break;
 
811
                                }
 
812
 
 
813
                        case EOB_ACT_CONTINUE_SCAN:
 
814
                                yy_c_buf_p =
 
815
                                        yytext_ptr + yy_amount_of_matched_text;
 
816
 
 
817
                                yy_current_state = yy_get_previous_state();
 
818
 
 
819
                                yy_cp = yy_c_buf_p;
 
820
                                yy_bp = yytext_ptr + YY_MORE_ADJ;
 
821
                                goto yy_match;
 
822
 
 
823
                        case EOB_ACT_LAST_MATCH:
 
824
                                yy_c_buf_p =
 
825
                                &yy_current_buffer->yy_ch_buf[yy_n_chars];
 
826
 
 
827
                                yy_current_state = yy_get_previous_state();
 
828
 
 
829
                                yy_cp = yy_c_buf_p;
 
830
                                yy_bp = yytext_ptr + YY_MORE_ADJ;
 
831
                                goto yy_find_action;
 
832
                        }
 
833
                break;
 
834
                }
 
835
 
 
836
        default:
 
837
                YY_FATAL_ERROR(
 
838
                        "fatal flex scanner internal error--no action found" );
 
839
        } /* end of action switch */
 
840
                } /* end of scanning one token */
 
841
        } /* end of yylex */
 
842
 
 
843
 
 
844
/* yy_get_next_buffer - try to read in a new buffer
 
845
 *
 
846
 * Returns a code representing an action:
 
847
 *      EOB_ACT_LAST_MATCH -
 
848
 *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
 
849
 *      EOB_ACT_END_OF_FILE - end of file
 
850
 */
 
851
 
 
852
static int yy_get_next_buffer()
 
853
        {
 
854
        register char *dest = yy_current_buffer->yy_ch_buf;
 
855
        register char *source = yytext_ptr;
 
856
        register int number_to_move, i;
 
857
        int ret_val;
 
858
 
 
859
        if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
 
860
                YY_FATAL_ERROR(
 
861
                "fatal flex scanner internal error--end of buffer missed" );
 
862
 
 
863
        if ( yy_current_buffer->yy_fill_buffer == 0 )
 
864
                { /* Don't try to fill the buffer, so this is an EOF. */
 
865
                if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
 
866
                        {
 
867
                        /* We matched a single character, the EOB, so
 
868
                         * treat this as a final EOF.
 
869
                         */
 
870
                        return EOB_ACT_END_OF_FILE;
 
871
                        }
 
872
 
 
873
                else
 
874
                        {
 
875
                        /* We matched some text prior to the EOB, first
 
876
                         * process it.
 
877
                         */
 
878
                        return EOB_ACT_LAST_MATCH;
 
879
                        }
 
880
                }
 
881
 
 
882
        /* Try to read more data. */
 
883
 
 
884
        /* First move last chars to start of buffer. */
 
885
        number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
 
886
 
 
887
        for ( i = 0; i < number_to_move; ++i )
 
888
                *(dest++) = *(source++);
 
889
 
 
890
        if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
 
891
                /* don't do the read, it's not guaranteed to return an EOF,
 
892
                 * just force an EOF
 
893
                 */
 
894
                yy_current_buffer->yy_n_chars = yy_n_chars = 0;
 
895
 
 
896
        else
 
897
                {
 
898
                int num_to_read =
 
899
                        yy_current_buffer->yy_buf_size - number_to_move - 1;
 
900
 
 
901
                while ( num_to_read <= 0 )
 
902
                        { /* Not enough room in the buffer - grow it. */
 
903
#ifdef YY_USES_REJECT
 
904
                        YY_FATAL_ERROR(
 
905
"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
 
906
#else
 
907
 
 
908
                        /* just a shorter name for the current buffer */
 
909
                        YY_BUFFER_STATE b = yy_current_buffer;
 
910
 
 
911
                        int yy_c_buf_p_offset =
 
912
                                (int) (yy_c_buf_p - b->yy_ch_buf);
 
913
 
 
914
                        if ( b->yy_is_our_buffer )
 
915
                                {
 
916
                                int new_size = b->yy_buf_size * 2;
 
917
 
 
918
                                if ( new_size <= 0 )
 
919
                                        b->yy_buf_size += b->yy_buf_size / 8;
 
920
                                else
 
921
                                        b->yy_buf_size *= 2;
 
922
 
 
923
                                b->yy_ch_buf = (char *)
 
924
                                        /* Include room in for 2 EOB chars. */
 
925
                                        yy_flex_realloc( (void *) b->yy_ch_buf,
 
926
                                                         b->yy_buf_size + 2 );
 
927
                                }
 
928
                        else
 
929
                                /* Can't grow it, we don't own it. */
 
930
                                b->yy_ch_buf = 0;
 
931
 
 
932
                        if ( ! b->yy_ch_buf )
 
933
                                YY_FATAL_ERROR(
 
934
                                "fatal error - scanner input buffer overflow" );
 
935
 
 
936
                        yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
 
937
 
 
938
                        num_to_read = yy_current_buffer->yy_buf_size -
 
939
                                                number_to_move - 1;
 
940
#endif
 
941
                        }
 
942
 
 
943
                if ( num_to_read > YY_READ_BUF_SIZE )
 
944
                        num_to_read = YY_READ_BUF_SIZE;
 
945
 
 
946
                /* Read in more data. */
 
947
                YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
 
948
                        yy_n_chars, num_to_read );
 
949
 
 
950
                yy_current_buffer->yy_n_chars = yy_n_chars;
 
951
                }
 
952
 
 
953
        if ( yy_n_chars == 0 )
 
954
                {
 
955
                if ( number_to_move == YY_MORE_ADJ )
 
956
                        {
 
957
                        ret_val = EOB_ACT_END_OF_FILE;
 
958
                        yyrestart( yyin );
 
959
                        }
 
960
 
 
961
                else
 
962
                        {
 
963
                        ret_val = EOB_ACT_LAST_MATCH;
 
964
                        yy_current_buffer->yy_buffer_status =
 
965
                                YY_BUFFER_EOF_PENDING;
 
966
                        }
 
967
                }
 
968
 
 
969
        else
 
970
                ret_val = EOB_ACT_CONTINUE_SCAN;
 
971
 
 
972
        yy_n_chars += number_to_move;
 
973
        yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
 
974
        yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
 
975
 
 
976
        yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
 
977
 
 
978
        return ret_val;
 
979
        }
 
980
 
 
981
 
 
982
/* yy_get_previous_state - get the state just before the EOB char was reached */
 
983
 
 
984
static yy_state_type yy_get_previous_state()
 
985
        {
 
986
        register yy_state_type yy_current_state;
 
987
        register char *yy_cp;
 
988
 
 
989
        yy_current_state = yy_start;
 
990
 
 
991
        for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
 
992
                {
 
993
                register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
 
994
                if ( yy_accept[yy_current_state] )
 
995
                        {
 
996
                        yy_last_accepting_state = yy_current_state;
 
997
                        yy_last_accepting_cpos = yy_cp;
 
998
                        }
 
999
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 
1000
                        {
 
1001
                        yy_current_state = (int) yy_def[yy_current_state];
 
1002
                        if ( yy_current_state >= 25 )
 
1003
                                yy_c = yy_meta[(unsigned int) yy_c];
 
1004
                        }
 
1005
                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 
1006
                }
 
1007
 
 
1008
        return yy_current_state;
 
1009
        }
 
1010
 
 
1011
 
 
1012
/* yy_try_NUL_trans - try to make a transition on the NUL character
 
1013
 *
 
1014
 * synopsis
 
1015
 *      next_state = yy_try_NUL_trans( current_state );
 
1016
 */
 
1017
 
 
1018
#ifdef YY_USE_PROTOS
 
1019
static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
 
1020
#else
 
1021
static yy_state_type yy_try_NUL_trans( yy_current_state )
 
1022
yy_state_type yy_current_state;
 
1023
#endif
 
1024
        {
 
1025
        register int yy_is_jam;
 
1026
        register char *yy_cp = yy_c_buf_p;
 
1027
 
 
1028
        register YY_CHAR yy_c = 1;
 
1029
        if ( yy_accept[yy_current_state] )
 
1030
                {
 
1031
                yy_last_accepting_state = yy_current_state;
 
1032
                yy_last_accepting_cpos = yy_cp;
 
1033
                }
 
1034
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 
1035
                {
 
1036
                yy_current_state = (int) yy_def[yy_current_state];
 
1037
                if ( yy_current_state >= 25 )
 
1038
                        yy_c = yy_meta[(unsigned int) yy_c];
 
1039
                }
 
1040
        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
 
1041
        yy_is_jam = (yy_current_state == 24);
 
1042
 
 
1043
        return yy_is_jam ? 0 : yy_current_state;
 
1044
        }
 
1045
 
 
1046
 
 
1047
#ifndef YY_NO_UNPUT
 
1048
#ifdef YY_USE_PROTOS
 
1049
static void yyunput( int c, register char *yy_bp )
 
1050
#else
 
1051
static void yyunput( c, yy_bp )
 
1052
int c;
 
1053
register char *yy_bp;
 
1054
#endif
 
1055
        {
 
1056
        register char *yy_cp = yy_c_buf_p;
 
1057
 
 
1058
        /* undo effects of setting up yytext */
 
1059
        *yy_cp = yy_hold_char;
 
1060
 
 
1061
        if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
 
1062
                { /* need to shift things up to make room */
 
1063
                /* +2 for EOB chars. */
 
1064
                register int number_to_move = yy_n_chars + 2;
 
1065
                register char *dest = &yy_current_buffer->yy_ch_buf[
 
1066
                                        yy_current_buffer->yy_buf_size + 2];
 
1067
                register char *source =
 
1068
                                &yy_current_buffer->yy_ch_buf[number_to_move];
 
1069
 
 
1070
                while ( source > yy_current_buffer->yy_ch_buf )
 
1071
                        *--dest = *--source;
 
1072
 
 
1073
                yy_cp += (int) (dest - source);
 
1074
                yy_bp += (int) (dest - source);
 
1075
                yy_current_buffer->yy_n_chars =
 
1076
                        yy_n_chars = yy_current_buffer->yy_buf_size;
 
1077
 
 
1078
                if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
 
1079
                        YY_FATAL_ERROR( "flex scanner push-back overflow" );
 
1080
                }
 
1081
 
 
1082
        *--yy_cp = (char) c;
 
1083
 
 
1084
 
 
1085
        yytext_ptr = yy_bp;
 
1086
        yy_hold_char = *yy_cp;
 
1087
        yy_c_buf_p = yy_cp;
 
1088
        }
 
1089
#endif  /* ifndef YY_NO_UNPUT */
 
1090
 
 
1091
 
 
1092
#ifdef __cplusplus
 
1093
static int yyinput()
 
1094
#else
 
1095
static int input()
 
1096
#endif
 
1097
        {
 
1098
        int c;
 
1099
 
 
1100
        *yy_c_buf_p = yy_hold_char;
 
1101
 
 
1102
        if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
 
1103
                {
 
1104
                /* yy_c_buf_p now points to the character we want to return.
 
1105
                 * If this occurs *before* the EOB characters, then it's a
 
1106
                 * valid NUL; if not, then we've hit the end of the buffer.
 
1107
                 */
 
1108
                if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
 
1109
                        /* This was really a NUL. */
 
1110
                        *yy_c_buf_p = '\0';
 
1111
 
 
1112
                else
 
1113
                        { /* need more input */
 
1114
                        int offset = yy_c_buf_p - yytext_ptr;
 
1115
                        ++yy_c_buf_p;
 
1116
 
 
1117
                        switch ( yy_get_next_buffer() )
 
1118
                                {
 
1119
                                case EOB_ACT_LAST_MATCH:
 
1120
                                        /* This happens because yy_g_n_b()
 
1121
                                         * sees that we've accumulated a
 
1122
                                         * token and flags that we need to
 
1123
                                         * try matching the token before
 
1124
                                         * proceeding.  But for input(),
 
1125
                                         * there's no matching to consider.
 
1126
                                         * So convert the EOB_ACT_LAST_MATCH
 
1127
                                         * to EOB_ACT_END_OF_FILE.
 
1128
                                         */
 
1129
 
 
1130
                                        /* Reset buffer status. */
 
1131
                                        yyrestart( yyin );
 
1132
 
 
1133
                                        /* fall through */
 
1134
 
 
1135
                                case EOB_ACT_END_OF_FILE:
 
1136
                                        {
 
1137
                                        if ( yywrap() )
 
1138
                                                return EOF;
 
1139
 
 
1140
                                        if ( ! yy_did_buffer_switch_on_eof )
 
1141
                                                YY_NEW_FILE;
 
1142
#ifdef __cplusplus
 
1143
                                        return yyinput();
 
1144
#else
 
1145
                                        return input();
 
1146
#endif
 
1147
                                        }
 
1148
 
 
1149
                                case EOB_ACT_CONTINUE_SCAN:
 
1150
                                        yy_c_buf_p = yytext_ptr + offset;
 
1151
                                        break;
 
1152
                                }
 
1153
                        }
 
1154
                }
 
1155
 
 
1156
        c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
 
1157
        *yy_c_buf_p = '\0';     /* preserve yytext */
 
1158
        yy_hold_char = *++yy_c_buf_p;
 
1159
 
 
1160
 
 
1161
        return c;
 
1162
        }
 
1163
 
 
1164
 
 
1165
#ifdef YY_USE_PROTOS
 
1166
void yyrestart( FILE *input_file )
 
1167
#else
 
1168
void yyrestart( input_file )
 
1169
FILE *input_file;
 
1170
#endif
 
1171
        {
 
1172
        if ( ! yy_current_buffer )
 
1173
                yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
 
1174
 
 
1175
        yy_init_buffer( yy_current_buffer, input_file );
 
1176
        yy_load_buffer_state();
 
1177
        }
 
1178
 
 
1179
 
 
1180
#ifdef YY_USE_PROTOS
 
1181
void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
 
1182
#else
 
1183
void yy_switch_to_buffer( new_buffer )
 
1184
YY_BUFFER_STATE new_buffer;
 
1185
#endif
 
1186
        {
 
1187
        if ( yy_current_buffer == new_buffer )
 
1188
                return;
 
1189
 
 
1190
        if ( yy_current_buffer )
 
1191
                {
 
1192
                /* Flush out information for old buffer. */
 
1193
                *yy_c_buf_p = yy_hold_char;
 
1194
                yy_current_buffer->yy_buf_pos = yy_c_buf_p;
 
1195
                yy_current_buffer->yy_n_chars = yy_n_chars;
 
1196
                }
 
1197
 
 
1198
        yy_current_buffer = new_buffer;
 
1199
        yy_load_buffer_state();
 
1200
 
 
1201
        /* We don't actually know whether we did this switch during
 
1202
         * EOF (yywrap()) processing, but the only time this flag
 
1203
         * is looked at is after yywrap() is called, so it's safe
 
1204
         * to go ahead and always set it.
 
1205
         */
 
1206
        yy_did_buffer_switch_on_eof = 1;
 
1207
        }
 
1208
 
 
1209
 
 
1210
#ifdef YY_USE_PROTOS
 
1211
void yy_load_buffer_state( void )
 
1212
#else
 
1213
void yy_load_buffer_state()
 
1214
#endif
 
1215
        {
 
1216
        yy_n_chars = yy_current_buffer->yy_n_chars;
 
1217
        yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
 
1218
        yyin = yy_current_buffer->yy_input_file;
 
1219
        yy_hold_char = *yy_c_buf_p;
 
1220
        }
 
1221
 
 
1222
 
 
1223
#ifdef YY_USE_PROTOS
 
1224
YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
 
1225
#else
 
1226
YY_BUFFER_STATE yy_create_buffer( file, size )
 
1227
FILE *file;
 
1228
int size;
 
1229
#endif
 
1230
        {
 
1231
        YY_BUFFER_STATE b;
 
1232
 
 
1233
        b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
 
1234
        if ( ! b )
 
1235
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
1236
 
 
1237
        b->yy_buf_size = size;
 
1238
 
 
1239
        /* yy_ch_buf has to be 2 characters longer than the size given because
 
1240
         * we need to put in 2 end-of-buffer characters.
 
1241
         */
 
1242
        b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
 
1243
        if ( ! b->yy_ch_buf )
 
1244
                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
1245
 
 
1246
        b->yy_is_our_buffer = 1;
 
1247
 
 
1248
        yy_init_buffer( b, file );
 
1249
 
 
1250
        return b;
 
1251
        }
 
1252
 
 
1253
 
 
1254
#ifdef YY_USE_PROTOS
 
1255
void yy_delete_buffer( YY_BUFFER_STATE b )
 
1256
#else
 
1257
void yy_delete_buffer( b )
 
1258
YY_BUFFER_STATE b;
 
1259
#endif
 
1260
        {
 
1261
        if ( ! b )
 
1262
                return;
 
1263
 
 
1264
        if ( b == yy_current_buffer )
 
1265
                yy_current_buffer = (YY_BUFFER_STATE) 0;
 
1266
 
 
1267
        if ( b->yy_is_our_buffer )
 
1268
                yy_flex_free( (void *) b->yy_ch_buf );
 
1269
 
 
1270
        yy_flex_free( (void *) b );
 
1271
        }
 
1272
 
 
1273
 
 
1274
 
 
1275
#ifdef YY_USE_PROTOS
 
1276
void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
 
1277
#else
 
1278
void yy_init_buffer( b, file )
 
1279
YY_BUFFER_STATE b;
 
1280
FILE *file;
 
1281
#endif
 
1282
 
 
1283
 
 
1284
        {
 
1285
        yy_flush_buffer( b );
 
1286
 
 
1287
        b->yy_input_file = file;
 
1288
        b->yy_fill_buffer = 1;
 
1289
 
 
1290
#if YY_ALWAYS_INTERACTIVE
 
1291
        b->yy_is_interactive = 1;
 
1292
#else
 
1293
#if YY_NEVER_INTERACTIVE
 
1294
        b->yy_is_interactive = 0;
 
1295
#else
 
1296
        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
 
1297
#endif
 
1298
#endif
 
1299
        }
 
1300
 
 
1301
 
 
1302
#ifdef YY_USE_PROTOS
 
1303
void yy_flush_buffer( YY_BUFFER_STATE b )
 
1304
#else
 
1305
void yy_flush_buffer( b )
 
1306
YY_BUFFER_STATE b;
 
1307
#endif
 
1308
 
 
1309
        {
 
1310
        if ( ! b )
 
1311
                return;
 
1312
 
 
1313
        b->yy_n_chars = 0;
 
1314
 
 
1315
        /* We always need two end-of-buffer characters.  The first causes
 
1316
         * a transition to the end-of-buffer state.  The second causes
 
1317
         * a jam in that state.
 
1318
         */
 
1319
        b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
 
1320
        b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
 
1321
 
 
1322
        b->yy_buf_pos = &b->yy_ch_buf[0];
 
1323
 
 
1324
        b->yy_at_bol = 1;
 
1325
        b->yy_buffer_status = YY_BUFFER_NEW;
 
1326
 
 
1327
        if ( b == yy_current_buffer )
 
1328
                yy_load_buffer_state();
 
1329
        }
 
1330
 
 
1331
 
 
1332
#ifndef YY_NO_SCAN_BUFFER
 
1333
#ifdef YY_USE_PROTOS
 
1334
YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
 
1335
#else
 
1336
YY_BUFFER_STATE yy_scan_buffer( base, size )
 
1337
char *base;
 
1338
yy_size_t size;
 
1339
#endif
 
1340
        {
 
1341
        YY_BUFFER_STATE b;
 
1342
 
 
1343
        if ( size < 2 ||
 
1344
             base[size-2] != YY_END_OF_BUFFER_CHAR ||
 
1345
             base[size-1] != YY_END_OF_BUFFER_CHAR )
 
1346
                /* They forgot to leave room for the EOB's. */
 
1347
                return 0;
 
1348
 
 
1349
        b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
 
1350
        if ( ! b )
 
1351
                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
 
1352
 
 
1353
        b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
 
1354
        b->yy_buf_pos = b->yy_ch_buf = base;
 
1355
        b->yy_is_our_buffer = 0;
 
1356
        b->yy_input_file = 0;
 
1357
        b->yy_n_chars = b->yy_buf_size;
 
1358
        b->yy_is_interactive = 0;
 
1359
        b->yy_at_bol = 1;
 
1360
        b->yy_fill_buffer = 0;
 
1361
        b->yy_buffer_status = YY_BUFFER_NEW;
 
1362
 
 
1363
        yy_switch_to_buffer( b );
 
1364
 
 
1365
        return b;
 
1366
        }
 
1367
#endif
 
1368
 
 
1369
 
 
1370
#ifndef YY_NO_SCAN_STRING
 
1371
#ifdef YY_USE_PROTOS
 
1372
YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
 
1373
#else
 
1374
YY_BUFFER_STATE yy_scan_string( yy_str )
 
1375
yyconst char *yy_str;
 
1376
#endif
 
1377
        {
 
1378
        int len;
 
1379
        for ( len = 0; yy_str[len]; ++len )
 
1380
                ;
 
1381
 
 
1382
        return yy_scan_bytes( yy_str, len );
 
1383
        }
 
1384
#endif
 
1385
 
 
1386
 
 
1387
#ifndef YY_NO_SCAN_BYTES
 
1388
#ifdef YY_USE_PROTOS
 
1389
YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
 
1390
#else
 
1391
YY_BUFFER_STATE yy_scan_bytes( bytes, len )
 
1392
yyconst char *bytes;
 
1393
int len;
 
1394
#endif
 
1395
        {
 
1396
        YY_BUFFER_STATE b;
 
1397
        char *buf;
 
1398
        yy_size_t n;
 
1399
        int i;
 
1400
 
 
1401
        /* Get memory for full buffer, including space for trailing EOB's. */
 
1402
        n = len + 2;
 
1403
        buf = (char *) yy_flex_alloc( n );
 
1404
        if ( ! buf )
 
1405
                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
 
1406
 
 
1407
        for ( i = 0; i < len; ++i )
 
1408
                buf[i] = bytes[i];
 
1409
 
 
1410
        buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
 
1411
 
 
1412
        b = yy_scan_buffer( buf, n );
 
1413
        if ( ! b )
 
1414
                YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
 
1415
 
 
1416
        /* It's okay to grow etc. this buffer, and we should throw it
 
1417
         * away when we're done.
 
1418
         */
 
1419
        b->yy_is_our_buffer = 1;
 
1420
 
 
1421
        return b;
 
1422
        }
 
1423
#endif
 
1424
 
 
1425
 
 
1426
#ifndef YY_NO_PUSH_STATE
 
1427
#ifdef YY_USE_PROTOS
 
1428
static void yy_push_state( int new_state )
 
1429
#else
 
1430
static void yy_push_state( new_state )
 
1431
int new_state;
 
1432
#endif
 
1433
        {
 
1434
        if ( yy_start_stack_ptr >= yy_start_stack_depth )
 
1435
                {
 
1436
                yy_size_t new_size;
 
1437
 
 
1438
                yy_start_stack_depth += YY_START_STACK_INCR;
 
1439
                new_size = yy_start_stack_depth * sizeof( int );
 
1440
 
 
1441
                if ( ! yy_start_stack )
 
1442
                        yy_start_stack = (int *) yy_flex_alloc( new_size );
 
1443
 
 
1444
                else
 
1445
                        yy_start_stack = (int *) yy_flex_realloc(
 
1446
                                        (void *) yy_start_stack, new_size );
 
1447
 
 
1448
                if ( ! yy_start_stack )
 
1449
                        YY_FATAL_ERROR(
 
1450
                        "out of memory expanding start-condition stack" );
 
1451
                }
 
1452
 
 
1453
        yy_start_stack[yy_start_stack_ptr++] = YY_START;
 
1454
 
 
1455
        BEGIN(new_state);
 
1456
        }
 
1457
#endif
 
1458
 
 
1459
 
 
1460
#ifndef YY_NO_POP_STATE
 
1461
static void yy_pop_state()
 
1462
        {
 
1463
        if ( --yy_start_stack_ptr < 0 )
 
1464
                YY_FATAL_ERROR( "start-condition stack underflow" );
 
1465
 
 
1466
        BEGIN(yy_start_stack[yy_start_stack_ptr]);
 
1467
        }
 
1468
#endif
 
1469
 
 
1470
 
 
1471
#ifndef YY_NO_TOP_STATE
 
1472
static int yy_top_state()
 
1473
        {
 
1474
        return yy_start_stack[yy_start_stack_ptr - 1];
 
1475
        }
 
1476
#endif
 
1477
 
 
1478
#ifndef YY_EXIT_FAILURE
 
1479
#define YY_EXIT_FAILURE 2
 
1480
#endif
 
1481
 
 
1482
#ifdef YY_USE_PROTOS
 
1483
static void yy_fatal_error( yyconst char msg[] )
 
1484
#else
 
1485
static void yy_fatal_error( msg )
 
1486
char msg[];
 
1487
#endif
 
1488
        {
 
1489
        (void) fprintf( stderr, "%s\n", msg );
 
1490
        exit( YY_EXIT_FAILURE );
 
1491
        }
 
1492
 
 
1493
 
 
1494
 
 
1495
/* Redefine yyless() so it works in section 3 code. */
 
1496
 
 
1497
#undef yyless
 
1498
#define yyless(n) \
 
1499
        do \
 
1500
                { \
 
1501
                /* Undo effects of setting up yytext. */ \
 
1502
                yytext[yyleng] = yy_hold_char; \
 
1503
                yy_c_buf_p = yytext + n; \
 
1504
                yy_hold_char = *yy_c_buf_p; \
 
1505
                *yy_c_buf_p = '\0'; \
 
1506
                yyleng = n; \
 
1507
                } \
 
1508
        while ( 0 )
 
1509
 
 
1510
 
 
1511
/* Internal utility routines. */
 
1512
 
 
1513
#ifndef yytext_ptr
 
1514
#ifdef YY_USE_PROTOS
 
1515
static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
 
1516
#else
 
1517
static void yy_flex_strncpy( s1, s2, n )
 
1518
char *s1;
 
1519
yyconst char *s2;
 
1520
int n;
 
1521
#endif
 
1522
        {
 
1523
        register int i;
 
1524
        for ( i = 0; i < n; ++i )
 
1525
                s1[i] = s2[i];
 
1526
        }
 
1527
#endif
 
1528
 
 
1529
#ifdef YY_NEED_STRLEN
 
1530
#ifdef YY_USE_PROTOS
 
1531
static int yy_flex_strlen( yyconst char *s )
 
1532
#else
 
1533
static int yy_flex_strlen( s )
 
1534
yyconst char *s;
 
1535
#endif
 
1536
        {
 
1537
        register int n;
 
1538
        for ( n = 0; s[n]; ++n )
 
1539
                ;
 
1540
 
 
1541
        return n;
 
1542
        }
 
1543
#endif
 
1544
 
 
1545
 
 
1546
#ifdef YY_USE_PROTOS
 
1547
static void *yy_flex_alloc( yy_size_t size )
 
1548
#else
 
1549
static void *yy_flex_alloc( size )
 
1550
yy_size_t size;
 
1551
#endif
 
1552
        {
 
1553
        return (void *) malloc( size );
 
1554
        }
 
1555
 
 
1556
#ifdef YY_USE_PROTOS
 
1557
static void *yy_flex_realloc( void *ptr, yy_size_t size )
 
1558
#else
 
1559
static void *yy_flex_realloc( ptr, size )
 
1560
void *ptr;
 
1561
yy_size_t size;
 
1562
#endif
 
1563
        {
 
1564
        /* The cast to (char *) in the following accommodates both
 
1565
         * implementations that use char* generic pointers, and those
 
1566
         * that use void* generic pointers.  It works with the latter
 
1567
         * because both ANSI C and C++ allow castless assignment from
 
1568
         * any pointer type to void*, and deal with argument conversions
 
1569
         * as though doing an assignment.
 
1570
         */
 
1571
        return (void *) realloc( (char *) ptr, size );
 
1572
        }
 
1573
 
 
1574
#ifdef YY_USE_PROTOS
 
1575
static void yy_flex_free( void *ptr )
 
1576
#else
 
1577
static void yy_flex_free( ptr )
 
1578
void *ptr;
 
1579
#endif
 
1580
        {
 
1581
        free( ptr );
 
1582
        }
 
1583
 
 
1584
#if YY_MAIN
 
1585
int main()
 
1586
        {
 
1587
        yylex();
 
1588
        return 0;
 
1589
        }
 
1590
#endif
 
1591
#line 25 "cardconstraint.l"
 
1592
 
 
1593
 
 
1594
int cardconstraintwrap() {
 
1595
        return(1);
 
1596
}
 
1597
 
 
1598
int cardconstrainterror(char *s) {
 
1599
        strcpy(cardconstraint_errormsg, s);
 
1600
        return 0;
 
1601
}
 
1602