[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Jemand Ahnung von flex



> > > Ausgabe (also das .cc file) schein nicht i.O. zu sein. An 2 Stellen wird
> > > eine Funktion yywrap() aufgerufen, die aber weder in dem .cc file noch
> > > im .l noch in FlexLexer.h definiert ist.
> > > 
> > > ich könnte natürlich ein define an den Anfang der Datei hängen, aber ich
> > > weiss leider nich ob die besser = 0 oder = 1 sein sollte. Ich häng das
> > > .cc mal an.

yywrap() wird von dem generierten Parser/Scanner aufgerufen, wenn ein
Dateiende erreicht wird, damit Du Sorge tragen kannst, dass weitere
Dateien eingelesen werden.  In diesem Fall musst Du diese Funktion
yywrap() schreiben und mit dem Rückgabewert 0 signalieren, dass der
Parser/Scanner *keine* default-Prozedur ausführen soll.

Wenn Dein Scanner also yywrap() nicht zur Verfügung stellt, bist Du
auf der sicheren Seite, wenn yywrap() einen Wert ungleich null
zurückliefert.       

Näheres in der Manpage zu flex.

Gruß, 
Hans-Christoph



Reply to: