Académique Documents
Professionnel Documents
Culture Documents
OBJETIVOS
llamados
lenguajes
de
programacin,
stos
funciones que sern ejecutados por una computadora, o bien, un lenguaje para comunicar
instrucciones al computador.
Diferentes puntos de vista para clasificar los lenguajes de programacin:
1. Su grado de independencia con la mquina.
2. La forma de sus instrucciones y la forma de procesar el cdigo fuente.
3. Por generaciones.
Los lenguajes de programacin segn su grado de independencia de la mquina:
a) Lenguaje mquina (representacin binaria o hexadecimal.).
b) Lenguaje ensamblador o de bajo nivel (versin simblica de un lenguaje mquina).
c) Lenguaje de medio nivel (lenguaje C).
d) Lenguaje de alto nivel (FORTRAN, COBOL, Pascal).
b) Lenguaje ensamblador
La comunicacin en lenguaje de mquina es particular de cada procesador que se usa, y programar
en este lenguaje es muy difcil y tedioso, por lo que se empez a buscar mejores medios de
comunicacin con sta.
A diferencia de los programas de ensamble, los programas en lenguaje de alto nivel se pueden utilizar
con diferentes marcas de computadoras sin tener que hacer modificaciones considerables. Esto
permite reducir sustancialmente el costo de la reprogramacin cuando se adquiere equipo nuevo.
Los lenguajes de programacin segn su forma de instrucciones
Lenguajes imperativos o procedimentales: lenguajes orientados a instrucciones (Pascal, C. C++,
Ada, FORTRAN).
Lenguajes declarativos, funcionales o aplicativos: sus construcciones se basan en llamadas
funciones matemticas, utilizados a menudo en Inteligencia Artificial ( LISP, ML. APL, Haskell ). o
Lgicos: manejan relaciones entre objetos. Las relaciones se especifican con reglas
(C++, Smalltalk, Java, Prolog++). Los lenguajes de programacin por generaciones son
aquellos nombrados como: 1., 2., 3. 4. generacin y aquellos identificados como
generacin visual y generacin internet.
Traductores (translators).
Compiladores (compilers).
Ensambladores (assemblers).
Interpretes (interpreters).
Editores (editors).
El tiempo que se necesita para traducir un lenguaje de alto nivel a lenguaje objeto se
denomina tiempo de compilacin.
Intrpretes: Los intrpretes son programas que simplemente ejecutan las instrucciones que
encuentran en el texto fuente. En muchos casos coexisten en memoria el programa fuente y el
programa intrprete.
Un ejemplo de lenguaje interpretado es BASIC en sus primeras versiones. La ejecucin de un
programa compilado es mucho ms rpida que la de un programa interpretado. Sin embargo los
intrpretes son ms interactivos y facilitan la puesta a punto de programas.
ARQUITECTURA DE LA COMPUTADORA
En la disciplina de los procesadores de lenguajes, los compiladores son los ms utilizados por los
programadores para el desarrollo de aplicaciones. En el caso particular del desarrollo de compiladores,
hay que tener bien definida la arquitectura de la computadora.
Cmo se pueden ejecutar las aplicaciones desarrolladas para otras arquitecturas de
computadoras en la nueva arquitectura?
El problema planteado anteriormente no slo es aplicable a la construccin de nuevas arquitecturas,
sino tambin cuando es necesaria la compatibilidad de aplicaciones entre diferentes sistemas operativos
y arquitecturas de computadoras.
Algunas de las tcnicas utilizadas para realizar migraciones de aplicaciones entre distintas arquitecturas
y sistemas operativos se muestran en la siguiente figura:
de
la mquina
Analizando en detalle el proceso de compilacin, se divide en dos grandes fases, una de Anlisis y
la otra de Sntesis.
Fase de Anlisis:
var1
var2
10 ;
Anlisis Lxico
El analizador lxico lee los caracteres del programa fuente, y verifica que correspondan a una
secuencia lgica (identificador, palabra reservada etc.). Esta secuencia de caracteres recibe el
nombre componente lxico o lexema. En este caso el analizador lxico verifica si el identificador id1
(nombre interno para "suma") encontrado se halla en la tabla de smbolos, si no est produce un
error porque todava no fue declarado, si la preposicin hubiese sido la declaracin del identificador
"suma" en lenguajes C, C++ (int suma;) el analizador lxico agregara un identificador en la tabla de
smbolos, y as sucesivamente con todos los componentes lxicos que aparezcan.
id1= id2+ id3 + 10
Anlisis Sintctico
El analizador sintctico impone una estructura jerrquica a la cadena de componentes lxicos,
generada por el analizador lxico, que es representada en forma de un rbol sintctico.
Anlisis Semntico
El analizador semntico verificara en este caso que cada operador tenga los operandos permitidos.
temp1= tipo_ent(10)
temp2= id3 * temp1
temp3= id2 + tem2
id1= temp3
Optimizacin de cdigo
El cdigo intermedio obtenido es representado de una forma ms ptima y eficiente.
MOVF id3, R2
MULT #10.0, R2
MOVF id2, R1
ADDF R2, R1
MOVF R1, id1
Este el cdigo objeto obtenido que es enviado al mdulo de ensamblado.
ACTIVIDADES EN EL AULA
10