Przykład ze strony projektu Flex. Program liczy ilość znaków i linii w pliku, jest przy tym niezwykle prosty.

W Linux Debian instalujemy interpreter

1
apt-get install flex

a następnie tworzymy plik w języku C poleceniem:

1
flex przyklad1.l

pliki flexa zapisujemy z rozszerzeniem *.l. Polecenie wygeneruje nam plik lex.yy.c, który kompilujemy w GNU C:

1
gcc lex.yy.c

Wygenerowany program a.out używamy następująco:

1
a.out < plik_wejsciowy.txt > plik_wynikowy.txt

Można nie podawać pliku wyjściowego (wówczas wynik będzie na ekranie), a nawet wejściowego (wówczas podajemy wejście z klawiatury kończąc kombinacją Ctrl+D oznaczającą koniec pliku w konsoli Linux).

przyklad1.l

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
%option noyywrap

%{
int num_lines = 0, num_chars = 0;
%}
     
%%
\n      ++num_lines; ++num_chars;
.       ++num_chars;
%%
     
int main()
{
    yylex();
    printf( "ilosc linii = %d, ilosc znakow: %d\n",
             num_lines, num_chars );
    return 0;
}