Ir al contenido principal

Internals of GCC

 After listening to the podcast i got a whole new vision to the "layers" and the importance into understanding the benefits that you can get from looking into every layer, and for that every day there is  a lot of effort from all the compiler developer in order to improve this functionalities.

Now we can actually threw all of the stages in which the source code that is written by the programmers into the target code that understands the computer and can execute it. First the lexical analysis we are going to check all of the characters stream into a token stream, that basically means looking for all of this reserved word or variables that will be used justa as "and, or, do".

The second stage is the is where we introduce the abstract syntax tree in order to see the order in which the operations are going to be compute.The third phase is going to be a check to see if the variables were declared in the previous version. And Finally the code generation  that can be easy explained to be the translation from a higher order language into a lower.

Finally just to mention a few things of the GCC some of their advantage like the flexibility and the portability because this compiler  works in linux, MacOS and even Windows can get the distribution. Also this compiler can read source files inputs like ADA, Fortran C++ and so much others. In my own opinion this is pretty good because even the non experts in compiler design can get a very good comprehension of the activities that the gcc compiler is making. All of the phases explained here will help see my project in a so much easy way ando will make see all of the derivables more clear from now on,


Comentarios

Entradas más populares de este blog

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

 After having my time with the reading I got the opportunity to answer some of their questions I did to myself when I heard of this subject. First it was the doubt of How many compilers I will have to make in my future life?, now I know that the maybe I will never have to do another compiler, but that I have to pay more attention into the problems and learn about the solution in a more modular way. Looking for the problems like this even outside the subject is a very good philosophy for any life. You are basically just taking all of the huge problems and solving them in small parts just as the programming advices always tells you. One of the examples that remberme something is the translator of Latex into html because somehow remembers me the tool web of symbolab, when I need to make some math notes or I have math homework I use symbolab tool as GUI for making my matrix and just having to Ctr+c in order to get the Latex commands and export them to my document. From the text I will reme

Lin Clark on WebAssembly

 I think is pretty good to have the web topic around another blog activity and well combined i think because the last semester I got the chance of talking the computational graphics subject and is was all focus on web development for 3d rendering and was very important because it's been a while since the browsers have access to the graphics card and indeed this been my first approach to the technology is as Lin mention where we have the structure as HTML,  design CSS and Javascript for the functionality. It was surprising  for me to see that this was first designed for PC because of the way we use JavaScript for games in the web and is an language that born just to be easy to understand leaving just a side the optimization. From the podcast i understand the benefits of the binary instructions provided by Web Assembly; It's design made for the portability and with targets of high level languages have the functionality of the deployment o client or server client.  When they menti