Internals of GCC

Compilers are an essential part of programming, they can be built depending on the language and syntax to be identified. In this podcast Morgan is interviewed and he explains the concept of a compiler and what its function is in the programming part. I like that Morgan explains it in a very clear way, especially so that everyone listening to the podcast can understand this word perfectly. He explains this concept using the GCC compiler as an example, which is programmed in C/C++.

He starts by explaining in not so technical words how a compiler takes a source code and through certain processes, generates a representation of the code and does it in a more efficient and clear way, so that the processor can understand what it wants to do. We talk about references and declarations of variables, functions, among other things. It also talks about how the compiler is in charge of making the parse tree, and how an internal structure is generated to make the representation of the source file.

Talking about the gcc processor, Morgan focuses on the front end and middle end functionality. On the frond end he says that it is in charge of quickly reviewing the code and marking syntax errors and possible warnings that may exist. And on the middle end he mentions that he is in charge of optimizing the code, this means that his function is to produce a representation of the front end, which has to be much easier and more efficient so that it can be processed and generate the expected result, according to the source file.

In my opinion, it is a podcast that gives a lot of information and besides talking about the functionality of a compiler, Morgan explains us about the gcc compiler, which is used for different programming languages.


References:


Deters, Morgan, Arno. (July 6, 2007) Episode 61: Internals of GCC. Taken from: http://www.se-radio.net/2007/07/episode-61-internals-of-gcc/

Comentarios

Entradas populares de este blog

Technical Overview of the CLR

Ruby and the Interpreter Pattern

Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler