In der Pipeline von GHC gibt es eine Phase der Übersetzung des Haskell-Quellcodes in Core und dann (nicht unbedingt als nächster nächster Schritt) die Übersetzung von Core in STG. Allerdings entgeht mir ein Problem von meinem Verständnis - wann haben wir einen "normalen" Code (d. H. Als einfachen Text) und wann etwas tatsächlich im Speicher lebt, wie abstrakte Syntaxbäume (ASTs)?GHC-Pipeline: Core, STG - ASTs oder Text?
Und auf meine Frage etwas präziser zu machen, wird ich es in zwei Teile unterteilen:
1) in der Parsen von Datei Phase Haskell Quelle, haben wir sofort Ast Sprachkern konstruieren? Wenn nicht, dann scheint es mir, dass wir ASTs von vollem Haskell konstruieren müssen (was merkwürdig erscheint) und sie dann entweder in ASTs von Core transformieren, oder erstens in textliche Repräsentation von ihnen in Core und erneutes Parsing, um Core's ASTs zu erhalten.
2) fast die gleiche Frage gilt für Core STG Übergang (aber in diesem Fall denke ich, kann ich davon ausgehen, dass, was wir haben Äste das ist Kern - korrekt)
Jetzt ist es klar - danke! Oh, und Links scheinen kaputt zu sein ... – socumbersome
Schau mal [hier] (https://github.com/ghc/ghc/tree/ghc-7.8/compiler/hsSyn), insbesondere [hier] (https: //github.com/ghc/ghc/blob/ghc-7.8/compiler/hsSyn/HsExpr.lhs), dann [hier] (https://github.com/ghc/ghc/blob/ghc-7.8/compiler/ coreSyn/CoreSyn.lhs) und [hier] (https://github.com/ghc/ghc/blob/ghc-7.8/compiler/stgSyn/StgSyn.lhs). –
Die Verknüpfungen wurden korrigiert. Das ist es, was ich bekomme, wenn ich versuche, saubere https: // www.haskell.org/ghc/'-Links anstelle von seltsamen https: // downloads.haskell.org/~ ghc /' -Links zu erzeugen. –