Wenn ich vergesse, eine Leerzeile an das Ende einer meiner Dateien zu setzen, bekommt mein Programm einen Syntaxfehler. Das Problem ist, dass meine Grammatik einen Zeilenumbruch am Ende der aktuellen Zeile erwartet. Da es keinen Zeilenumbruch gibt, erzeugt Bison einen Syntaxfehler, weil es die Regel nicht abschließt.
Wie kann ich das lösen? Ich habe versucht <<EOF>>
return MY_EOF
ABER wenn ich das tue, stürzt Lex einen schrecklichen Tod. Ich vermute, dass es Code in seinem Standard-EOF gibt, den ich nicht aufrufe. Ich habe keine Ahnung, welche Funktionen das sein könnten. Die Verwendung von EOF erzeugt den Fehler symbol EOF is used, but is not defined as a token and has no rules