compiladores

16
NOMBRE: Lizbeth Barba. CURSO: 5to Nivel. TEMA: Compiladores Fortran H, C y Pascal.

Upload: liz-barba

Post on 28-Mar-2016

213 views

Category:

Documents


0 download

DESCRIPTION

Compiladores para Fortran H, C y Pascal

TRANSCRIPT

NOMBRE: Lizbeth Barba.

CURSO: 5to Nivel.

TEMA: Compiladores Fortran H, C y Pascal.

FORTRAN H

Es un lenguaje de programación alto nivel de propósito general, procedimental e imperativo, que está especialmente adaptado al cálculo numérico y a la computación científica.usado para aplicaciones científicas y de ingeniería, el FORTRAN vino a dominar esta área de la programación desde el principio y ha estado en uso continuo por más de medio siglo en áreas de cómputo intensivo tales como la predicción numérica del tiempo, análisis de elementos finitos, dinámica de fluidos computacional (CFD), física computacional y química computacional. Es uno de los lenguajes más populares en el área de la computación de alto rendimiento y es el lenguaje usado para programas que evalúan el desempeño.

ESTRUCTURA

PRINCIPALES CARACTERISTICAS

El lenguaje fue diseñado teniendo en cuenta que los

programas serían escritos en tarjetas perforadas de 80

columnas. Así por ejemplo, las líneas debían ser

numeradas y la única alteración posible en el orden de

ejecución era producida con la instrucción goto. Estas

características han evolucionado de versión en versión.

Las actuales contienen subprogramas, recursión y una

variada gama de estructuras de control.

FortranCardPROJ039.agr.jpg

VENTAJAS E INCONVENIENTES

DE SU SINTAXIS

Lo que fue la primera tentativa de proyección de un lenguaje de

programación de alto nivel, tiene una sintaxis considerada arcaica

por muchos programadores que aprenden lenguajes más

modernos. Es difícil escribir un bucle "for", y errores en la escritura

de sólo un carácter pueden llevar a errores durante el tiempo de

ejecución en vez de errores de compilación, en el caso de que no

se usen las construcciones más frecuentes. Algunas de las

versiones anteriores no poseían facilidades que son consideradas

muy útiles, tal como la asignación dinámica de memoria.

Se debe tener en cuenta que la sintaxis de Fortran fue orientada para el uso en trabajos numéricos y científicos. Muchas de sus deficiencias han sido abordadas en revisiones recientes del lenguaje. Por ejemplo, Fortran 95 posee comandos mucho más breves para efectuar operaciones matemáticas con matrices y dispone de tipos. Esto no sólo mejora mucho la lectura del programa sino que además aporta información útil al compilador.

Por estas razones Fortran no es casi usado fuera de los campos científicos y del análisis numérico, pero permanece como el lenguaje preferido para desarrollar aplicaciones de computación numérica de alto rendimiento.

PASCAL

Pascal es un lenguaje de programación. Su objetivo era crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y estructuración de datos. Sin embargo con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo.

Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipado. Esto implica que:

El código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica.

El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.

COMPILADOR PARA PASCAL

La memoria de la

Maquina se organiza

De las siguientes formas:

*Código para los

Procedimientos

* Constantes

*Pila para registros

*Montículos para datos

asignados

CARACTERISTICAS

Otra diferencia importante es que en Pascal, el tipo de una variable se fija en su definición; la asignación a variables de valores de tipo incompatible no están autorizadas (en C, en cambio, el compilador hace el mejor esfuerzo para dar una interpretación a casi todo tipo de asignaciones). Esto previene errores comunes donde variables son usadas incorrectamente porque el tipo es desconocido; y también evita la necesidad de notación húngara, que vienen a ser prefijos que se añaden a los nombres de las variables y que indican su tipo.

IMPLEMENTACION

Las primeras versiones del compilador de Pascal, entre ellas la más distribuida fue UCSD Pascal, traducían el lenguaje en código para una máquina virtual llamada máquina-P. La gran ventaja de este enfoque es que para tener un compilador de Pascal en una nueva arquitectura de máquina solo hacía falta reimplementar la máquina-P. Como consecuencia de esto, solo una pequeña parte del intérprete tenía que ser reescrita hacia muchas arquitecturas.

CODIGO EJM:

COMPILADOR PARA C

C es un lenguaje de programación Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones.

Se trata de un lenguaje fuertemente tipificado de medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos.

ESTRUCTURA

PROPIEDADES

Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas.

Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura).

Un sistema de tipos que impide operaciones sin sentido.

Usa un lenguaje de pre procesado, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente.

Acceso a memoria de bajo nivel mediante el uso de punteros.

Interrupciones al procesador con uniones.

Un conjunto reducido de palabras clave.

Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros.

Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo.

Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una única variable "empleado").

PROCESO DE COMPILACION

La compilación de un programa C se realiza en varias fases que normalmente son automatizadas y ocultadas por los entornos de desarrollo:

Preprocesador consistente en modificar el código fuente en C según una serie de instrucciones (denominadas directivas de preprocesado) simplificando de esta forma el trabajo del compilador. Por ejemplo, una de las acciones más importantes es la modificación de las inclusiones (#include) por las declaraciones reales existentes en el archivo indicado.

Compilación que genera el código objeto a partir del código ya preprocesado.

Enlazado que une los códigos objeto de los distintos módulos y bibliotecas externas (como las bibliotecas del sistema) para generar el programa ejecutable final.

EJEMPLO DE CODIGO: