INT [[:digit:]]+ DASH (-|--|---) COMP (mm|cm|dm|m|dam|hm|km) MASSA (mg|cg|dg|g|dag|hg|kg|dkg|q|t) TEMPO (s|min|h) TEMP (°c|K|°fh) ELEC (a|v|ohm|W) UNID ({COMP}|{MASSA}|{TEMPO}|{TEMP}|{ELEC}) PLATE ([[:digit:]][[:digit:]]"-"[[:digit:]][[:digit:]]"-"[[:alpha:]][[:alpha:]]|[[:alpha:]][[:alpha:]]"-"[[:digit:]][[:digit:]]"-"[[:digit:]][[:digit:]]) %% 1 { ECHO; printf("//DNCNS "); } {INT} { ECHO; printf("//DNCNP "); } {INT}{UNID} { ECHO; printf("//MEDIDA "); } {INT}"h"{INT}"m" { ECHO; printf("//HORA "); } {INT}{DASH}{INT} { ECHO; printf("//RESULTADO "); } {PLATE} { ECHO; printf("//MATRICULA "); } [[:alpha:]]+ {ECHO;} %% yywrap() { return(1); } main() { yylex(); } /* Character class expressions valid in flex: [[:upper:]] == [A-Z] [:lower:]] == [a-z] [:alpha:]] == [A-Za-z] == [[:upper:]][:lower:]] [:digit:]] == [0-9] [:alnum:]] == [A-Za-z0-9] == [[:alpha:][:digit:]] [:blank:]] == ["space""tab"] [:cntrl:]] == [A-Z] [:graph:]] == [A-Z] [:print:]] == [A-Z] [:punct:]] == [^ [:alnum:]] [:space:]] == [A-Z] [:xdigit:]] == [A-Z] */