Conceptos de Compiladores

Only available on StudyMode
  • Pages: 27 (8617 words)
  • Download(s): 695
  • Published: August 31, 2010
Read full document
Text Preview
TRABAJO DE CONCEPTOS

CARLOS ALFONSO CARRILLO DUARTE

MIGUEL ANGEL GARZON TRIANA

NICOLAS SNAIDER SEGURA AMADOR

Asignatura: Ingeniería de Software II

Docente: Ing. EMIRO SANABRIA CHOCONTÁ

UNIVERSIDAD DE CUDINAMARCA
FACULTAD DE INGENIERIA
INGENIERIA DE SISTEMAS
FUSAGASUGA
2010
CONTENIDO

1.COMPILADOR vs. INTERPRETADOR vs. ENCADENADOR3
2. TOKEN vs. VARIABLE5
3. DIAGRAMA DE CARRILERA vs. DIAGRAMA DE TRANSICIÓN O ESTADOS7
4. GENERADOR DE CÓDIGOS vs. GENERADOR DE APLICACIONES10
5. LENGUAJE DE BAJO NIVEL vs. LENGUAJE DE ALTO NIVEL11
6. LIBRERÍA vs. BIBLIOTECA13
7. PROCEDIMIENTO O FUNCIÓN vs. SUBPROGRAMA15
8. TABLA DE SÍMBOLOS vs. PALABRAS RESERVADAS16
9. ESTRUCTURA DE DATOS vs. ESTRUCTURAS DE COMPILACÓN18

1. COMPILADOR vs. INTERPRETADOR vs. ENCADENADOR

COMPILADOR:
Es un programa que traduce desde un lenguaje (código fuente) a un programa equivalente en otro lenguaje es decir a un lenguaje objeto, que se puede definir como una transición entre el código fuente y el ejecutable en donde se incluyen todas las librerías y funciones externas al código principal, posteriormente el encadenador crea un archivo ejecutable el cual es el que finalmente se va a implementar. Este archivo ejecutable envía instrucciones al hardware en un nivel más bajo donde las instrucciones son mucho más simples para el procesador, pero a la vez aumenta la complejidad ya que estas instrucciones son casi imposibles de comprender para el programador. Cabe anotar que cada compilador está especialmente diseñado para un lenguaje de programación específico. Como parte importante del proceso de traducción, el compilador reporta al usuario la presencia de errores en el programa fuente. La variedad de compiladores es bastante ya que hay cientos de lenguajes fuente, desde lenguajes tradicionales como Fortran y Pascal hasta lenguajes especializados que han surgido en cada área de la computación aplicada, igualmente existen varios lenguajes objeto, los cuales pueden ser otros lenguajes de programación, o lenguaje máquina. La clasificación de los compiladores se puede dar como de una sola pasada, multi-pasada, depuración, optimización, dependiendo de cómo han sido estructurados o la función que deban desarrollar. El proceso de compilación se podría dividir en dos etapas, la primera es la parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele ser independiente de la plataforma o sistema para el cual se vaya a compilar. Y la segunda es la que genera el código máquina, específica de una plataforma, a partir de los resultados de la fase de análisis. Esta división permite que en la segunda etapa (síntesis) se utilice para generar el código máquina de varios lenguajes de programación distintos y que en la primera etapa (análisis) se analice el código fuente de un lenguaje de programación concreto. El código que se genera en la etapa de síntesis normalmente no se puede ejecutar directamente, sino que necesita ser enlazado por un “LINKER” o programa encadenador.

INTERPRETADOR:
Es un programa que ejecuta instrucciones escritas en un lenguaje de programación. El compilador puede ser un programa que: 1. Ejecute el código fuente directamente
2. Traduzca el código fuente en alguna representación intermedia de código eficiente e inmediatamente lo ejecuta 3. Explícitamente ejecute código pre-compilado almacenado, hecho por un compilador el cual es parte del sistema interpretador PHP, Perl, Python, MATLAB, y Ruby son ejemplos del tipo 2, mientras que lenguajes como Pascal y Java del tipo 3: Programas fuente que son previamente compilados y almacenados como un código independiente de la máquina, el cual es posteriormente encadenado y ejecutado por un intérprete y/o compilador. Algunos lenguajes como Smalltalk, BASIC y otros combinan el tipo 2 y 3. Analiza el programa fuente y lo ejecuta directamente, sin generar...
tracking img