lunes, 28 de enero de 2019

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

I found the article called "Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler" very interesting because it broadened my perspective on the situations in which the knowledge of a compiler course can be applied.


I could understand that if I consider compilers as an instance of translators from almost any language to almost any other language, then the topics studied acquire great relevance for solving a wide variety of computational problems.


I found the examples that were analyzed very interesting, because previously I had not thought that a directed or unmanaged graph could be represented by a context-free grammar that could use compiler techniques to convert text to a graph. Similarly, it is interesting to note that to translate between LaTeX and HTML you can apply techniques very similar to those used in compilers.


In the section in which the article refers to the lexical analysis, the author allowed me to clarify the operation of this phase thanks to the analogy he makes between this phase and the translation of the English language. In the same way, I learned that there are tools such as lex and flex that allow generating lexical analyzers with advanced techniques and in a simple way. I also managed to understand how the analysis trees can be used for syntactic analysis. Something that made this section very clear to me is that thinking about translation problems as a compiler problem (and using known tools for these problems such as lex and yaac) can make the job much easier.


In the semantic analysis I could see that a problem can become very complex if it is not given the right approach, as in the case of semantic analysis in compilers that can help to easily solve a problem such as calculating the space occupied by objects created in an html document.

Finally, for the generation of code and optimization, I can say that they seem to have a slightly more obvious relationship with the compilers since, if the compilation techniques were not used, solving these types of problems would be very difficult and messy.

miércoles, 16 de enero de 2019

About me

Welcome to my blog called "Compiler Design". My name is Luis Ángel Lucatero Villanueva and I am a student at Tecnológico de Monterrey Campus Estado de México. I am taking the course of "Compiler Design" and all the publications of this space are directed to this course.


What I expect from this course is to learn how a compiler works and how to build one, I also would like to learn a lot about the the best programming languages to build a compiler in these days. I also hope that the class is enjoyable and challenging at the same time. I hope to learn a lot of useful things for my professional life.


My favorite hobbies are go out with my family, my friends and my girlfriend, walk my dog and watch series and movies, I also enjoy watching watching videos that I find interesting on YouTube and Facebook (About the universe, environment, video games, gadgets), and also I like to learn new things in MOOC plataforms like Udemy and Edx. My favorite series are "Rick and Morty", "Avatar the last airbender", "Game of Thrones", "Mr. Robot" and "Breaking Bad".
My favourite books use to be novels that give depth to the characters, such as "The Analyst" and "Dr. Jekill and Mr. Hide".


I like many musical genres, from the rock classics, like Queen, Aerosmith, Guns and Roses, to greats of hip hop, like Eminem, 50 cents, Dr. Dre. I also like classical music, pop, jazz and a few other genres.