2 * This file is part of flex.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
14 * Neither the name of the University nor the names of its contributors
15 * may be used to endorse or promote products derived from this software
16 * without specific prior written permission.
18 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
19 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
20 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24 #include "scanner-1.h"
25 #include "scanner-2.h"
28 main ( int argc
, char** argv
)
32 YY_BUFFER_STATE buff1
, buff2
;
33 yyscan_t scan1
, scan2
;
38 if((fp
= fopen("scanner-1.tables","r")) == 0){
39 fprintf(stderr
,"Could not open scanner-1.tables.\n");
42 if(S1_tables_fload(fp
,scan1
) != 0){
43 fprintf(stderr
,"Could not load scanner-1.tables.\n");
48 if((fp
= fopen("scanner-2.tables","r")) == 0){
49 fprintf(stderr
,"Could not open scanner-2.tables.\n");
52 if(S2_tables_fload(fp
,scan2
) != 0){
53 fprintf(stderr
,"Could not load scanner-2.tables.\n");
58 S1_set_out(stdout
,scan1
);
59 S2_set_out(S1_get_out(scan1
),scan2
);
61 buff1
= S1__scan_string("foo on bar off", scan1
);
62 buff2
= S2__scan_string("on blah blah off foo on bar off", scan2
);
64 /* scan simultaneously. */
68 S1_ok
= S1_lex(scan1
);
70 S2_ok
= S2_lex(scan2
);
72 S1__delete_buffer(buff1
, scan1
);
73 S2__delete_buffer(buff2
, scan2
);
75 S1_tables_destroy(scan1
);
76 S2_tables_destroy(scan2
);
78 S1_lex_destroy(scan1
);
79 S2_lex_destroy(scan2
);
80 printf("TEST RETURNING OK.\n");
85 /* vim:set tabstop=8 softtabstop=4 shiftwidth=4: */