Prise de contact avec lex : Différence entre versions
imported>Jacques Ducloy (→Un premier exemple) |
imported>Jacques Ducloy (→Un premier exemple) |
||
Ligne 10 : | Ligne 10 : | ||
Dans les cas simples il permet d'effectuer des substitutions. Voici un exemple, montrant comment créer un fichier source lex : | Dans les cas simples il permet d'effectuer des substitutions. Voici un exemple, montrant comment créer un fichier source lex : | ||
− | <source lang=" | + | <source lang="sh"> |
cat <<... >ortho.lex | cat <<... >ortho.lex | ||
%% | %% | ||
Ligne 21 : | Ligne 21 : | ||
... | ... | ||
</source> | </source> | ||
+ | |||
+ | Faire une commande « ls » et vérifier la présence du fichier « ortho.lex ». | ||
+ | |||
+ | La compilation se déroule ici en 2 temps. | ||
+ | |||
+ | On va d'abord générer un programme C en faisant simplement : | ||
+ | :<code>lex ortho.lex</code> | ||
+ | ::(ou <code>flex ortho.lex</code> sur certaines distributions). | ||
+ | |||
+ | Une commande ls montre qu'un fichier nommé lex.yy.c a été créé (on peut le lister avec une commande cat). |
Version du 9 juin 2020 à 18:16
Lex est un générateur d'analyseurs lexicaux. Il est étroitement associé, dans son fonctionnement, au langage C et disponible en standard sur les systèmes Unix.
En sciences de l'information, il est utilisé notamment pour faire des reformatages et des filtres de sélection.
Pré-requis
Un premier exemple
Lex est un générateur d'analyseurs lexicaux. Il est basé sur un ensemble de règles de reconnaissance lexicale auxquelles sont associées des instructions en langage C. L'analyseur Lex produit un programme C (qui sera ensuite compilé).
Dans les cas simples il permet d'effectuer des substitutions. Voici un exemple, montrant comment créer un fichier source lex :
cat <<... >ortho.lex
%%
chevals printf("chevaux");
hibous printf("hiboux");
%%
main() {
yylex();
}
...
Faire une commande « ls » et vérifier la présence du fichier « ortho.lex ».
La compilation se déroule ici en 2 temps.
On va d'abord générer un programme C en faisant simplement :
lex ortho.lex
- (ou
flex ortho.lex
sur certaines distributions).
- (ou
Une commande ls montre qu'un fichier nommé lex.yy.c a été créé (on peut le lister avec une commande cat).