Unterdrückt bestimmte Haskell Alex / Happy-Kompilierungsnachrichten

8

Wenn Sie entweder einen Lexer.x oder einen Parser.y Parser mit dem Alex Lexer Generator oder dem Happy Parser Generator erstellen, diese in Haskell Dateien kompilieren und diese in Objektdateien kompilieren, erzeugt dies standardmäßig die folgenden "Warnungen" :

%Vor%

Diese Zeilen treten als Folge der folgenden Zeilen auf, die in die generierten .hs -Dateien eingebettet sind:

%Vor%

Warum sind diese Zeilen enthalten, und gibt es eine Möglichkeit, diese Nachrichten zu unterdrücken, falls die Befehlszeile anscheinend nicht für irgendetwas im generierten Lexer und Parser verwendet wird?

    
Simon Shine 05.08.2013, 13:57
quelle

1 Antwort

1

Googlen "links, aber nicht eingegeben" deutet darauf hin, dass solche Meldungen auf eine falsch konfigurierte gcc hinweisen. Hier ist der Code in Apples Version, der die Nachricht erzeugt:

%Vor%

(aus Ссылка )

Hier bezieht sich "ICE" auf "interner Compiler-Fehler".

Die #LINE-Anweisungen werden eingefügt, damit ghc Fehler basierend auf den Speicherorten in den .x- oder .y-Dateien melden kann. Es besagt, dass die folgende Zeile wirklich eine bestimmte Zeile aus einer anderen Datei ist. Die Direktiven #LINE für die Pseudodateinamen <command-line> und <built-in> können ignoriert werden, da ihnen immer unmittelbar eine Anweisung #LINE für einen echten Dateinamen folgt, z. B .:

%Vor%

Als Test können Sie einfach die #LINE-Direktiven für <command-line> entfernen und sehen, ob die Warnungen weg sind. Ich würde auch versuchen, dein gcc und / oder deine Haskell Plattform neu zu installieren / zu verbessern.

    
ErikR 12.07.2014, 16:02
quelle