begin process at 2012 05 30 08:01:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

types dans lex / yacc


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

types dans lex / yacc

vendredi 9 avril 2004 à 06:25:50 | types dans lex / yacc

Guillemouze


bon jvais essayer detre clair.....

alors g un code en lex et yass mais g un probleme lors de la compilation du fichier .tab.c et g limpression que ca vient du typage!

voici les sources:

- imput.l:


%{
#include "arbin.h"
#include "input.tab.h"
#include <stdlib.h>
%}



blank [ \t\n]
blanks {blank}+
lettre [a-zA-Z_]
mot {lettre}+

%%

{blanks} return FIN
{mot} {yylval = yytext[0];
return(VARIABLE);}
"+" return(OU);
"-" return(NON);
"->" return(IMPLIQUE);
"<->" return(EQUIVAUT);
"(" return(PAR_OUVR);
")" return(PAR_FERM);

%%



- input.y


%{
#include "arbin.h"
#include <stdio.h>

%}

/*
%union {
char* chaine;
arbin* arbre;
liste* lst;
}
*/


%token <chaine> VARIABLE
%token OU IMPLIQUE EQUIVAUT NON PAR_OUVR PAR_FERM FIN

%left OU IMPLIQUE EQUIVAUT
%right NON

//%type <arbre> litteral clause
//%type <lst> formule

%start fichier

%%

fichier : formule FIN
;


formule : clause FIN {$$ = AjoutListe($1);}
;

clause : litteral {$$ = $1}
| clause OU clause {$$ = AjouterNoeud($1, $3, '+');}
| clause IMPLIQUE clause {$$ = AjouterNoeud($1, $3, '>');}
| clause EQUIVAUT clause {$$ = AjouterNoeud($1, $3, '=');}
| PAR_OUVR clause PAR_FERM {$$ = $2;}
| NON clause {$$ = AjouterNoeud($2, NULL, '-');}
;

litteral : VARIABLE {$$ = AjouterFeuille(AjouterVar($1));}
;

%%


int yyerror( char *msg )
{
fprintf(stdout,"=======\n=======Erreur : %s\n=======", msg);
return 1;
}



si jenleve les lignes en commentaire, jai une erreur des la compilation avec bison

Merci a ceux qui pourront maider


Cette discussion est classée dans : fin, code, include, return, clause


Répondre à ce message

Sujets en rapport avec ce message

C++ Standard ? [ par mmuller57 ] Voila, je viens d'aller sur le site de Bjarne Stroustrup et j'y ai pris un exemple de code source en C++ standard :#include#includeusing namespace std Ca veut pas s'afficher !!! [ par Nini ] Bon alors voilà le probleme : je doit faire afficher une phrase aléatoirement avec un switch et un rand mais elle veut pas s'afficher. Voilà ma source Difference [ par xionoxid ] C'est koi la difference entre time (0) et time (NULL) les 2 font des nbr aleatoire !??#include #include #i Petit probleme de code en C sur Linux !! [ par UncleShu ] Je voudrais créer un fichier dans le réperoire personnel d'un utilisateur mais mon code ne marche pas !!#include #include #include #define DIR $HOM Problème de lecture [ par Hades53 ] Voila, j'ai fait un code pour lire des fichiers qui marche, mais il y a un petit problème avec la dernière ligne du fichier qu'on veut lire:si la dern #include circulaires [ par abubu38 ] Salut, J'ai un gros probleme de compilation au niveau des .h :fichier f1.h : #include f2.h class A { // définition nécéssitant la classe Erreur DeviceIoControl ??? pk acces refusé ? [ par akk ] Bonjour,Voila lorsque j'execute ce code :(on passe le nom du lecteur en parametre exemple : main C)#include #include <iostre html+dialog sans MFC [ par Manson ] Salut,voila j'essai d'integrer une page html dans une dialog, maissans MFC.Par mfc c'est super simple. Mais sans ... ca devient plus dure.J'ai integre Fonction return dans une console windows [ par Jolfulorc ] Bonjour,Lorsque j'affiche un texte dans une console windows (code du genre : coutla façon que j'ai trouvé pour contourner cet inconvénient [debutant] erreur : Problème d'affichage [ par arwenita ] J'ai un erreur pour afficher une variable : error C2228: left of '.GetAdminPassword' must have class/struct/union typeJe ne comprends pas, ma fonc


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,076 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales