Ich möchte C-Code generieren. Ich werde nicht aus einer Eingabedatei Zeile für Zeile lesen (wie es beispielsweise ein Compiler könnte). Eher werde ich Benutzereingaben analysieren, wie sie ankommen, Zeile für Zeile.Suche sehr einfache ANTLR Fehlerbehandlung Beispiel bei der Generierung von C-Code
Ich würde es vorziehen, schlechte Eingabe im Lexer/Parser, zB
/* lexer tokens */
foo : "FOO";
bar : "BAR";
baz : "BAZ";
/* grammar*/
grammar : foo "=" BAZ
| foo "=" BAR
| <some non-existent Antrl-else> : {printf(stderr, "bad input\n");}
;
OK zu erkennen und zu behandeln, wenn ich es nicht in der Lexer/Parser fangen kann, so scheint es, wie ich displayRecognitionError()
verwenden muß aber wie??
Kann mir jemand auf ein sehr einfaches Beispiel hinweisen, das C-Code generiert und einige Fehler bei ungültigen Eingaben zeigt?
Danke!
Ok, Kopfgeld, Yippee!
Aber nur für eine echte, funktionierende Antwort, mit echtem, funktionierendem Code. Nein "benutze Methode X()" ohne ein Beispiel.
FYI: dieses Kopfgeld wird auf die Antwort mit den meisten Stimmen nach Ablauf der Tage gehen, unabhängig davon, ob Sie eine Antwort akzeptieren oder nicht. –
Vielleicht hilft dieser Thread: http://markmail.org/message/pumvrybnhvfme5h6#query:rulecatch%20antlr%20c+page:1+mid:3jjjdzbecknrq644+state:results (beachten Sie die verschiedenen Antworten zu dieser Frage!) –
Ich sehe, Sie verwenden printf in Ihrem Beispiel. Verwenden Sie die Sprache C oder C++? – chollida