jueves, 29 de agosto de 2013

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

El artículo titulado “Making Compiler Design Relevant for Students who will (Most Likely) Never Design a Compiler”, escrito por Saumya Debray expone las fortalezas que se obtienen al entender cómo es que funciona un compilador, así como también las fases, herramientas y ejemplos que se no sólo se basan en el diseño de un compilador como tal, sino que también se pueden utilizar las mismas herramientas para resolver problemas cotidianos de programación.

La idea que se tiene acerca de un compilador por algunos programadores, es que es un programa que solamente traduce código de alto nivel a código de bajo nivel (generalmente código maquinal) que puede ser entendido y ejecutado por la maquina, pero al leer el texto nos podemos dar cuenta que no siempre es código maquinal, binario, etc., sino que la salida puede ser de otro tipo, por ejemplo de LATEX a HTML, esto siguiendo las gramáticas libres de contexto que van siguiendo las reglas del lenguaje. Las fases por las cuales pasa un compilador son cuatro, el análisis léxico en donde se divide la entrada en grupos de “tokens” y el parseo verificando por expresiones regulares si estas pertenecen al lenguaje o no, el análisis semántico que revisa que la fase anterior tenga un significado válido para el lenguaje, como alcance de las variables, sus declaraciones antes de ser usadas, la generación de código que son las instrucciones que pueden ser interpretadas por la máquina y la optimización en donde se busca reducir la cantidad de recursos (tiempo y memoria)1

Me parece muy acertado el hecho de que se haya reincorporado esta materia a la carrera, ya que ha habido planes de estudios en los que ha desaparecido y es una materia que no sólo incrementa tus habilidades como programador, sino que te lleva a lo más profundo de un código y entender mejor cómo es que funciona un programa en todas sus fases.


1 Blogspot.mx. (29 de agosto, 2013). OPTIMIZACIÓN DE CÓDIGO. 16 de Noviembre de 2010. Disponible en: http://commpi.blogspot.mx/2010/11/optimizacion-de-codigo.html.

No hay comentarios:

Publicar un comentario