Compiladores iswi (parte 1)

Post on 13-Jun-2015

214 views 0 download

Transcript of Compiladores iswi (parte 1)

IE. Fernando Jiménez Valencia.

Dic-nov 2010.

Al terminar la unidad el alumno describirá el concepto y las diferentes partes del compilador

Antecedentes.- Programa, lenguajes de programación, etc.

- Clasificación y generaciones.Compilación.

- Proceso.- Estructura.

Bibliografía.

•Al finalizar el tema el alumno describirá los conceptos básicos de programa, lenguaje de programación y su clasificación.

5

Conjunto de pasos para llevar acabo una tarea o la resolución de un problema (ejemplo: una receta de cocina, un plan de trabajo, etc.)

Un programa es un archivo como cualquier otro archivo en el sistema.

Un proceso es un programa en ejecución. (Ejemplo: Acomodando cajas clasificadas y ordenadamente, cocinando a través de una receta, etc.)

ENTRADA PROCESOS SALIDA

datosMemoria central

resultados

PROGRAMA

Programa

objetos Acciones

Consiste en la elaboración de una solución o algoritmo (programa) de un problema planteado.

En el diseño se utilizan técnicas como: la programación estructurada y el diseño modular.

La solución inicialmente se diseña utilizando una notación intermedia llamada pseudocódigo o mediante notaciones gráficas como diagramas de flujo, sin tener en cuenta el lenguaje de programación que se vaya a utilizar.

Consiste en escribir el algoritmo o pseudocódigo en un lenguaje de programación.

Imprime los números pares que hay entre 1 y 100.

for (i=2; i<=100;i=i+2) printf(“ %d, “, i);

Notación para escribir programas, a través de los cuales podemos comunicarnos con el hardware y dar así las ordenes adecuadas para la realización de un determinado proceso.

Gramática (sintaxis y morfología) o conjunto de reglas que se aplican a un alfabeto constituido por el conjunto de símbolos utilizados.

(sintaxis)inteligente El muy estudiante esEl estudiante es muy inteligente.(morfología)Color, colores, descolorido

Atendiendo su proximidad del lenguaje maquina al lenguaje humano.

Primer lenguaje utilizado en la programación. Único que entiende directamente la computadora.

0000 0001 1010 0001 01 A11000 1001 1001 1010 89 9A0011 1010 1001 1100 3A 9C

Se escribe únicamente en alfabeto binario. La presencia de voltaje se representa con un uno (1) y la ausencia con un cero (0).

Dependencia del hardware en que se crean

Dejo de utilizarse como lenguaje de programación por su dificultad y complicación.

Primer intento de sustituir el lenguaje maquina por otro similar al lenguaje humano.

Utiliza para su escritura palabras nemotécnicas en lugar de cadenas de bits.

Solo corren en la máquina en que se crearon.

Dependen del set de instrucciones de la máquina en que operan

Se caracteriza por utilizar una semántica similar al lenguaje humano natural.

Incorporan instrucciones comprensibles (while, if – then, do, repeat, etc.)

Logran la independencia de la máquina (código portable) con la única condición de disponer de un programa traductor o compilador.

El problema que presenta es la gran cantidad de ellos con diferentes versiones o dialectos.

FORTRAN (traductor de

formulas) lenguaje especializado en aplicaciones técnicas y científicas. Es el más antiguo y fue definido en 1955 en EU por IBM.

COBOL.- Lenguaje común orientado a negocios (aplicaciones comerciales). Creado en 1960 por CODASYL y patrocinado por el Departamento de Defensa de EU.

PL/I.- Creado a inicios de los 60´s por IBM para el sistema 360, inspirándose en los lenguajes AGOL, COBOL y FORTRAN. Útil para aplicaciones técnico-científicas, comerciales, de proceso de textos, de base de datos y de programación de sistemas.

BASIC.- Lenguaje de fácil entendimiento para principiantes . Creado en 1965 por John G. Kemeny y Thomas E. Kurtz del Dartmouth College (EU).

PASCAL.- creado en 1970 por el suizo Nicklaus Wirth, Aporta los conceptos de tipo de datos, programación estructurada y diseño descendente.

• Creado en 1972 por Dennis Ritchie bajo el trabajo de Ken Thomson, creadores UNIX. Lenguaje idóneo para la programación de sistemas, aplicaciones técnico-científicas, de base de datos, etc.

Primera generación (40´s y 50´s).- Tubo al vacio (bulbo). Lenguajes de maquina y ensambladores.

Segunda generación (50´s-60´s).- Transistor de silicio. Primeros lenguajes de alto nivel FORTRAN , BASIC y COBOL.

Tercera generación (fines de los 60´s y década de los 70´s).- Circuitos integrados y microprocesadores. Lenguajes PASCAL, MODULA, C/C++, Visual Basic, Java

Cuarta generación (finales 70´s a la fecha).- Orientados básicamente a las aplicaciones de gestión y manejo de base de datos. Progress, Oracle, SQL, Informix, etc.

Quinta generación.- Orientados a la inteligencia artificial y al procesamiento del lenguaje natural. LIPS, PROLOG, etc.

FIN