Hallo,
ich muss mir einen Parser bauen und habe mich für Flex und Bison entschieden. Das Ganze soll in Visual Studioo 2005 umgesetzt werden.
Nun habe ich zum Testen erstmal eine Dummy-l und -y-Datei geschrieben und mitkompiliert.
Das Erstellen der entsprechenden C++ Dateien geht auch. Aber bei denen bekomme ich nun Fehler, die ich mir nicht ganz erklären kann.
Die l-Datei
Die y-Datei
Der Fehler
Das ist die folgende Stelle
Hat einer ne Idee?
Danke,
Gruß Tobian.
ich muss mir einen Parser bauen und habe mich für Flex und Bison entschieden. Das Ganze soll in Visual Studioo 2005 umgesetzt werden.
Nun habe ich zum Testen erstmal eine Dummy-l und -y-Datei geschrieben und mitkompiliert.
Das Erstellen der entsprechenden C++ Dateien geht auch. Aber bei denen bekomme ich nun Fehler, die ich mir nicht ganz erklären kann.
Die l-Datei
Code:
%{
#pragma once
#include "stdafx.h"
%}
%%
%%
%%
int yywrap()
{
// following statements will never be executed, just to avoid warnings
int never = 0;
if( never )
{
yy_flex_realloc( 0, 0 );
yyunput( 0, "");
}
return ( 1 ); // done.
}
Die y-Datei
Code:
%{
#pragma once
#include "anaqueryscanner.l.cpp"
#include "stdafx.h"
int yylex(void);
void yyerror(char*);
%}
%start query_start
%%
query_start : ;
%%
Der Fehler
Fehler 4 error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'YY_PROTO' anaqueryscanner.l.cpp 380
Das ist die folgende Stelle
Code:
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
extern "C" int yywrap YY_PROTO(( void )); // hier ist der Fehler
#else
extern int yywrap YY_PROTO(( void ));
#endif
#endif
Hat einer ne Idee?
Danke,
Gruß Tobian.