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