Mostrando entradas con la etiqueta Compiladores. Mostrar todas las entradas
Mostrando entradas con la etiqueta Compiladores. Mostrar todas las entradas

6 may 2011

Los diferentes lenguajes y la compilación

Un lenguaje utilizado para escribir programas para computadora permite la comunicació Usuario-Máquina. Unos programas especiales llamados traductores traductores (Compilador, Interprete) convierten las instrucciones escritas en lenguajes de programación en lenguajes escritos en lenguaje máquina (0-1 bits) que ésta pueda entender.
Lenguaje Maquina. Utiliza cadenas que son cadenas binarias (Serie de caracteres de 0 y 1) escritas en código de máquina o código binario, que son directamente intelegibles por su ordenador y puede obedecer inmediatamente sin traducción alguna.
El codigo binario depende del hardware de la computadora.

Lenguaje Objeto. Lenguaje o juego de instrucciones codificado a los cuales es traducido un lenguaje fuente por medio de un compilador, el lenguaje objeto es un lenguaje maquina directamente comprensible por su ordenador.
Lenguaje de Bajo Nivel. Lenguaje básico o lenguaje en el cual cada instrucción se corresponde con un equivalente en codigo máquina, las instrucciones son una cadena de instrucciones alfabeticas.
Lenguaje de Alto Nivel. Es un lenguaje natural, están diseñados para que las personas escriban y entiendan los programas de un modo más facil a los programas escritos en lenguaje máquina. El lenguaje de Alto Nivel es portable, es decir no dependen del hardware de la PC.

Lenguaje Fuente. (Source Languaje) Un lenguaje de programación que no puede ser directamente procesado por el hardware de un ordenador y exige ser compilado y convertido en un programa objeto compuesto por instrucciones en lenguaje máquina que el ordenador pueda entender.

Compilación

La traducción de un lenguaje fuente de Alto Nivel a programas ejecutables en lenguaje máquina suele implicar más de un paso de traducción, el proceso mismo de compilación puede comprender un cierto número de pasos que traducen progresivamente el lenguaje a varias formas intermedias antes de producir el programa final.

El proceso de traducción de programas de un lenguaje a otro equivalente, que realiza un compilador se conoce como "Compilación".

20 abr 2011

Esquema de un compilador

El proceso de traducción de un lenguaje a otro que realiza un compilador se conoce como compilación.

El entorno en que se desarrolle el compilador y el lenguaje en que se implante puede afectar la velocidad y fiabilidad de la implantación del compilador.

La traducción de un lenguaje fuente de alto nivel a un programa ejecutable en lenguaje maquina suele implicar más de un paso de traducción. El paso mismo de compilación puede compernder de un cierto numero de pasos que traducen progresivamente el lenguaje a varias formas intermedias antes de producir el programa objeto final.
 (Imagen 1: Esquema de un compilador)
 (Imagen 2: Fases de un compilador)
 Imagen 3: Analisis y Sintesis

30 mar 2011

Introducción a la Compilación

A medida que los lenguajes de programación evolucionan para tratar de imitar las habilidades humanas, las arquitecturas de las computadoras mas recientes son cada vez mas complejas de programar.

En teoria es posible construir una computadora para ejecutar directamente programas escritos en cualquier lenguaje de programacion en particular  pero no resulta económico costruir una maquna asi, es por eso que se opto por la creacion de un "compilador" cuyo producto puede ser ejecutado en cualquier o casi cualquier hardware.

En la actualidad la programacion del software se hace en lenguajes de "Alto Nivel" muy alejado  del lenguaje maquina mismo del hardware:

Los principapes lenguajes de Alto Nivel en la actualidad son:
  •     Ada
  •     ALGOL
  •     BASIC
  •     C++
  •     C#
  •     COBOL
  •     Fortran
  •     Java
  •     Lisp
  •     Modula-2
  •     Pascal
  •     Perl
  •     PHP
  •     PL/SQL
  •     Python
Compilador
Un compilador es un complejo programa informatico que lee un progra escrito en un lenguaje de "Alto Nivel" y lo traduce a un programa equivalente en  lenguaje de "Bajo Nivel" (Lenguaje Maquina) lenguaje el cual la computadora es capaz de interpretar y ejecutar.

Al compilar un programa y producir el programa objeto el compiladores:
  • Traduce cada una de las sentencias del lenguaje a sus equivalentes en codigo maquina.
  • Incorpora al programa objeto cualquier subrutina de las bibliotecas solicitadas por el usuario
  • Establece enlaces de interconexion entre las partes de los programas.
Pero para que el compilador realice el trabajo de traduccion, este necesita informacion  de:
  • Las especificaciones del numero, orden y tipo de parametros que espera cualquier subprograma llamado, esto permite al compilador comprobar si una invocacion del subprograma externo es valida
  • El lenguaje en el que los subprogramas estan codificados para que el compilador pueda establecer la adecuada secuencia de llamado de instrucciones para transferir datos  e informacion de control al subprograma externo durante la ejecucion  en la forma esperada por ese subprograma
  • La declaracion de tipos de datos para cualquier variable referida es necesaria para que el compilador pueda terminar la representacion de almacenamiento de la variable externa de manera que la referencia se pueda compilar usando la formula de acceso apropiada para la variable
  • La definicion de un tipo de datos que se define externamente pero se usa para declarar cualquier variable local dentro del subprograma  se necesita para permitir al compilador asignar almacenamiento y computar formulas de acceso pra datos locales

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cna certification