marcellus
Kaiser
Solved: flex + bison probleme mit übergabe eines union
Ich will etwas mit flex + bison herumspielen und hab mir gedacht da wärs nett einen postscript compiler zusammenzubauen.
Der Compiler ging auch bis ich beschlossen habe von double werten auf
umzustellen. Dazu hab ich diesen Eintrag im Manual herangezogen.
Dabei ändert das define
den Funktionsaufruf von yyparse(), womint man yyparse() aufrufen sollte steht allerdings nirgendwo. Was dazu passen würde wäre die Option "%pure_parser", die wird aber verwendet, um mehrere Parser in einem Programm verwenden zu können und die Interessiert mich überhaupt nicht.
Da der Aufruf von meinem Programm das liefert:
Denk ich, dass die Zahlenwerte niemals beim bison ankommen. Gibts die Möglichkeit das ganze ohne pure_parser umzusetzen? Gibts irgendwo bessere Beispiele?
Ich spiel schon eine Zeit lang damit herum und bekomms nicht zum laufen, ich bin für alle Vorschläge offen.
Das das ganze nicht so in der Luft hängt hier der source:
Ich will etwas mit flex + bison herumspielen und hab mir gedacht da wärs nett einen postscript compiler zusammenzubauen.
Der Compiler ging auch bis ich beschlossen habe von double werten auf
Code:
union {
double num;
char* str;
}
umzustellen. Dazu hab ich diesen Eintrag im Manual herangezogen.
Dabei ändert das define
Code:
#define YYPARSE_PARAM scanner
den Funktionsaufruf von yyparse(), womint man yyparse() aufrufen sollte steht allerdings nirgendwo. Was dazu passen würde wäre die Option "%pure_parser", die wird aber verwendet, um mehrere Parser in einem Programm verwenden zu können und die Interessiert mich überhaupt nicht.
Da der Aufruf von meinem Programm das liefert:
Code:
$ ./simple
1 2 sub
number in lex 1.000000
number in bison is 0.000000
number in lex 2.000000
number in bison is 0.000000
$1: 0.000000, $2: 0.000000
Denk ich, dass die Zahlenwerte niemals beim bison ankommen. Gibts die Möglichkeit das ganze ohne pure_parser umzusetzen? Gibts irgendwo bessere Beispiele?
Ich spiel schon eine Zeit lang damit herum und bekomms nicht zum laufen, ich bin für alle Vorschläge offen.
Das das ganze nicht so in der Luft hängt hier der source:
Anhänge
Zuletzt bearbeitet: