Wie schreibt man einen C Compiler?



  • Hi!
    Für fast jeden Microcontroller gibt es einen C Compiler. Ich denke mal nicht, das es sich Firmen leisten können, bei jedem neuen Prozessor das Rad neu zu erfinden, und einen C Compiler mit Lexer, Parser usw. neu zu entwickeln.

    Deswegen die Frage, gibt es irgendwo eine Beschreibung o.Ä., die das Thema anreist?

    mfg olli



  • Schau einfach mal nach Compilerbau bei google, das ist das Thema um was es geht. Die Compiler werden natürlicht nicht immer von Grund auf neu geschrieben. Was sich am größten unterschiedet ist eigentlicht nur das Backend was den Code erzeugt, der Rest ist zum großen Teil immer gleich, es werden halt nur Controllerspezifische Sachen an der Sprache, bzw. meist intrinsic funtions angepasst. Sonst ist C halt auch immer C 🙂



  • 1. Bison-Datei für C-Parser aus dem Netz leiern
    2. den C-Code im ersten Bereich an den Mikrocontroller anpassen
    3. Den Bisoncode mit Bison kompilieren
    4. so man religiös veranlagt ist, beten
    5. mit C++ kompilieren

    😉



  • Moin Olli,

    http://gcc.gnu.org/
    Source saugen, dann den assemblerteil anpassen, solltest du ja können.
    eventuell, könntest du, die Assembler ausgabe, auf den Pokemon mini assembler umleiden, bin mir da aber unsicher, habe es selber nie Probiert.

    Vorteil, du hast einen Weit verbreiteten Kompiler, der C/C++ sehr gut übersetzt.
    (den nimmt ja die ganze Linux Welt)

    Du hast gleich paar Oberflächen dazu (Dev-cpp)
    Das ding ist plattform unabhängig.

    Du musst aber eventuell, die Libarys neu schreiben.

    naja, in dem sinne, möchte ich noch 1 was sagen,
    DreiDe!


Anmelden zum Antworten