Posez votre question Signaler

Exemple sur le compilateur lexical Flex

Romeof - Dernière réponse le 12 mars 2009 à 20:37
Bonjour,
j'ai un exposé sur le compilateur lexical Flex pour le Lundi 10/12/2007 et je cherche un exemple qui se compile avec flex.
J'en ai un, mais il y a une faute que je ne parvient pas à la déterminer.
Je vous passe l'exemple
L'analyseur lexical de l'exemple ci-dessous recherche le mot le plus long tout en calculant la somme des entiers rencontrés dans le fichier. Il utilise deux variables prédéfinies :yytextet yyleng.
%{
#include <stdio.h>
int total = 0;
int score = 0;
%}
LETTRE [a-zA-Z]
CHIFFRE [0-9]
MOT {LETTRE}+
NOMBRE {CHIFFRE}+
%%
{NOMBRE} total+= atoi( yytext );
{MOT} if (yyleng > score){
score = yyleng;
printf("\n%s", yytext );
}
. printf("\nNi mot, ni nombre :%s", yytext);
%%
int main( void ) {
yylex() ;
printf("\nSomme des nombres %d\nbye...\n", total);
}
L'erreur s'est produite dans un autre exemple.
S'il vous plait aider moi.
Lire la suite 

Exemple sur le compilateur lexical Flex »

6 réponses
Réponse
+3
moins plus
tien voila un exemple si tu veux je t'explique quand tu veux : http://rapidshare.com/files/74803090/Calculator.rar.html

C'est une petite calculatrice que je vien de commencer et j'utilise FLEX + BISON pour parser les expressions. Ne fait pas attention à la qualité globale du code, c'est juste une esquisse de projet.

exemples possibles :
x = 2,345 + Pi
cos( x )^2 + sin( x )^2
ln( x )

toutes les fonctions connues et opérations suivent biensur..

bref si tu as des questions contacte moi au +41764665891 ou :
louka.outrebon@epfl.ch
Ajouter un commentaire
Réponse
+0
moins plus
Merci pour ton aide. C'est le premier exemple qui s'exécute pour moi.
pourrais tu me décrire la faute dans l'exemple que j'ai proposé.
Avec mes salutation.
Et merci pour tous.
Ajouter un commentaire
Réponse
+0
moins plus
je vais essayer de regarder ça ce weekend si jamais j'ai msn je serai la samedi ou dimanche : aimappeur (homtail com ) voila de rien c'est gratuit ;)
Ajouter un commentaire
Réponse
+0
moins plus
bonjour
je suis Lyes
je cherche en urgence un exemple d'une lettre de motivation
merci d'avance de m'envoyer un exemple
Ajouter un commentaire
Réponse
+0
moins plus
comment declarez l'ESPACE en lex
rourou - 12 mars 2009 à 20:37
Salut,

voila pour déclarer la tabulation : blancs [ \t]+

voila pour déclarer l'espace : espace \040+
(c'est le code ascii de l'espace).

c'est au niveau des expressions régulières.
Ajouter un commentaire
Ce document intitulé « Exemple sur le compilateur lexical Flex » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?