Alexhat
05-02-2009, 11:48
Salve,
sto imparando ad utilizzare Flex (generatore di scanner in C++), ed ho provato a fare un semplice programma di esempio che conti il numero di righe e di caratteri presenti in un file.
Ho fatto dunque il seguente file .fl
%{
int num_lines = 0, num_chars = 0;
%}
%option noyywrap
%%
\n ++num_lines; ++num_chars;
. ++num_chars;
%%
main()
{
yylex();
printf("Il file contiene %d caratteri in %d righe.\n", num_chars, num_lines);
}
l'ho compilato con Flex ottenendo il "lex.yy.c" e poi ho compilato quest'ultimo usando il compilatore incluso in Dev-C++ (ovvero gcc); questa procedura ha generato un file .exe come previsto, e fin qui ci siamo.
Il problema (molto stupido ma a cui non ho ancora trovato risposta) è il seguente: come fare a passare il file di testo da dare in input al programma generato? Digitando nel prompt "nomeprogramma.exe nomefile.txt" non ottengo nulla, per cui suppongo che non sia questa la procedura esatta.
Scusate per la banalità della domanda :stordita:
Ciao :D
sto imparando ad utilizzare Flex (generatore di scanner in C++), ed ho provato a fare un semplice programma di esempio che conti il numero di righe e di caratteri presenti in un file.
Ho fatto dunque il seguente file .fl
%{
int num_lines = 0, num_chars = 0;
%}
%option noyywrap
%%
\n ++num_lines; ++num_chars;
. ++num_chars;
%%
main()
{
yylex();
printf("Il file contiene %d caratteri in %d righe.\n", num_chars, num_lines);
}
l'ho compilato con Flex ottenendo il "lex.yy.c" e poi ho compilato quest'ultimo usando il compilatore incluso in Dev-C++ (ovvero gcc); questa procedura ha generato un file .exe come previsto, e fin qui ci siamo.
Il problema (molto stupido ma a cui non ho ancora trovato risposta) è il seguente: come fare a passare il file di testo da dare in input al programma generato? Digitando nel prompt "nomeprogramma.exe nomefile.txt" non ottengo nulla, per cui suppongo che non sia questa la procedura esatta.
Scusate per la banalità della domanda :stordita:
Ciao :D