Beruflich Dokumente
Kultur Dokumente
TEORA DE LENGUAJES
INTRODUCCIN Ing. Laura Bazn Daz
INTRODUCCIN
Lenguajes de Programacin
14/04/2013
Lenguaje de Programacin
Es un conjunto limitado de palabras y smbolos que representan procedimientos, clculos, decisiones y otras operaciones, como control de procesos, que puede ejecutar una computadora. Es una tcnica estndar de comunicacin que permite expresar las instrucciones que han de ser ejecutadas en una computadora.
3
Un programa escrito en un lenguaje de programacin necesita pasar por un proceso de Compilacin, es decir, ser traducido al Lenguaje de Mquina, o ser interpretado para que pueda ser ejecutado por el ordenador.
14/04/2013
LENGUAJES
LENGUAJE MQUINA: Est orientado hacia la mquina que est constituida por varios arreglos de bits. Este lenguaje es fcil de entender por la computadora, pero difcil para el usuario.
5
LENGUAJES
LENGUAJE DE BAJO NIVEL: Es un lenguaje de programacin bien cercano al lenguaje de mquina. Es difcil de entender por las personas y requiere que los programadores codifiquen las instrucciones con muchos detalles. Ej. (Leng. Ensamblador)
14/04/2013
LENGUAJES
LENGUAJE DE ALTO NIVEL: Es un lenguaje que se asemeja ms al lenguaje humano. Es ms fcil escribir programas en este lenguaje, pero luego deben de ser traducidos para que la computadora los entienda.
14/04/2013
La programacin de un lenguaje de alto nivel o en un lenguaje ensamblador requiere algn tipo de interfaz con el lenguaje mquina para que el programa pueda ejecutarse. Las tres interfaces ms comunes: Un ensamblador Un compilador Un intrprete
9
10
14/04/2013
FORTRAN(FORmula TRANslator)
Es uno de los primeros lenguajes de alto nivel desarrollado en 1954 por John Backus y un grupo de IBM. Es un lenguaje compilador que se dise para expresar con facilidad las frmulas matemticas, problemas cientficos y de ingeniera.
11
14/04/2013
Lenguaje C
Fue desarrollado por en los 70 por Brian Kernigham y Dennis Ritchie.Necesitaban un lenguaje que se pudiera integrar con UNIX, para permitir hacer modificaciones y mejoras ms fcilmente.
13
PROGRAMA
Es un conjunto de instrucciones que al ser ejecutadas resuelven un problema. Tiene 3 partes: Entrada de Datos(X): Datos del usuario a travs de Instrucciones de Lectura. Acciones de un Algoritmo f(X): Se resuelve el problema usando los datos de entrada. Salida (Y): Resultados de las acciones, a travs de dispositivos de salida(Escritura).
14
14/04/2013
Compilacin
Proceso de Traduccin que convierte un programa fuente escrito en un lenguaje de programacin de alto nivel a un programa objeto en cdigo mquina y listo por tanto para ejecutarse en el ordenador, con poca o ninguna preparacin adicional.
15
Objeto
LISTADO DE DIAGNSTICOS
BIEN
No
16
14/04/2013
En cambio un intrprete realiza tambin la traduccin mencionada en el proceso de compilacin, pero paso a paso, conforme va ejecutando el programa fuente. Por tanto un Intrprete Puro ejecuta directamente el programa fuente, coexistiendo en la memoria del ordenador el programa fuente y el intrprete.
Programa Fuente
Intrprete 17
Programa Fuente
Intrprete
Datos
Resultados
18
14/04/2013
Ensamblador
Se llama as a un compilador sencillo, en el que el lenguaje fuente tiene una estructura simple que permite una traduccin de una sentencia fuente a una instruccin en cdigo mquina. Hay ensambladores que tienen MacroInstrucciones en su lenguaje, que de acuerdo con sus nombres se suelen traducir a varias instrucciones de mquina.
19
Compilador Cruzado
Se denomina as el compilador que traduce un lenguaje fuente a objeto, pero este programa objeto es para un ordenador distinto a aquel en que se compila.
Compilacin Ordenador 1 FUENTE COMPILADOR Ejecucin Ordenador 2 OBJETO RESULTADOS
COMPILADOR CRUZADO
DATOS
20
10
14/04/2013
Montaje
En las aplicaciones reales es muy conveniente y hasta necesario el fragmentar nuestro programa fuente en partes o trozos, llamados de distintas formas (procedimientos, funciones, subrutinas, etc.). Es pues importante que el lenguaje fuente permita dicha fragmentacin o compilacin separada. Si es as se compilan los procesos por separado y luego se montan juntos todos los objetos producidos obtenindose as un mdulo cargable listo ya para su ejecucin.
21
Compilacin
Montaje
Ejecucin
Ordenador Nmina Programa Fuente Completo Compilador Ordenador Clculo Compilador Ordenador Compilador Objeto Listado Resultados Objeto Clculo Montador Mdulo Cargable Mdulo Cargable Objeto Nmina Ordenador Ordenador Datos
Listado
11
14/04/2013
23
12
14/04/2013
25
26
13
14/04/2013
AutoCompilador
Suele ser un problema, conseguir que un compilador sea Portable de una mquina a otra. Para facilitar las Portabilidad, se puede escribir un compilador en el propio lenguaje fuente que traduce, entonces se llama AutoCompilador
27
MetaCompilador
O Compilador de Compiladores, se refiere a un programa al que se le especifica el lenguaje para el que se quiere un compilador. El compilador es el resultado obtenido del metacompilador.
28
14
14/04/2013
DeCompilador
Es un sistema que acepta como entrada un cdigo de mquina y lo traduce a un lenguaje de alto nivel. Casi independiente de la mquina
29
Constantes Objeto 30
15
14/04/2013
Estructura de un Compilador
Se puede considerar un compilador como un Conversor o Transformador de tiras de caracteres: el programa fuente como tira origen, y el programa objeto como tira resultante. En su estructura destaca un proceso de anlisis y otro de sntesis.
31
Estructura de un Compilador
ANLISIS: Realiza la lectura de la tira de origen. Tiene dos partes: 1) El explorador o Analizador Lexicogrfico con la misin de leer el programa fuente y aglutinar algunos smbolos de estructura sencilla; 2)Luego el Reconocedor o Analizador Sintctico mira la estructura sintctica de la sentencia del programa fuente. Se activan Rutinas Semnticas para realizar comprobaciones adicionales. SNTESIS: Se comienza la obtencin de la tira de caracteres que formar el programa objeto. Para ello puede existir: 1)Preparacin para la generacin del cdigo y luego 2)La generacin del Cdigo.
32
16