Making Compiler Design Relevant for Students
It’s true
that almost nobody will be a compiler designer or developer. So, what is the
importance for a computer science student to take the compiler design course? There
are more about than the compiler itself. The techniques that we learn in this
course could be applied in many ways. Although the objective of the course is
to learn how to translate high level language into low level assembly or
machine code, we can use the basics and principles of the 4 compiler phases to
do more than a compiler, which involves: Lexical Analysis, Semantic Analysis,
Code Generation and Optimization. One of the examples that author of “Making Compiler Design Relevant for Students
who will (Most Likely) Never Design a Compiler” gives is to make a translator
from LaTex to HTML. Indeed, I had a related experience. I started working about
7 months ago, and one of my first tasks was to make a parser that receives a
SQL file and outputs a PHP file with the corresponding SQL instructions using Laravel
models. In that moment it was a little bit difficult to think how to map the
SQL instructions into Php code. So, with the reading I realize that the
techniques that we will be learning along the course could help to accomplish
that task more efficient and professional. I think that designing a compiler
should teach you not only how to translate from one programming language to
another, but it teaches you how to solve parsing problems. There are a lot of
problems where we have a string as input and we have to extract tokens and
analyze them to give an output. Then, I’m strongly agree that despite of we are
not going to be compiler designers, it is the backbone that we have to have, in
order to earn powerful tools to resolve problems, not only compilers.
Comentarios
Publicar un comentario