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