Fundamentos de la Traducción de Código: Compiladores, Ensambladores e Intérpretes

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,57 KB

Conceptos Fundamentales de Procesadores de Lenguaje

  1. ¿Para qué sirve un compilador?

    Se concibe como un programa que traduce un programa fuente (como FORTRAN) al lenguaje ensamblador o de máquina de algún computador.

  2. ¿Para qué sirven los lenguajes de programación?

    Han sido diseñados para poder escribir instrucciones parecidas a un lenguaje humano que las computadoras pueden convertir en código binario. Además, facilitan la programación de la computadora y son usados para crear herramientas de software (hojas de cálculo, procesadores de texto, etc.).

  3. Menciona las características importantes de 3 lenguajes de programación.

    • Fortran

      Fue diseñado para resolver problemas científicos, matemáticos y de ingeniería que requerían cálculos numéricos repetitivos y fórmulas complejas.

    • Lenguaje C

      Fue elaborado para escribir sistemas operativos (como UNIX, hecho casi totalmente en C). Los programas escritos en C son transportables.

    • Cobol

      Fue diseñado para resolver problemas científicos, matemáticos y de ingeniería que requerían cálculos numéricos repetitivos y fórmulas complejas.

Lenguajes Naturales y Artificiales

  1. ¿Qué es un lenguaje natural?

    Es el que nos permite designar las cosas actuales y razonar acerca de ellas. Puede ser utilizado para analizar situaciones altamente complejas y razonar muy sutilmente.

  2. ¿Qué es un lenguaje artificial?

    Permite la abstracción y conceptualización de ideas, y por medio de este nos comunicamos.

  3. ¿Cuál es la diferencia entre un lenguaje artificial y un lenguaje natural?

    • Lenguaje Natural (LN): Puede ser modelado fácilmente por un lenguaje formal, similar a los utilizados en las matemáticas y la lógica.

    • Lenguaje Artificial (LA): Nos permite la abstracción y conceptualización de ideas y por medio de este nos comunicamos.

Traductores y Ensambladores

  1. ¿Para qué nos sirve un traductor?

    Es un software que toma como entrada un programa escrito en un código llamado fuente y genera como salida otro programa en un código llamado objeto.

  2. ¿Cómo está estructurado un traductor?

    Código fuenteTraductorCódigo objeto

  3. ¿Qué es y cómo funciona un ensamblador?

    Se refiere a un tipo de programa informático que se encarga de traducir un fichero fuente escrito en lenguaje ensamblador a un fichero objeto que contiene código máquina, ejecutable directamente por la máquina para la que se ha generado.

  4. ¿Cómo se dividen los ensambladores?

    • Básicos
    • Modulares o macro ensambladores
    • Modulares de 32 bits o de alto nivel

Detalles del Compilador

  1. ¿Qué es un compilador?

    Acepta programas escritos en un lenguaje de alto nivel y los traduce a otro lenguaje, generando un programa equivalente independiente que puede ejecutarse tantas veces como se quiera.

  2. ¿Cuáles son las partes en que se divide un compilador y en qué consisten?

    • Front End

      Analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Suele ser independiente de la plataforma o sistema para el cual se vaya a compilar.

    • Back End

      Genera el código máquina, específico de una plataforma, a partir de los resultados de la fase de análisis realizada por el Front End.

  3. ¿Cómo se clasifican los compiladores?

    • Compiladores cruzados
    • Compiladores optimizadores
    • Compiladores de una sola pasada
    • Compiladores de varias pasadas
    • Compiladores JIT (Just In Time)

Intérpretes y Generadores de Código

  1. ¿Qué es un intérprete y cuál es su funcionamiento?

    Es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta. (BASIC es un lenguaje interpretado). Se consideran traductores-ejecutores, ya que con cada instrucción realizan un proceso triple de lectura-traducción-ejecución. Son relativamente lentos, pero muy buenos para la depuración de programas.

  2. ¿Qué es un generador de código?

    Se utilizan herramientas generadoras automáticas de código que trabajan basadas en un conjunto de reglas. Estas reglas definen la traducción de las instrucciones del lenguaje intermedio al lenguaje de máquina. En síntesis, para crear un generador de código se deben realizar muchas de las tareas que ejecutan los compiladores.

Entradas relacionadas: