lunes, 21 de noviembre de 2016

Making Compiler Design Relevant for Students

The design of compilers seems a complicated task, but after reading the article I think it is something we do often, not with code but with things from everyday life. For example, when started in conversation with other people even though the language is the same, what our brains do when we hear each word is to translate it and find its own meaning and that is how we understand words, by their meaning, and basically thus is how a compiler works.

On the other hand, as the title of the article mentions, it must be make the design compilers more relevant for students who have never designed a compiler. For my part (as embarrassing as it sounds) I have not very clear what a compiler does, I understand the basics things about code translation but learning something else about the subject seems me so interesting.

Designing a compiler is a complicated process, it is like learning to read and write (or at least that's how I understood each of the phases to design a compiler). For example, the phase of lexical analysis and parser reminds me when we begin to recognize the vowels and consonants and we separated them into groups, we separated each letter, and we relate each of them to a different sound. Then comes the part in which we begin to form words and ours teachers begun to teach us grammar rules of punctuation, accents, and orthographic rules; this phase would be semantic analysis.

Finally, after all we had learned, we began to interpret each of the sentences in a context and, we identified the meaning of most of the words we heard (over time we learned more), we related each one to its own meaning. This phase would be Code Generation. The optimization phase would be to perfect our language day by day with new words or to learn new languages.

No hay comentarios:

Publicar un comentario