martes, 14 de octubre de 2014

Internals of GCC


This week I listened a podcast called Internals of GCC, it was really interesting and unexpected, since they explained a how GCC works. GCC is a really commonly used and famous compiler; it stands for GNU Compiler Collection, but I never gave it a thought so I could understand how it works. This compiler can work with several programming languages, not as I thought at first, since I had only used it before with C language.
That’s why GCC works on different layers, on the top there’s the Front-end, which transforms code so it can be ready for the next layer, it turns code written by someone into a tree, since different languages are supported and not all of them have the same functionalities this step intends to make them all logically similar. The most important part into this process of compiling is the SAT, this stands for Syntax Abstract Tree, every function or process must be handled in a different section.
 Then the data is passed to the next layer, which takes this tree, and turns it into a local and more simplified one, getting an internal or local tree that contains the entire logic. At the end, the code is passed to the Back-end, which transforms the date into code assembly code and its architecture dependent, this layer can even make an improvement into the code.
 This podcast was really interesting, because it was able to understand a little bit more of how the compiling process of such a used compiler works, so other compilers might use the same logic, it was really helpful, I could get a better understanding of the process we’re making to code our project, because both, guest and host, had good skills handling the flow of the information and making clear every point.

martes, 26 de agosto de 2014

Making Compiler Design Relevant for Students



This article at first mentions how unlikely we are, as university students, to design a compiler by the time we’ve finished the compilers course, I agree about that, even though I believe this course is really important to us due the relevance it has with our major, we might not design any compiler after this, but the important thing is that we’re about to design at least one course so we can understand how compilers work.
So, the article also says that we don’t give this course the relevance it we should, I can’t totally agree that, since I’ve heard that this course is one of the most difficult in all the whole curricula, I think all of us (I hope so…) will be doing our best, especially since most of us are about to graduate. What I’m expecting this time is to have fun with these projects and not only to accomplish a passing grade, since there’s a lot of material we can learn, not just for now, but material that could actually change the way we write or design code.
At the end the article explains how having a deeper understanding of how translations work, and the problems translation causes, help us to be able to apply different techniques to this or how we can use different tools to develop and design compilers, this way we can avoid translation problems and we can get to code in a faster way so we can be more efficient and productive.
This paper gives us an overview about compilers, I don’t feel necessary to write about that, since that’s what we’re going to discuss this semester and we all can read it, so I believe it’s better to give an opinion about this, and not just explain what I just read.

viernes, 15 de agosto de 2014

Introducing myself

Hi! My name is Rosario Madariaga and I'm 24 years old.

What I expect from this course is to completely understand how a compiler work and the process of how it is made, and since we're using C# this will be a good opportunity to get to know this programming language.


My hobbies are ballet (Which I'm not currently practicing.), I really really like learning new languages, right know I'm learning Japanese, German and Portuguese, and actually at this moment of my life I'm really interested in learning Danish, but learning four at the same time would be just too much, anyway, I also like video games, and hanging out with my brother. :)

 

Some TV shows that I've enjoyed recently are Once Upon a Time and Pretty Little Liars, and about movies I'd say Maleficent and TMNT, the only books I've read recently are about networking. And music definitely would be Fall Out Boy, Paramore, New Politics, Twenty One Pilots and Panic! at the Disco.