Parser Gernerator Lex/Yacc
-
Ich möchte versuchen ein Projekt mit Lex/Yacc zu realisieren. Dabei bin ich auf den Parser Generator von BumbleBee gestossen, der auf Anhieb ideal zu sein scheint. Er arbeitet offenbar mit dem BCB zusammen, erwähnt wird Version 3. Leider schaffe ich es nicht, die erzeugten (Beispiel-)Programme mit dem BCB6 zu kompilieren. Hat jemand Erfahrung mit dem Paerser Generator? Gibt vielleicht sonst noch eine Alternative, die sich mit dem BCB6 verträgt?
Dank im Voraus.
Gruß - Michael
-
Mgr schrieb:
Leider schaffe ich es nicht, die erzeugten (Beispiel-)Programme mit dem BCB6 zu kompilieren.
Wie wär's mal mit ein paar Details über die Probleme? Die Kristallkugeln sind alle grad zur Reparatur.
-
Nun, es gibt ja das berühmte calculator Beispiel, das nur ein Yacc script ist und kein Lex enthält. Ich habe die Bibliotheken (wie beschrieben) für den BCB6 erzeugt und dann das Beispiel als Konsolenanwendung kompiliert. Nach dem ich endlich die ganzen Pfade richtig eingegeben hatte konnte der Code auch kompiliert werden. Beim Starten der Anwendung wird ein Fehler gemeldet: 'Die Anweisung in "0x00325926" verweist auf Speicher in "0x4020fe00". Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden'. Damit kann ich leider gar nichts anfangen.
Gruß - Michael
-
Und an welcher Stelle im Quelltext beleibt der debugger stehen?
-junix
-
Das Programm ist folgendes:
int main(void)
{
int n = 1;
mycalc parser;if (parser.yycreate()) {
n = parser.yyparse();
}
return n;
}
Es knallt beim Aufruf von yycreate()! Im Debugger wird eine Zugriffverletzung angezeigt.
Gruß - Michael