Fragen zu Programmen, die Code in einer Sprache (Ausgangssprache) lesen und in ein gleichwertiges Programm in einer anderen Sprache (Zielsprache) übersetzen.
Wenn Sie sich Julias Webseite ansehen , sehen Sie einige Benchmarks mehrerer Sprachen über mehrere Algorithmen (Timings siehe unten). Wie kann eine Sprache mit einem Compiler, der ursprünglich in C geschrieben wurde, C-Code übertreffen? Abbildung: Benchmark-Zeiten im Verhältnis zu C (kleiner ist besser, C-Leistung = 1,0).
Ich habe festgestellt, dass einige Anwendungen oder Algorithmen, die auf einer Programmiersprache basieren, beispielsweise C ++ / Rust, schneller oder schneller ausgeführt werden als Java / Node.js, die auf demselben Computer ausgeführt werden. Ich habe ein paar Fragen dazu: Warum passiert das? Was regelt die "Geschwindigkeit" einer Programmiersprache? Hat dies …
Frage: "Bestimmte Eigenschaften einer Programmiersprache erfordern möglicherweise, dass der darin geschriebene Code nur durch Interpretation ausgeführt wird. Mit anderen Worten, die Kompilierung zu einem systemeigenen Maschinencode einer herkömmlichen CPU ist nicht möglich. Was sind diese Eigenschaften?" Compiler: Prinzipien und Praxis von Parag H. Dave und Himanshu B. Dave (2. Mai …
Ich frage mich, ob es möglich ist, Compiler für dynamische Sprachen wie Ruby zu erstellen, die eine ähnliche und vergleichbare Leistung wie C / C ++ aufweisen. Nach meinem Verständnis von Compilern, zum Beispiel Ruby, kann das Kompilieren von Ruby-Code niemals effizient sein, da die Art und Weise, wie Ruby …
In Sprachen wie C wird vom Programmierer erwartet, dass er Aufrufe an free einfügt. Warum macht der Compiler das nicht automatisch? Menschen tun dies in einer angemessenen Zeitspanne (Ignorieren von Fehlern), so dass es nicht unmöglich ist. EDIT: Zum späteren Nachschlagen hier noch eine Diskussion, die ein interessantes Beispiel hat.
Ich interessiere mich für die zeitliche Komplexität eines Compilers. Dies ist natürlich eine sehr komplizierte Frage, da viele Compiler, Compileroptionen und Variablen zu berücksichtigen sind. Insbesondere interessiere ich mich für LLVM, würde mich aber für Gedanken interessieren, die Menschen hatten, oder Orte, an denen sie mit der Forschung beginnen könnten. …
Angenommen, ein Programm wurde in zwei verschiedenen Sprachen geschrieben: Sprache X und Sprache Y. Wenn die Compiler denselben Bytecode generieren, warum sollte ich Sprache X anstelle von Sprache Y verwenden? Was macht aus, dass eine Sprache schneller ist als die andere? Ich frage dies, weil oft Leute sagen: "C ist …
Wenn ein Computer eine Variable speichert und ein Programm den Wert der Variablen abrufen muss, woher weiß der Computer, wo im Speicher nach dem Wert dieser Variablen gesucht werden muss?
Ich plane einen Winterkurs zu verschiedenen Themen, von denen eines Compiler sein wird. Nun, ich bin auf dieses Problem gestoßen, als ich über Aufträge nachgedacht habe, die während des gesamten Quartals zu vergeben waren, aber es hat mich ratlos gemacht, sodass ich es stattdessen als Beispiel verwenden könnte. public class …
Ich verstehe, dass wenn es 2 oder mehr linke oder rechte Ableitungsbäume gibt, die Grammatik mehrdeutig ist, aber ich kann nicht verstehen, warum es so schlimm ist, dass jeder es loswerden will.
Ich habe das folgende Zitat aus dem Kurs meines Compilers (im Zusammenhang mit der Grafikfärbung): Da es langsam ist, wird die Grafikfarbe in Batch-Compilern verwendet, während der lineare Scan in JIT-Compilern verwendet wird. Ich konnte online keine klare Definition finden. Was macht einen Compiler zu einem Batch-Compiler?
Wikipedia und andere Quellen, die ich gefunden habe, listen den voidTyp C als Einheitentyp und nicht als leeren Typ auf. Ich finde das verwirrend, da es mir so scheint, als ob es voidbesser zur Definition eines Leer- / Bodentyps passt. voidSoweit ich das beurteilen kann, gibt es keine Werte . …
Gibt es Programme, die Quellcode zwischen zwei beliebigen Sprachen 'übersetzen' können (vorausgesetzt, der Übersetzer hat Zugriff auf die erforderlichen Bibliotheken)? Wenn ja, wie funktionieren sie (eingesetzte Techniken, erforderliche Kenntnisse usw.)? Wie würden sie realisierbar sein? Wenn nicht, welche Einschränkungen verhindern ihre Entwicklung? Handelt es sich um ein AI-vollständiges Problem (die …
Bei JIT-Compilern für Sprachen wie Java, Ruby und Python herrschte großer Hype. Inwiefern unterscheiden sich JIT-Compiler von C / C ++ - Compilern, und warum heißen die für Java, Ruby oder Python geschriebenen Compiler JIT-Compiler, während C / C ++ - Compiler nur Compiler genannt werden?
In Andrew W. Appels Buch Modern Compiler Implementation in ML sagt er unter Kapitel 17, dass die Computability-Theorie zeigen wird, dass es immer möglich sein wird, neue Optimierungstransformationen zu erfinden, und fährt fort, um zu beweisen, dass ein vollständig optimierter Compiler das Halteproblem lösen wird: Ein Programm Q , das …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.