Compilerbau



  • Ein Garbage-Collector ist ein GC. Wofür GCC steht verrät Dir bestimmt Treffer 1 bei google.



  • Ben04 schrieb:

    Unter Assembler (ASM) versteht man entweder eine textuelle Darstellung eines kompilierten Programms oder das Programm welches diese Darstellung in eine für Prozessor und OS verständliche Datei überführt.

    Ein Prozessor führt durch Bitfolgen kodierte Befehle aus. Diese nennt man Opcodes. In ASM sind diese Befehle nicht durch Bitfolgen sonder durch für Menschen lesbaren Text dargestellt.

    Wenn deine Zielsprache kein ASM ist dann kommst du auch ohne aus. Du kannst zum Beispiel C-Code ausgeben und diesen dann durch einen C-Compiler schicken.

    Ja und der C-Compiler macht dann asm draus wöde ich mal vermuten 🙂
    Er könnte doch direkt die Bitfolge schreiben?



  • Wikinger75 schrieb:

    GCC(Garbage Collectorr)

    FAIL



  • Walli schrieb:

    Ein Garbage-Collector ist ein GC. Wofür GCC steht verrät Dir bestimmt Treffer 1 bei google.

    Der GCC wird vom GC eingesammelt. 🙂



  • Respekt 👍 Echt Tip Top. Total ausführlich, verständlich und umfangreich.



  • Ben04 schrieb:
    Unter Assembler (ASM) versteht man entweder eine textuelle Darstellung eines kompilierten Programms oder das Programm welches diese Darstellung in eine für Prozessor und OS verständliche Datei überführt.

    Ein Prozessor führt durch Bitfolgen kodierte Befehle aus. Diese nennt man Opcodes. In ASM sind diese Befehle nicht durch Bitfolgen sonder durch für Menschen lesbaren Text dargestellt.

    Wenn deine Zielsprache kein ASM ist dann kommst du auch ohne aus. Du kannst zum Beispiel C-Code ausgeben und diesen dann durch einen C-Compiler schicken.

    Ja und der C-Compiler macht dann asm draus wöde ich mal vermuten 🙂
    Er könnte doch direkt die Bitfolge schreiben?

    Joa stimmt^^
    Was erzeugt eigentlich der Compiler von C++ in den Objekt-Daten.^^

    Hmm also ich komm mal mit meiner übelegung zum Punkt^^
    1.) Der Compiler macht daraus ASM Dateien (Muss es ASM sein?^^).
    2.) Um daraus eine Exe machen zu können brauchen wir etwas wie einen Linker.

    Jetzt bleibt die Frage:
    Wie bastel ich einen Linker 😕 , obwohl das geht schon aus dem Thema raus^^

    Ah ja und der Linker macht daraus ja die Exe das heißt wen ich einen Linker mache der etwas anderes haben muss wie ASM dann kann ich ja auch etwas anderes wie ASM nutzen^^

    Ist Assembler eigentlich das beste dafür?

    Mfg Wikinger75!



  • Der Artikel ist bis inklusive Abschnitt 7 nachvollziehbar und die Quellcodes sind übersetzbar.

    Aber in Abschnitt 8 wird es unvollständig, denn da heisst es in der Funktion:

    bool parse_command(Env&env, const char*&pos, const char*end){
        BacktrackGuard guard(pos);
        if(ignore(pos, end, "print")){
            if(parse_expression(env, pos, end)){
    ...
    

    aber nirgendwo wird

    parse_expression(Env&env, const char*&pos, const char*end)
    

    angegeben. Es fehlen noch einige andere geänderte Funktionen.

    Ab da an ist kein Quellcode mehr übersetzbar.

    Gibts das ganze vielleicht auch als Ganzes mit allen Dateien in einer ZIP oder so?

    Denn es lässt sich schlicht nicht übersetzen, wenn es unvollständig ist.



  • es wurde angebeben

    bool parse_term(const char*&pos, const char*end, ostream&out);
    

    aber es fehlt

    bool parse_term(Env&env, const char*&pos, const char*end);
    


  • Kannst du einen Link zu einer cpp-Datei mit dem ganzen Code angeben?



  • Vielen vielen dank fuer diesen Artikel, er hat mir sehr geholfen 🙂

    grosses lob


Log in to reply