How a compiler really works?
The podcast was very interesting because it tells you the difference between the books and real world implementation of the famous compiler GCC. With GCC, they had to think on how to create a generic compiler for multiple languages and multiple architectures, which may present a challenge when implementing because it is completely different than the book theory.
The way this compiler achieves this is by separating the language translation from the architecture translation. The Front-end part of the compiler does the language translation, in other words, it converts a given language to a type of C. It is language specific. The middle-end is independent from the language and the platform, but it basically optimizes the given code for either runtime or memory usage.The backend produces the given architecture binary, it is obviously platform specific.
I also think it is very interesting how it mentions the compromises needed to change the platform and how some code can actually run better in different architectures using the same compiler. It was a very good podcast, at the beginning I thought I would get bored but at the end I enjoyed it quite a bit.
The way this compiler achieves this is by separating the language translation from the architecture translation. The Front-end part of the compiler does the language translation, in other words, it converts a given language to a type of C. It is language specific. The middle-end is independent from the language and the platform, but it basically optimizes the given code for either runtime or memory usage.The backend produces the given architecture binary, it is obviously platform specific.
I also think it is very interesting how it mentions the compromises needed to change the platform and how some code can actually run better in different architectures using the same compiler. It was a very good podcast, at the beginning I thought I would get bored but at the end I enjoyed it quite a bit.
Comentarios
Publicar un comentario