int main(void) {
int token;
while ((token = yylex()) != EOF) {
[...]
}
exit(0);
}
Gisa
das hatte ich versucht.
Ich kann nix eingeben. Es wird zwar geöffnet aber ich kann nix eintippen.
Was mach ich falsch?
Grüße
Gisa
Tobias
Wenn sich die Console geöffnet hat musst du den Text eintippen und Enter drücken.
Gisa
so habe das ganze nochmal wiederholt.
Ich kann meine test.exe zwar öffnen aber es öffnet sich nur einen console. Sonst läuft da nix ab. Es sollte eigentlich einen text von der Standardeingabe in Großbuchstabe umwandeln.
Bitte um Hilfe.
Gruß
Gisa
Gisa
das habe ich doch :-) funktioniert allerdings nicht. Schmiert ab. Wg. einem ungültigen Befehl.
Tobias
Man könnte doch glatt mal versuchen, die Datei auszuführen und gucken was passiert.
Gisa
Musste mich erst einarbeiten :-).
ok jetzt hab ich meinen generierten Scanner.
-
Fehlermeldung beim kompilieren des lex.yy.c undefinied reference to yywrap ?? und -lfl (auf welchen ordner/Bibliothek wird gelinkt), gcc findet keins bei mir.
Grüße
Gisa
---
Also nachdem ich nun im windows die Bibliothek nicht verlinken konnte hab ich es kurzerhand mit Suse gemacht.
Ich habe jetzt eine ausführbare Datei namens test -> Ist das mein Scanner?!
Grüße
Gisa
Gisa
Hallo Tobias,
alles klar. Ich habe mir die Setup Datei runtergeladen und installiert. Sie wird unter GNU32 in der Startleiste aufgeführt. Ich finde allerdings kein Oberfläche/GUI von Flex.
Also soweit ist alles verständlich bis auf das durchjagen im Flex. Wie?
Wäre toll wenn du das noch kurz erklären könntest.
Grüße
G.
----
meinst du etwa flex oder flex++? Wie benutzt man Sie?
2.) Einen C/C++ Compiler. Ich denke, dass GCC ganz gut funktioniert.
Der Rest ist easy:
Du erstellst eine LEX-Datei test.l wie bei dir unten angegeben und jagst sie durch flex. Das Resultat ist eine lex.yy.c-Datei. Die kannst du dann mit GCC compilieren:
gcc -o test.exe lex.yy.c -lfl
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen.