%{ #include int verbose = 0; char *progName = NULL; %} %option noyywrap %% ^"-h" | ^"-?" | ^"--help" { printf("usage is: %s [--help | -h | -?] ", progName); printf("[--verbose | -v ...]\n"); exit(0); } ^"-v" | ^"--verbose" { verbose++; } .* { printf("unknown option '%s'!\n", yytext); exit(1); } %% int main(int argc, char *argv[]) { progName = *argv; while(++argv,--argc) { yy_scan_string(*argv); yylex(); } printf("Now starting to frobnicate with:\n"); printf("verbose = %d\n", verbose); }