Sie sind auf Seite 1von 27

TEORA DE

LENGUAJES
INTRODUCCIN

Ing. Laura Bazn Daz

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.
Ing. Laura Sofa Bazn Daz

Permite especificar en forma precisa:


Sobre qu
operar.

datos

Cmo deben
transmitidos.

ser

una

computadora

stos

debe

almacenados

Y qu acciones debe tomar bajo una variada


gama de circunstancias.

Ing. Laura Sofa Bazn Daz

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.

Ing. Laura Sofa Bazn Daz

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.
Ing. Laura Sofa Bazn Daz

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)
Ing. Laura Sofa Bazn Daz

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.
Ing. Laura Sofa Bazn Daz

Cdigo Fuente Source Code


Es un conjunto de instrucciones
del programa que estn escritas
en
un
lenguaje
de
programacin

* Cdigo del ObjetoObject Code


Es un conjunto de instrucciones
binarias traducidas y que la
computadora puede ejecutar.
Ing. Laura Sofa Bazn Daz

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
Ing. Laura Sofa Bazn Daz

Lenguajes de Alto Nivel ms comunes


Tarea: lnea de tiempo

Ing. Laura Sofa Bazn Daz

10

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).
Ing. Laura Sofa Bazn Daz

11

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.
Ing. Laura Sofa Bazn Daz

12

Ordenador
COMPILADOR
CORREGIR
ERRORES
DEL FUENTE

LISTADO DE
DIAGNSTICOS

BIEN

No

S
Ordenador
RESULTADOS

Compilacin

Objeto

FUENTE

PROGRAMA
OBJETO
Ing. Laura Sofa Bazn Daz

DATOS

Ejecucin

PROCESO DE
COMPILACIN EN
SU ASPECTO
EXTERNO

13

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

Ing. Laura Sofa Bazn Daz

Intrprete

14

Programa
Fuente

Intrprete

Revisin
Global y
Traduccin

Ordenador

Datos

Tabla de
Smbolos
Programa
Fuente
(Formato Interno)

Intrprete

FORMA DE OPERAR UN
INTRPRETE ACTUAL

Resultados
Ing. Laura Sofa Bazn Daz

15

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.
Ing. Laura Sofa Bazn Daz

16

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
CRUZADO

COMPILADOR

Ejecucin
Ordenador 2
OBJETO

RESULTADOS

DATOS
Ing. Laura Sofa Bazn Daz

17

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.
Ing. Laura Sofa Bazn Daz

18

Compilacin

Ordenador

Compilador

Clculo

Datos

Objeto
Nmina
Ordenador

Ordenador
Compilador

Listado

Ejecucin

Objeto Montador
Clculo

Mdulo
Cargable

Mdulo
Cargable

Ordenador

Programa Fuente Completo

Nmina

Montaje

Ordenador
Compilador

Resultados

Objeto
Listado

PROCESO DE COMPILACIN,
MONTAJE Y EJECUCIN
Ing. Laura Sofa Bazn Daz

19

Compilador de una o varias


pasadas
La mayor parte de los conceptos vistos
aqu no afectan al proceso de
compilacin
en
s,
sino
a
sus
caractersticas externas: tipo de objeto
obtenido, si acepta o no montajes, etc. En
cambio el que sea de una o varias
pasadas si es esencial es su estructura.

Ing. Laura Sofa Bazn Daz

20

Compilador de una o varias


pasadas
Se le llama PASADA al recorrido total de
todo el fuente con alguna misin
especfica. Podemos decir que el nmero
de pasadas de un compilador depende
de
dos
criterios,
no
siempre
independientes entre s:

Del lenguaje fuente en cuestin


Importantes criterios prcticas.(Divisin
en fases/equipo)
Ing. Laura Sofa Bazn Daz

21

Compilador de una o varias


pasadas
Lo mejor y lo ms difcil es el compilador
de una pasada, que supone bastantes
requisitos del lenguaje fuente. En cambio
si se construye un compilador de varias
pasadas, no tiene que ser necesariamente
ms lento, y se puede concretar mejor el
objetivo de cada pasada.

Ing. Laura Sofa Bazn Daz

22

Compilador de una o varias


pasadas
Ventajas:
Si el ordenador tiene poca memoria:
Cada pasada se ejecuta y luego es
borrada por la siguiente.
El mantenimiento del compilador es ms
fcil al contar con varias fases o
pasadas.

Ing. Laura Sofa Bazn Daz

23

Traductor o Compilador
Incremental
Llamado
tambin
interactivo
o
conversacional, es aquel que compila
un programa en el que si despus se
descubren errores, entonces en vez de
corregir el programa fuente y
compilarlo por completo, se compilan
slo las modificaciones (teniendo en
cuenta las repercusiones en el resto
del programa).El usuario siempre est
en contacto con el compilador.

Ing. Laura Sofa Bazn Daz

24

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

Ing. Laura Sofa Bazn Daz

25

*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.

Ing. Laura Sofa Bazn Daz

26

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

Ing. Laura Sofa Bazn Daz

27

Das könnte Ihnen auch gefallen