Frontend und backend
-
Was ist eigentlich ein Compiler-Frontend und was ist das Backend? Welche Aufgaben haben die Beiden?
-
Frontend ist immer das was vor dem Benutzer zu sehen ist (Client, Benutzeroberfläche, IDE usw.), und Backend was für den Benutzer verborgen arbeitet (Server, Datenbank usw.). In deinem Fall ist das backend der eigentlich Compiler, das Frontend die IDE (Texteditor, Buttons die den Backend zum compilieren bewegen usw.).
-
GCC (GNU Compiler Collection) is essentially divided into a front end and a back end. The main reason for this division is for providing code reusability. As all of us know GCC supports a variety of languages. This includes C, C++, Java etc.
If you want to introduce a new language into GCC, you can. The only thing you have to do is to create a new front end for that language.
The back end is same for all the languages. Different front ends exist for different languages. So creating a compiler in GCC means creating a new front end. Experimentally let us try to introduce a new language into the GCC.
-
Artchi: Bei Compilern eben nicht. Das Frontend ist der Parser und die semantische Verarbeitung, das Backend der Codegenerator. Das Frontend ist im Großen und Ganzen sprachabhängig und maschinenunabhängig, das Backend dagegen sprachunabhängig und maschinenabhängig.
-
Also erzeugt das Frontend irgendeine Zwischensprache, die das Backend dann in Machinencode übersetzt?
-
Ja.