Expand PMF_FN_* macros.
[netbsd-mini2440.git] / external / bsd / flex / dist / tests / test-rescan-nr / scanner.l
blob7923996b48e29ea22db797bfbe5d069b856c3c67
1 /*      $NetBSD$        */
3 /*
4  * This file is part of flex.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * Neither the name of the University nor the names of its contributors
17  * may be used to endorse or promote products derived from this software
18  * without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
21  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
22  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  * PURPOSE.
24  */
27 /* A template scanner file to build "scanner.c". */
28 #include <stdio.h>
29 #include <stdlib.h>
32 %option 8bit outfile="scanner.c" prefix="test"
33 %option nounput nomain noyywrap
34 %option warn stack never-interactive
35 %x STATE_1
39 <INITIAL>{
40 0              yy_push_state (STATE_1);
41 .|\n           return 1;
43 <STATE_1>{
44 1              yy_pop_state();
45 .|\n           return yy_top_state() + 1;
50 int
51 main (int argc, char* const argv[])
53     FILE* fp;
54     int i;
56     if ((fp = fopen(argv[1],"r")) == NULL){
57         perror("Failed to open input file.");
58         return 1;
59     }
61     yyset_out ( stdout);
63     for (i=0; i <  4; ++i){
64         rewind(fp);
65         yyset_in  ( fp);
66         while( yylex() )
67             ;
68         yylex_destroy();
69     }
70     printf("TEST RETURNING OK.\n");
71     return 0;