Bei der Konzeption und implenting eine objektorientierte Programmiersprache, muss irgendwann man eine Wahl trifft über grundlegende Arten der Umsetzung (wie int, float, doubleoder Äquivalente) als Klassen oder etwas anderes. Offensichtlich Sprachen in der C - Familie eine Tendenz haben , nicht sie als Klassen zu definieren (Java hat spezielle Urtyp, …
Ich fange an, Gerüchte über dieses Projekt namens ASM.js zu hören . Derzeit ist ihre Website schrecklich und verwirrend. Folgendes weiß ich aus meinen Recherchen im Internet. Es ist eine Teilmenge von JavaScript, die in hohem Maße optimiert werden kann. Ich vermute, weil es die dynamischeren Teile der Sprache vermeidet. …
Aus verschiedenen Vergleichen zwischen C ++ - Vorlagen und C # / Java-Generika wie diesem https://stackoverflow.com/questions/31693/was-sind-die-unterschiede- zwischen-generika-in-c-und-java-und-vorlagen-in-c/31929#31929 Ich habe die Vorstellung, dass C ++ - Vorlagen durch eine Art Vorverarbeitung (Ersetzen von einfachem Text vor dem Parsen) implementiert und nicht kompiliert werden. Da die Typüberprüfung in C ++ - Vorlagen …
Wenn ich einen Parser für eine Programmiersprache erstelle, was verdiene ich und was habe ich verloren, als ich mich für die eine oder andere entschieden habe?
Ich kenne Python nicht sehr gut. Ich versuche genauer zu verstehen, welche genauen Merkmale dynamischer Sprachen (à la Python, Lua, Scheme, Perl, Ruby, ...) ihre Implementierungen langsam machen. In diesem Fall würde eine mit Lua 5.3 umsetzbare Maschine Lua intuitiv sehr langsam machen, aber in der Praxis wird gemunkelt, dass …
Nach meinem Verständnis liegt der Grund für den Geschwindigkeitsunterschied zwischen kompilierten Sprachen und Python darin, dass der erste Code vollständig zum Code des nativen Computers kompiliert wird, während Python zu Python-Bytecode kompiliert wird, der vom PVM interpretiert wird. Ich sehe, dass auf diese Weise Python-Codes auf mehreren Betriebssystemen verwendet werden …
Ich arbeite langsam daran, mein Studium zu beenden, und dieses Semester ist Compilers 101. Wir verwenden das Drachenbuch . Kurz in den Kurs und wir sprechen über die lexikalische Analyse und wie sie über deterministische endliche Automaten (im Folgenden DFA) implementiert werden kann. Richten Sie Ihre verschiedenen Lexer-Zustände ein, definieren …
Ich versuche, Zusammenstellung und Interpretation Schritt für Schritt zu verstehen und ein Gesamtbild zu finden. Ich bin also auf eine Frage gekommen, als ich diesen Artikel gelesen habe: http://www.cs.man.ac.uk/~pjj/farrell/comp3.html Es sagt : Die nächste Stufe des Compilers heißt Parser. Dieser Teil des Compilers versteht die Grammatik der Sprache. Es ist …
Diese Frage wurde von Stack Overflow migriert, da sie in Software Engineering Stack Exchange beantwortet werden kann. Vor 8 Jahren migriert . Wenn wir sagen, dass "Dennis Ritchie C-Sprache entwickelt hat", meinen wir damit, dass er einen Compiler (unter Verwendung einer bereits entwickelten anderen Sprache) erstellt hat, der den in …
Hinweis: Wenn ich im Titel "Komplex" verwendet habe, bedeutet dies, dass der Ausdruck viele Operatoren und Operanden enthält. Nicht, dass der Ausdruck selbst komplex wäre. Ich habe kürzlich an einem einfachen Compiler für die x86-64-Assembly gearbeitet. Ich habe das Haupt-Frontend des Compilers fertiggestellt - den Lexer und den Parser - …
Warum wird in einigen Sprachen in der Dokumentation eher "gleich" als "ist" angegeben? Zum Beispiel sagen die Python Docs itertools.chain(*iterables) ... Entspricht : def chain(*iterables): # chain('ABC', 'DEF') --> A B C D E F for it in iterables: for element in it: yield element Oder diese C ++ Referenz …
Laut Wikipedia bedeutet der Begriff "Bootstrapping" im Zusammenhang mit dem Schreiben von Compilern Folgendes : In der Informatik ist Bootstrapping das Schreiben eines Compilers (oder Assemblers) in der Quellprogrammiersprache, die kompiliert werden soll. Das Anwenden dieser Technik führt zu einem selbsthostenden Compiler. Und ich kann verstehen, wie das funktionieren würde. …
Aus heutiger Sicht passt diese Frage nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich Debatten, Argumente, Abstimmungen oder erweiterte Diskussionen hervorrufen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden …
Geschlossen . Diese Frage ist meinungsbasiert . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 5 Jahren . Vor kurzem begann ich mich zu fragen, wann Entwickler …
Ich möchte wissen, ob es möglich ist, den deleteunten angegebenen Fehler beim Kompilieren zu erkennen . Insbesondere würde ich gerne etwas über den g ++ Compiler erfahren. ClassTypeA *abc_ptr = new ClassTypeA[100]; abc_ptr[10].data_ = 1; delete abc_ptr; // error, should be delete []
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.