xref: /netbsd-src/external/bsd/flex/dist/examples/manual/replace.lex (revision 3c3a7b7603b4ed4cb76dd5c5a3e781ddca2349bb)
1*3c3a7b76Schristos /*
2*3c3a7b76Schristos  * replace.lex : A simple filter for renaming
3*3c3a7b76Schristos  *               parts of flex of bison generated
4*3c3a7b76Schristos  *               scanners or parsers.
5*3c3a7b76Schristos  */
6*3c3a7b76Schristos 
7*3c3a7b76Schristos %{
8*3c3a7b76Schristos #include <stdio.h>
9*3c3a7b76Schristos 
10*3c3a7b76Schristos char lower_replace[1024];
11*3c3a7b76Schristos char upper_replace[1024];
12*3c3a7b76Schristos 
13*3c3a7b76Schristos %}
14*3c3a7b76Schristos 
15*3c3a7b76Schristos %%
16*3c3a7b76Schristos 
17*3c3a7b76Schristos "yy"   printf("%s",lower_replace);
18*3c3a7b76Schristos "YY"   printf("%s",upper_replace);
19*3c3a7b76Schristos ,      ECHO;
20*3c3a7b76Schristos 
21*3c3a7b76Schristos %%
22*3c3a7b76Schristos 
23*3c3a7b76Schristos int main(int argc, char *argv[])
24*3c3a7b76Schristos {
25*3c3a7b76Schristos    if(argc < 2){
26*3c3a7b76Schristos      printf("Usage %s lower UPPER\n",argv[0]);
27*3c3a7b76Schristos      exit(1);
28*3c3a7b76Schristos    }
29*3c3a7b76Schristos    strcpy(lower_replace,argv[1]);
30*3c3a7b76Schristos    strcpy(upper_replace,argv[2]);
31*3c3a7b76Schristos    yylex();
32*3c3a7b76Schristos    return(0);
33*3c3a7b76Schristos }
34