2. FORTRAN
• 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.
Características
• Es un lenguaje de programación de alto nivel
• Es de propósito general, procedimental e imperativo
• Esta especialmente adaptado al calculo numérico y a la
computación científica especialmente a los cálculos mas
complicados
• Desarrollado en IBM bajo supervisión de John Backus.
3. FORTRAN I
• Nombres tenian mas de 6 caracteres
• Codigo muy rapido
• Compilacion no separada.
FORTRAN II
• Compilacion independiente
• Arreglaba los errores
FORTRAN IV
• Seleccion logica declaraciones if
• Declaraciones tipo explicitas.
FORTRAN 77
• Declaraciones if, then, else
• Control de repeticion while
FORTRAN 90
• Recursividad
• Apuntadores
Versiones de Fortran
4. Estilo de programación con Fortran
Portabilidad: Para asegurar la portabilidad del código, se recomienda usar sólo el
estándar de Fortran 77.
Estructura del Programa: La estructura total del programa deberá ser modular.
Cada subprograma deberá resolver una tarea bien definida. Mucha gente prefiere
escribir cada subprograma en un archivo por separado.
Variables: Declarar siempre todas las variables. No se recomienda la declaración
implícita. Intentar compactar a 6 caracteres como máximo para nombres de
variables, o asegurarse que los primeros 6 caracteres son únicos.
Arreglos: En muchos casos es mejor declarar todos los arreglos grandes en el
programa principal y entonces pasarlos como argumentos a las distintas subrutinas.
De esta forma toda la asignación de espacio es hecha en un sólo lugar.
Subprogramas: Nunca se debe permitir que las funciones tengan "efectos
laterales", por ejemplo: no se deben cambiar los valores de los parámetros de
entrada. Usar subrutinas en tales casos. En las declaraciones separar los
parámetros, bloques comunes y variables locales. Minimizar el uso de bloques
comunes.
6. Compiladores para Fortran H
Características
• Permite al usuario no
elegir
optimización, optimizaci
ón de registros o
completa.
• Escrito por Lowry y
Medlock (1969)
• Se realizan varias
pasadas:
• Las dos primeras realizan el
a.léxico y a.Sintáctico
produciendo cuádruplos
• La siguiente optimiza el código y
registros
• La última genera código objeto a
partir de cuádruplos y
asignaciones a registros
En el léxico
• Devuelve los pares
operador operando son un
token operando junto con
el token no operando
precedente.
• Utiliza precedencia de
operadores para las
expresiones.
• Optimizaciones
simples, sustituir
multiplicaciones por dos
por desplazamientos.
En la optimización
• Eliminación de
subexpresiones
comunes.
• Traslado de código.
• Propagación de
copias.
• Eliminación de
variables de
inducción.
Estructura de los
Compiladores H
7. PASCAL
• Pascal es un lenguaje de programación desarrollado por el profesor suizo
Niklaus Wirth entre los años 1968 y 1969 y publicado en 1970. 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.
Características
• Lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth.
• Fue un lenguaje que facilito el aprendizaje de programación utilizando la
programación estructurada.
• Introdujo la sentencia case.
• Es muy simple y sencillo
• El código está dividido en porciones fácilmente legibles llamadas funciones
o procedimientos
8. Compiladores para Pascal
• Compilador de una pasada.
• Organizado alrededor del A. Sintáctico.
• Analizador descendente recursivo.
Características
• Código para los procedimientos
• Constantes
• Pila para registros de activación
• Montículo para datos asignados aplicando el operador new
Organización
Memoria
• Fue fácil de implementar
• Generaba poca actividad de entrada/salida
• El código de un procedimiento se compila en memoria y
se escribe como una unidad a la memoria secundaria
Ventajas
• Limitaciones en la calidad del código
generado
• Mucha necesidad de memoria
Inconvenientes
10. C
• 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.
Características
• Diseñado para programar sistemas en Bell Labs, por Dennis Ritchie.
• Evolucionó de B, y después de ALGOL 68.
• Operadores potentes, pero pobres.
• Verificación de tipos muy extendido a través de UNIX y
disponibilidad de compiladores gratuitos y de alta
calidad, especialmente gcc.
11. Compiladores para C
CARACTERÍSTICAS
Lenguaje de
propósito general
(Ritchie)
Principal lenguaje
de programación
en UNIX
UNIX está
escrito en C
Compiladores de
dos pasadas PDP-
11 tiene una
tercera opcional
para optimizar el
lenguaje
ensamblador
CompiladorPDP-11
Utiliza descenso
recursivo menos
para expresiones
Expresiones con
precedencia de
operadores
Código intermedio
• Expresiones
notación
postfija
• Ensamblador
para estructuras
de control
COMPILADORPCC
Generado con
YACC
Código intermedio
• Expresiones
notación prefija
• Ensamblador
demás
construcciones