2009-05-25 12 views
2

Ich kompiliere eine YACC-Datei mit Cygwin Shell auf einem PC. Ich bekomme einen 'unbekannten Charakter \ 15'. Das Seltsame ist, dass ein Mitarbeiter auf einem anderen Computer die gleiche Datei mit der gleichen Shell ohne Warnungen oder Fehler kompilieren kann. Gibt es irgendeine Art von Flag, die ich in meiner Shell oder mit dem Compiler setzen muss? Wir benutzen nmake und einen Visual Studio Compiler. Ich werde glücklich sein, mehr Informationen bei Bedarf zur Verfügung zu stellen.YACC kompilieren Fehler

Vielen Dank!

+0

Ich bin nicht sicher, ob das ist, wenn er den Parser erzeugt, oder eher wenn er etwas analysiert ... ich denke, das ist ein Parse-Fehler ... brauche mehr Informationen ... – LB40

Antwort

4

Überprüfen Sie Ihre End-of-Line-Einstellungen. Sie haben wahrscheinlich CRLF und YACC erwartet nur LF. CR ist ASCII 13 (15 in Oktal).

+0

Ich lief DOS-> UNIX auf die Datei und es funktionierte. Vielen Dank! –

0

Octal 15 ist ein Wagenrücklauf. Haben Sie die Datei im Textmodus vom Computer Ihres Kollegen übertragen?

2

Wenn Sie cygwin installieren, werden Sie gefragt, was die Standard-EOL (Ende der Zeile) sein soll, traditionelles Unix "\ n" oder traditionelles Dos "\ r \ n". Meine Vermutung ist, dass Sie und Ihr Mitarbeiter Cygwin anders konfiguriert haben. Wahrscheinlich möchten Sie Ihre setup.exe erneut ausführen und dos EOL auswählen.

+0

Oder wahrscheinlicher, wählen Sie nicht-DOS (Unix) Zeilenenden, da die Beschwerde über^M vorhanden ist. –

+0

Meine Erwartungen waren, dass yacc dann vielleicht Wagenrückgaben in der Quelle akzeptieren würde, ohne sich zu beschweren. Aber natürlich ist es die zuverlässigste Sache, die Quelle zu reparieren. – hlovdal