Page 5 - LENGUAJES FORMALES AUTOMATAS Y COMPILADOS
P. 5

5


                                                          ENTREGA I

                                               CONCEPTOS PRELIMINARES


                          Lenguajes  formales:  para  abordar  una  definición  formal  de  lenguajes  formales,
                         empecemos por precisar ¿qué es un lenguaje?, un lenguaje es un conjunto de palabras y
                         oraciones o sentencias formadas sobre un alfabeto y para ese lenguaje cada palabra y
                         sentencia u oración tiene que tener asociada una sintaxis y una semántica, que expresen lo
                         que se puede y cómo se puede utilizar. Preliminarmente podemos definir lenguaje formal
                         como: conjunto compuesto por cadenas de longitud finita formadas por símbolos tomados
                         de un mismo alfabeto. Queda pendiente consignar una definición más apropiada para este
                         concepto  en  el  contexto  de  informática  y  autómatas,  en  donde  hay  que  explorar
                         definiciones  y  precisiones  respecto  a:  palabra,  cadenas,  frases,  sentencias,  alfabeto,
                         lenguaje, etc.

                          Autómatas: preliminarmente un autómata son máquinas o dispositivos abstractos con
                         capacidad de computación. Ahora bien, ¿qué tiene que ver los lenguajes formales con los
                         autómatas?  La  teoría  de  autómatas  está  estrechamente  relacionada  con  la  teoría  del
                         lenguaje formal ya que los autómatas son clasificados a menudo por la clase de lenguajes
                         formales que son capaces de reconocer. Un autómata es un modelo matemático para una
                         máquina de estado finita, la cual  es una máquina que, dada una entrada de símbolos,
                         "transita" a través de una serie de estados de acuerdo con una función de transición (que
                         puede ser expresada como una tabla).  Esta función de transición dice al autómata a qué
                         estado cambiar dados unos determinados estados y símbolos. La entrada es leída símbolo
                         por símbolo, hasta que es "consumida" completamente.  Una vez que la entrada se ha
                         agotado, el autómata se detiene. Dependiendo del estado en el que el autómata para, se
                         dice  que  este  ha  aceptado  o  rechazado  la  entrada,  el  conjunto  de  todas  las  palabras
                         aceptadas por el autómata constituyen el lenguaje aceptado por el mismo.

                          Compiladores:  son programas de computadoras  que traducen un lenguaje a otro. Un
                         compilador toma como entrada un programa escrito en su lenguaje fuente y produce un
                         programa  equivalente  escrito  en  código  objeto,  también  llamado  código  de  máquina.
                         Recuérdese que el código de máquina se refiere a las instrucciones correspondientes al
                         lenguaje  fuente  escrito,  ahora  en  las  instrucciones  de  máquina  correspondientes  a  la
                         computadora en la cual se ejecutará (¡de allí el problema de portabilidad!). ¿Qué tiene que
                         ver los compiladores con los autómatas y los lenguajes formales? Los compiladores son
                         programas complejos con muchas líneas de código (varían de 10,000 a 1000,000) por
                         consiguiente esta es tarea difícil tanto comprenderlo como escribirlo. Las técnicas y teoría
                         de  autómatas  hacen  de  la  construcción  de  compiladores  una  tarea  más  manejable.
                         Entonces  vislumbramos  como  estos  conocimientos  se  enlazan  y  complementan  y  en
                         consecuencia la presencia de estos temas.
   1   2   3   4   5   6   7   8   9   10