Internals of GCC


Probably, if we hear the word “compiler”, we do not show amazement or even a high reaction, we just say: "oh well, good for you". And that’s the problem we have right now. The compiler process it's important in order to run our programs and we don't the enough importance to it. But in this post, I'll talk about a podcast that gives a really good introduction to the GCC.

The first time I heard the podcast, I really get astonished because the GCC receives a lot of inputs of programming languages. And then the podcaster introduces the internal part or ecosystem of GCC. A thing he mentioned is that it is divided into three main layers. Front, middle and back. The front shows us how important is the language we will use in order to compile, all the lexical and syntax analysis, the structure of our program. The middle show us a minimum representation of what we build in the front part. And finally, the back shows us our new program transformed into the correct compiler we build.

So, this three-layers allows us to build a compiler for almost any programming language, but if we remember our past blog entry, we said that the programming languages do not last forever, so now imagine, making compilers for any language is a little bit complicated, even if we use GCC. So we have to build compilers in order to run our new programming language or make the actual languages persists through eternity. Maybe it will be like that, but not in this time, maybe in a one hundred years or more. But knowing that at any point we are updating, GCC will increase its inputs of languages. So I will definitely enjoy how other people build these compilers or maybe I would build it, but one point that I will be sure is that GCC will provide me the tools to build better compilers. Also, if GCC keeps updating. But I’m sure we will find a way to not depend on compilers anymore.

Comentarios