Als «compilers» getaggte Fragen

Fragen zu Programmen, die Code in einer Sprache (Ausgangssprache) lesen und in ein gleichwertiges Programm in einer anderen Sprache (Zielsprache) übersetzen.



2
Ist semantische Bewahrung Solidität (oder Korrektheit) oder Vollständigkeit
Bei der Transformation von Begriffen von einer Sprache in eine andere ist die intuitiv gewünschte Eigenschaft die Beibehaltung der Semantik (wie sie beispielsweise hier für eine CPS-Transformation verwendet wird): s⇓v⟹c(s)⇓c(v)s⇓v⟹c(s)⇓c(v) s \Downarrow v \implies c(s) \Downarrow c(v) Ich bin jedoch ein wenig beunruhigt, wenn ich dies mit den klassischen Begriffen …

1
Gibt es andere Implementierungen der spinless tagless G-Maschine als in GHC?
Von Simon Peyton Jones (jüngstes Mitglied der Royal Society) haben wir das Papier gelesen: Implementierung fauler Funktionssprachen auf Standardhardware: die Spineless Tagless G-Machine . Dieses Papier ist Teil dessen, wie sie Haskell bei der Implementierung zu einer faulen Sprache gemacht und einige Probleme gelöst haben, die sie zu dieser Zeit …
7 compilers 

4
Warum sind Mehrfachrückgabewerte nicht üblich?
Ich möchte eine Frage zu mehreren Rückgabewerten stellen, warum dieses Konstrukt in Programmiersprachen (konzeptionelle und / oder technische Schwierigkeiten) nicht vorzuziehen ist. Ich habe etwas über Stapelrahmen gehört und wie sie Speicher für Rückgabewerte und variable Rückgabewerte reservieren, könnte dies problematisch machen, aber wenn jemand dies besser erklären könnte, wäre …

1
Tag-freie Speicherbereinigung für objektorientierte Sprachen
Ich suche nach einer guten Speicherbereinigungstechnik für meine Sprache und habe dieses Papier gefunden , in dem Benjamin Goldberg eine Speicherbereinigungstechnik für stark typisierte Sprachen beschreibt, bei der zur Laufzeit keine Typinformationen mehr benötigt werden. Kurz gesagt, dies erfolgt durch Platzieren eines Zeigers auf eine Garbage Collection-Funktion direkt nach einem …

1
Wie ist REGEXP in Programmiersprachen implementiert?
Gibt es ein gutes allgemeines Papier über die Interpretation oder Kompilierung von REGEXP in Programmiersprachen für den Mustervergleich mit oder ohne Variablen? Ich bin nicht auf der Suche nach einer kurzen Erklärung zum Aufbau von DFAs, sondern nach einem echten Papier darüber, wie dies bei der Implementierung von Programmiersprachen tatsächlich …

1
Ist die Syntax der C-Sprache vollständig durch CFGs definiert?
Ich denke, die Frage ist autark. Ist die Syntax der C-Sprache vollständig durch kontextfreie Grammatiken definiert, oder haben wir Sprachkonstrukte, für die im Verlauf des Parsens möglicherweise nicht kontextfreie Definitionen erforderlich sind? Ein Beispiel für ein Nicht-CFL-Konstrukt, das ich dachte, war die Deklaration von Variablen vor ihrer Verwendung. In Compilern …

4
Gibt es echte Lexer, die NFAs direkt verwenden, anstatt sie zuerst in DFAs umzuwandeln?
Ich nehme an der Coursera-Klasse für Compiler teil und in der Lektion über Lexer wird angedeutet, dass es einen Zeit-Raum-Kompromiss zwischen der Verwendung eines nicht deterministischen endlichen Automaten (NFA) und eines deterministischen endlichen Automaten (DFA) zum Parsen regulärer Ausdrücke gibt. Wenn ich das richtig verstehe, besteht der Kompromiss darin, dass …

2
Sind Monoide bei der Optimierung nützlich?
Viele übliche Operationen sind Monoide . Haskell hat diese Beobachtung genutzt, um viele Funktionen höherer Ordnung allgemeiner zu gestalten ( Foldableein Beispiel). Es gibt eine offensichtliche Möglichkeit, mit Monoiden die Leistung zu verbessern: Die Programmierer behaupten die Assoziativität der Operation, sodass Operationen parallelisiert werden können. Ich bin gespannt, ob es …


1
Können abstrakte Syntaxbäume in subexponentieller Zeit nicht analysiert werden?
Abstrakte Problembeschreibung So wie ich es sehe, bedeutet Unparsing, einen Token-Stream aus einem AST zu erstellen, der beim erneuten Parsen einen gleichen AST erzeugt, dh parse(unparse(AST)) = ASThalten sollte. Dies entspricht dem Auffinden eines gültigen Analysebaums, der denselben AST erzeugen würde. Die Sprache wird durch eine kontextfreie S-zugeschriebene Grammatik unter …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.