Making compiler design relevant to Students
The title is pretty accurate to some concerns that may arise from this class, and the aswer presented in this paper is that you must relate the concepts and problems that arise from the development of a compiler to a more down to earth application that most of the students will use or at least derive something from.
One example is the frequent problem of tokenizing elements so they can be manipulated and altered more easily, and this is something that is treated inside the design of a compiler, in fact being one of the first steps, or another one is denoting the similarities between the design of a compiler and the development of methods to translate, understand and manipulate natural language.
Another interesting example is the resemblance of the front end of applications and the translation done by a compiler, at the end of the day they are both doing the same thing, translating an input and transforming it giving an output, being it translating a language or translating user actions into useful system deeds, it may well be from clicking certain buttons in certain order in a GUI or being translated from a more human readable language into useful high or low level language so the computer and the user can interact and accomplish something.
Such examples give us something to latch onto, gives us a reason of how we can abstract the concepts from this course into more general things than designing a compiler, abstract it so we can see the compiler more like a problem of translation than the design and development of a highly specialized tool to translate from a high level language to a low level one, having a deeper understanding of the translation problem and applying it to whatever related problem life presents to us in our professional careers.
Comentarios
Publicar un comentario