Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Compiladores / Ingenieria de Sistemas / Introducción a la Compilación

Introducción a la Compilación

Por jc mouse domingo, junio 26, 2011

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
  • Pascal
  • Perl
  • PHP
  • PL/SQL
  • Python

Compilador

Proceso de un CompiladorUn 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 para datos locales

 

Tags

Artículos similares

Caja blanca: Prueba del camino básico

La prueba del camino básico, es una prueba de «caja blanca» que consiste en verificar el código de nuestros sistemas de[...]

Ejemplo de Pruebas Unitarias en Java

Una Prueba Unitaria, es una forma de comprobar que nuestro código, hace lo que se supone debe hacer; es decir, se asegur[...]

KolibriOS Sistema Operativo Open Source

KolibriOS  es un pequeño sistema operativo poderoso, rápido y libre con un núcleo monolítico anticipativo en tiempo real[...]

3 en raya java con MVC y Netbeans

Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos de una aplicación, la inter[...]

CORBA en java .:. Ejemplo completo

Common Object Request Broker Architecture (CORBA) es un estándar que permite que diversos componentes de software escrit[...]

Alda: Lenguaje de programación para composición musical

Alda es un lenguaje de programación desarrollado por Dave Yarwood el cual esta basado en texto para composición musical,[...]