invercion
Ingeniería de Sistemas
Generalidades
Ing. Max Jara Paredes
maxjarap@gmail.com
1
Compiladores – Historia
FORTRAN (FORmula TRANslation), Jhon Backus
◦ Sin estructuras de datos como registros, apuntadores, tipos
enumerados
◦ Sin recursividad
GNU
Eiffel
“Los verdaderos programadores usan ensamblador”
2
Compiladores –Porqué estudiarlos?
Ayudan a comprender el funcionamiento de la máquina a
bajo nivel
Ayudan a comprender mejor el diseño e implementación de
programas
Se aplican técnicas aprendidas en semestres anteriores
Las técnicas de su construcción son aplicables al desarrollo
software en general: análisis léxico en formateadores y
editores de texto, lenguajes de consulta, transformación deformatos de ficheros
Aplicación al procesamiento paralelo y distribuido
GNU
Eiffel
3
Compiladores – Porqué estudiarlos?
MODELO
GNU
Eiffel
LENGUAJE
CARACTERISTICAS
Compilado
Fortran,
Sintaxis rigurosa. Programas rápidos o de
Cobol,
C, tamaño reducido.
Explotación de
C++, Pascal instrucciones
especiales
del
microprocesador
Interpretado
Lisp,
SQL
Basic,Desempeño lento. Ideal para desarrollos
rápidos (prototipos). Sintaxis más relajada
y mayor libertad en la conversión de datos.
Pseudocompilado Java
Transportabilidad absoluta.
Requiere
máquina virtual para ser ejecutado. Mejor
desempeño que un programa interpretado
pero más lento que uno compilado. La
sintaxis es rigurosa.
FUENTE Ponencia presentada por el M. en C. Eduardo RenéRodríguez Ávila en la “Tercera Semana de Ingeniería IEEE”; Abril 29,
1998; ENEP Aragón.
4
Generalidades - Conceptos relacionados
Lenguajes de programación
GNU
Eiffel
Arquitectura de computadores
Compiladores
Matemáticas discretas
Teoría de lenguajes
Ingeniería del software
Teoría de algoritmos
5
Generalidades - Comunicación
GNU
Eiffel
Qué se entiendepor comunicación?
Cuál es la finalidad de la comunicación?
Cuales son los elementos comunes en una comunicación?
Cómo el hombre se comunica con el hombre?
Cómo el hombre se comunica con el computador?
Qué se entiende por lenguaje?
6
Lenguaje de programación
GNU
Eiffel
Cómo el hombre le “indica” al computador lo que debe
hacer?
En el marco de los conceptos: comunicación ylenguaje, qué
papel juega la programación?
Cuáles lenguajes de programación conoce?
Qué sabe respecto a su nivel de abstracción?
7
Lenguaje de programación - Concepto
Lenguaje programación
GNU
Eiffel
tiene
tiene
Sintáxis
Semántica
relacionada con
relacionada con
Aspecto
en formato
BNF
usada
Traducción
Significado
de un
de un
Programa
8Lenguaje de programación - Ejemplos
Año
Lenguaje
Descripción
Primeros
ensambladores
simbólicos
*
* ESCRIBE "HELLO, WORLD!" A DONDE SEA QUE HAYA SIDO APUNTADA SYSPRINT
* EN EL LANZADOR JCL
*
HELLOPRT START 0
INICIO
PRINT NOGEN
RESERVA LAS MACRO EXPANSIONES
BEGIN
SAVE (14,12)
GUARDA LOS REGISTROS DE ENTRADA
LR
12,15
LOCALIZA....
USING HELLOPRT,12
...DONDE ESTAMOS
ST13,SAVE+4
GUARDA EL AREA ACTUAL DE DIRECCIONES
LA
11,SAVE
APUNTA A UNA NUEVA AREA DE DIRECCIONES
ST
11,8(13)
EN EL AREA ANTERIOR
LR
13,11
MUEVE EL AREA DE DIRECCIONES GUARDADA
*
*
DOPUT
EQU
*
PUT
SYSPRINT,HELLOMSG ESCRIBE EL MENSAJE
B
DOPUT
EN UN CICLO SIN FIN
*
* CODIGO NECESARIO PARA REGRESAR EL CONTROL AL MVS
*
L
13,SAVE+4
OBTIENE AREA DE DIRECCIONES GUARDADA
RETURN(14,12),RC=0
AL SISTEMA OPERATIVO
*
* DEFINICIONES PARA AREA DE TRABAJO Y ARCHIVOS
*
SAVE
DS
18F
PARA GUARDAR AREA LOCAL
HELLOMSG DC
C'Hello, world!!!'
SYSPRINT DCB
DSORG=PS,MACRF=PM,DDNAME=SYSPRINT,RECFM=FA,LRECL=133,BLKSIZE=133
GNU
Eiffel
1949-1950
9
Lenguaje de programación - Ejemplos
Año
GNU
Eiffel
1954-1957
Lenguaje
Descripción
C
C Versión Fortran
C...
Regístrate para leer el documento completo.