[Flex & Bison] Problème avec yyFlexLexer
	
	
		Bonjour à tous,
Bah voila, peut etre avez vous vu mes anciens sujets sur des problemes avec lex et yacc, et bien en voila un autre :)
Mon projet marche bien avec les entrées par defaut de yyFlexLexer, a savoir les entrees sorties sur l'ecran.
Maintenant si j'essaie de lui dire, prend comme entrée le fichier suivant (ce qui est le but final), là ca plante ...  :x  Error memory (acces violation je crois ) etc..
Voila en gros mon fichier yacc : 
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 
 |  
%{       
            //Pour enlever les warnings  du compilateur de visual C++ 6.0
            #pragma warning(disable:4786)
            #include <iostream>
            #include <vector>
            #include <fstream>
            #include <string>         
            #include <FlexLexer.h>
            // -- prototypes des fonctions obligatoires
            void yyerror(char *);
            int yylex();
            // -- variable globale qui est mon scanner
            yyFlexLexer* lexer;
%}
 
//La grammaire non montree ici
 
void yyerror(char *s)
{
    fprintf(stderr, "%s\n", s);
}
 
int yylex(void)
{
            return lexer->yylex() ;
}
 
int main(int argc, char** argv)
{
            std::ifstream yyin("in.txt");
            if(!yyin)
            {
                        std::cerr << "Impossible de lire le fichier source" << std::endl;
                        exit(1);
            }
            //Des cast qui sont normalement corrects
            lexer = new yyFlexLexer(reinterpret_cast<class istream *>(&std::cin), reinterpret_cast<class ostream *>(&std::cout));
 
            try
            {
                        yyparse();
            }
            catch ( ... ) // traite toutes les exceptions
            {
                        std::cerr << "Erreur inconnue. Ligne : " << lexer->lineno() << std::endl;
            }
            return 0;
} | 
 J'utilise donc flex et bison sous windows et je travaille avec Visual C++ 6.0
Je ne comprend pas trop pourquoi cela ne marche pas. Et si l'erreur vient d'ailleurs , comment la voir ?
Merci d'avance
++