xref: /netbsd-src/external/bsd/flex/dist/examples/manual/myname2.lex (revision 3c3a7b7603b4ed4cb76dd5c5a3e781ddca2349bb)
1*3c3a7b76Schristos /*
2*3c3a7b76Schristos  * myname2.lex : A sample Flex program
3*3c3a7b76Schristos  *               that does token replacement.
4*3c3a7b76Schristos  */
5*3c3a7b76Schristos 
6*3c3a7b76Schristos %{
7*3c3a7b76Schristos #include <stdio.h>
8*3c3a7b76Schristos %}
9*3c3a7b76Schristos 
10*3c3a7b76Schristos %x STRING
11*3c3a7b76Schristos %%
12*3c3a7b76Schristos \"                ECHO; BEGIN(STRING);
13*3c3a7b76Schristos <STRING>[^\"\n]*  ECHO;
14*3c3a7b76Schristos <STRING>\"        ECHO; BEGIN(INITIAL);
15*3c3a7b76Schristos 
16*3c3a7b76Schristos %NAME     { printf("%s",getenv("LOGNAME")); }
17*3c3a7b76Schristos %HOST     { printf("%s",getenv("HOST"));    }
18*3c3a7b76Schristos %HOSTTYPE { printf("%s",getenv("HOSTTYPE"));}
19*3c3a7b76Schristos %HOME     { printf("%s",getenv("HOME"));    }
20