Page 45 - LENGUAJES FORMALES AUTOMATAS Y COMPILADOS
P. 45

45


                                             COMPILADORES E INTÉRPRETES

                  Un compilador es un programa informático que traduce un programa escrito en un lenguaje de
                  programación a  otro  lenguaje  de  programación,  generando  un  programa  equivalente  que  la
                  máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero
                  también puede ser un código intermedio  o simplemente texto.  Este proceso  de traducción  se
                  conoce como compilación.

                  Un compilador es un programa que permite traducir el código fuente de un programa en lenguaje
                  de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera
                  un programador puede diseñar un programa en un lenguaje mucho más cercano a cómo piensa un
                  ser humano, para luego compilarlo a un programa más manejable por una computadora

                  Sin duda conceptualmente hablamos de un traductor, y un traductor es un intermediario entre el
                  emisor y el receptor, este traductor debe de alguna forma encapsular la complejidad del lenguaje,
                  convirtiendo la fuente en objeto.

                  El proceso básico de la traducción es el siguiente:



                    Programa
                      Fuente               Analizador             Analizador              Generador
                                              léxico               sintáctico             de código
                      Objeto



                  Algunos conceptos:

                  Ensamblador:  es un tipo de programa informático que traduce un archivo fuente  escrito  en
                  lenguaje ensamblador a un fichero objeto que contiene código de máquina ejecutable para la
                  máquina para el que fue generado. O sea que en la tarea fundamental del ensamblador es generar
                  el código ejecutable de máquina a partir del programa ya en lenguaje ensamblador.

                         Se usan ensambladores porque:
                               Proveen un mayor control de la computadora.
                               Hay total independencia del lenguaje.
                               Los programas en ensamblador generalmente son más rápidos y consumen
                                menos recursos.

                         Desventajas en su uso:
                               Son más complicados y complejos.
                               Se requiere un conocimiento más profundo de la computadora, en tanto que se
                                programa a bajo nivel, se requiere manejar registros y posiciones de memoria,
                                etc.
                               Usualmente genera más error.
                               Se demora más tiempo construir el programa (la codificación).
                               Y no son portables.
   40   41   42   43   44   45   46   47   48   49   50