You are on page 1of 7

PREPOSICIONES

2a1b3c3d2e2h1m2p4s1t2v ( SON 23)


2a: a, ante
1b:bajo
3c: cabe, con contra
3d: de, desde, durante
2e: en, entre
2h: hacia, hasta
1m: mediante
2p: para, por
4s: segn, sin, so, sobre
1t: tras
2v: versus, va
Preposicin. Palabra invariable y tona (excepto segn) cuya funcin consiste en introdu
cir un sustantivo o un grupo nominal (llamado trmino de preposicin) con el que for
ma un complemento que depende sintcticamente de otro elemento del enunciado. En e
l espaol actual son las siguientes: a, ante, bajo, con, contra, de, desde, durant
e, en, entre, hacia, hasta, mediante, para, por, segn, sin, sobre, tras. Tambin so
n preposiciones, de uso ms restringido, pro (asociacin pro derechos humanos) y va (
Vol a Miami va Londres).
- See more at: http://www.rae.es/d
Prctica de Compiladores:
CARACTERSTICAS DE LOS COMPILADORES EN LOS LENGUAJES DE PROGRAMACIN

I PARTE.
EJERCICIO 1.
Proceso de ejecucin
Para analizar como es el proceso de ejecucin de un programa en C, se d
escribe a continuacin los pasos necesarios para compilar y ejecutar un pequeo cd
igo de programa en C:
La primera operacin es introducir las instrucciones (sentencias) del pr
ograma, con un editor de texto.
Crear un archivo fuente en Dev C++.
Utilizar el editor de Dev C++, y digite el siguiente cdigo:
//Este programa contiene un error para que sea detectado por el compilador
#include <stdio>
using namespace std;
int main()
{
int n;
cout<<"\nIngrese un numero entero: ");
cin>>x;
cout<< \nEl numero ingresado es: <<n;
}
Guarde el programa como EjemploC.
Etapa de Compilacin
Aqu se traduce el cdigo fuente escrito en lenguaje C a cdigo mquina (en
tendible por la computadora). En este caso, cada compilador se construy
e para un determinado lenguaje de programacin. Al respecto, se ejecutar
un programa bajo un compilador de C que forma parte del programa EID (En
torno Integrado de Desarrollo) de Dev C++.
El compilador de Dev C++ (compatible para lenguaje C), leer el programa
del archivo de texto creado anteriormente y comprueba que siga las r
eglas de sintaxis del lenguaje de programacin.

Cuando el programa es compilado, el compilador traduce el cdigo fuente


C++ (las sentencias del programa) en un cdigo mquina (cdigo objeto).
El cdigo objeto consta de instrucciones mquina e informacin de cmo cargar
el programa en memoria antes de su ejecucin, normalmente se almacena en disco
con extensin .obj
Realice lo siguiente:
?
Compile el archivo editado, en el compilador de Dev C++ (c, o cpp)
?
Note que se muestra un mensaje indicando que el compilador ha
detectado un error: x undeclared identifier
?
Corregir el error, y cambie la letra x por n .
?
Como ya no se detectaron errores, en este momento ya est creado
el archivo objeto en la carpeta Debug del proyecto, (ejemploc.obj)
?
Para crear el archivo ejecutable (ejemploc.exe), ejecute el arch
ivo ya compilado ejemploc, el resultado se verificar en la carpeta Debug del
proyecto.
El archivo objeto contiene solamente la traduccin del cdigo fuente. Esto
no es suficiente para ejecutar el programa. Es necesario incluir los
archivos de biblioteca (p.e. stdio.h). Una biblioteca es una coleccin de
cdigo que ha sido programada y traducida para ser utilizada en el programa.
Etapa de montaje (Linkage)
Normalmente un programa consta de diferentes unidades o partes de progr
ama que se han compilado dependientemente. Por consiguiente puede haber v
arios archivos objeto. Un programa especial llamado enlazador (linker),
tome el archivo objeto y las partes necesarias de la biblioteca del si
stema y construye un archivo ejecutable (.exe).
Etapa de ejecucin
Finalmente el programa es ejecutado (*.exe).
Para ejecutar el programa digite el nombre del archivo ejecutable (ejemploc.exe)
:
Compruebe la ejecucin satisfactoria del programa.
Nota: Cabe sealar que el proceso de compilar y enlazar un programa, s
e repite hasta que
no se produzcan errores.
II PARTE.
PROGRAMAS INTERPRETADOS QBASIC.
Un intrprete (como se menciono anteriormente) es un traductor que toma un pr
ograma fuente, lo traduce y a continuacin lo ejecuta. Los programas intrpretes clsi
cos como BASIC, prcticamente ya no se utilizan, aunque versiones como Qbasi
c y QuickBASIC todava se encuentran en algunos sistemas operativos. Los
intrpretes analizan una sentencia y la ejecutan (lnea por lnea), y as su
cesivamente para todo el programa fuente. El principal problema de un intrprete e
s que si a mitad del programa fuente se producen errores, se debe volver
a comenzar el proceso de anlisis y ejecucin del programa.
EJERCICIO 2.
Proceso de ejecucin
Para analizar cmo es el proceso de ejecucin de un programa interpretado
, realice los siguientes pasos para probar y ejecutar un pequeo cdigo de progra
ma escrito en Qbasic:
Invoque (ejecute) el qbasic
Una vez cargada la aplicacin escriba el siguiente cdigo:
Recordando programar en Qbasic
DIM n S INTEGER declaracin de variable
INPUT "Ingrese un numero entero: ", x
lectura de una variable no declarada 'x'
PRINT "El numero ingresado fue: ", n
END
Guarde el programa como ejemploB.bas.

Para ejecutar el programa presione F5.


Durante la ejecucin del programa pruebe las siguientes entradas:
o
Cuando el programa muestra el mensaje de Digite un nmero
en lugar de un nme
ro digite una letra y observa como Qbasic genera un mensaje de error y vuel
ve a interpretar esa lnea.
o
Como usted habr notado al intrprete no le interesa si x est declarado, esta e
s una caracterstica propia del lenguaje. Obviamente es en x que se guarda el val
or digitado y no en n.
Salga de Qbasic y describa a continuacin lo que entiende por un compi
lador y un intrprete:
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
_____________

PARTE III.
PROGRAMAS COMPILADOS E INTERPRETADOS
JAVA.
Antes de probar la ejecucin de un programa en JAVA, se mencionan a contin
uacin algunas de sus caractersticas:
Es simple.
Los programadores en Java dejan fuera muchas de las ca
pacidades innecesarias de otros lenguajes de alto nivel. Por ejemplo, J
ava no soporta matemticas de puntero, casting implcito de tipos de datos,
estructuras, uniones, operadores cargados (overloading), plantillas, archivos d
e cabecera, o herencia mltiple.
Orientado a objetos. As como C++, Java usa clases para organizar el cdigo e
n mdulos lgicos. En tiempo de ejecucin un programa crea objetos a partir de
las clases. Dichas clases pueden heredar propiedades de otras clases.
Tipeo esttico. Todos los objetos utilizados en un programa deben ser dec
larados antes de ser usados. Esto permite que el compilador de Java localice y r
eporte los conflictos de tipos.
Compilado e Interpretado.
Antes de ser ejecutado, un programa Ja
va debe ser compilado, lo que resulta en un archivo objeto (byte -code
), similar a lenguaje mquina, el cual puede ser ejecutado por cualquier
sistema operativo que posea un intrprete de Java. Esto hace pensar qu
e Java es un lenguaje tanto compilado como interpretado.
La diferencia de Java a otros lenguajes de programacin
Un programa escrito en lenguaje Java (extensin .java ), se compila primero para
traducir el programa fuente en un lenguaje intermediario llamado Java bytecode
s , es decir, genera un archivo con formato binario denominado bytecode (exten
sin .class ). Este archivo es independiente de la plataforma y es interpr
etado posteriormente en cualquier sistema operativo que disponga de un
intrprete de bytecode (normalmente un navegador de Internet).
Luego el intrprete analiza y ejecuta cada instruccin bytecode de Java e
n la computadora. La compilacin solo ocurre una vez, la interpretacin ocurre
cada vez que el programa e s ejecutado. La siguiente figura ilustra lo d
escrito anteriormente:
Se puede pensar que los bytecodes Java son como las instrucciones en
lenguaje mquina para la mquina virtual de Java (JVM). Cada intrprete de J
ava, ya sea una herramienta de desarrollo o un navegador Web que pueden

correr applets, es una implementacin de mquina virtual de Java. Por lo tanto, un p


rograma en JAVA puede correr en Windows XP, Windows Seven, Solaris o Macintosh s
iempre y cuando se tenga una implementacin de Java VM(mquina virtual).
EJERCICIO 3.
Proceso de creacin e insercin de un applet en una pgina Web
Para analizar cmo es el proceso de ejecucin de un programa en Java, s
e utilizaran applets. Los applets son similares a las aplicaciones, pero
ellos no corren de forma independiente. En su lugar, utilizan un naveg
ador o browser (con Java habilitado o compatible) para su ejecucin. Antes de cr
ear el applet, deber configurar una variable de entorno path , de modo que contenga
el directorio de binarios de Java (JDK):
?
Primero verifique que la variable de entorno PATH est establecid
a para su sistema. Para hacer esto, en la ventana de DOS abierta escriba path
Se le mostrarn los directorios que han sido exportados como parte de PATH.
?
Si se encuentra en la carpeta de trabajo, salga de ella y ubquese en el d
irectorio raz (C:\).
?
Escriba la orden siguiente: path=%path%;c:\DIRECTORIO DEL J2SDK
?
Nuevamente verifique el estado de la variable de entorno PATH. Podr v
er como el directorio donde se encuentra la aplicacin ha sido aadida al PATH.
De esta manera podr ejecutar el compilador de Java (javac) estando en cualq
uier directorio de la unidad C.
?
Cmbiese al directorio de trabajo:
Creacin del Applet (Despliegue de texto).
Una de las operaciones ms sencillas de entrada/salida en una applet es desplegar
una lnea de texto. Pero debido a que la salida de texto debe ser grfica
, es necesario utilizar las funciones de texto grfico de Java. De estas
la ms comnmente usada es
drawString() , la cual forma parte de la
clase Graphics , contenida en el paquete awt .
Nota: Un paquete no es ms que una coleccin de clases relacionadas. El
paquete awt (abstract Windows toolkit) contiene todas las clases que
manejan grficos y ventanas grficas.
Realice los siguientes pasos:
?
Desde la lnea de comando digite notepad. (C:\Lab1\notepad).
?
A continuacin digite el siguiente cdigo de un applet sencillo que desplieg
a una lnea de texto:
import java.awt.*;
import java.applet.*;
public class Applet1 extends Applet
{
public void paint(Graphics g)
{
g.drawString("Primer programa de Java!", 60, 75);
}
}
?
Guarde el cdigo mostrado en un archivo llamado Applet1.java dentro de la
carpeta de trabajo (Lab1).
Cmo compilar el applet.
La compilacin usando JDK (Java Development Kit) es sumamente sencilla. S
olamente debe seguirse la misma sintaxis propuesta en la lnea de comando siguie
nte (por supuesto, debe estar ubicado en el directorio c:\Lab1): javac Applet
1.java .
A esta lnea solamente debe cambiarse el nombre del cdigo fuente para c
ompilar otros applets. Cuando se realiza la compilacin se crea un archi
vo bytecode (.class), que en este caso se llama Applet1.class , el cual de
ber ser incrustado en una pgina web para ser ejecutado.
Nota: Tenga en cuenta que el compilador de Java es case -sensitive , as que si en la

lnea de cdigo anterior, el nombre del applet se ha escrito iniciando co


n maysculas (tal como en el ejemplo), el nombre del archivo Applet1.java
obligatoriamente debe escribirse tambin con maysculas.
Insercin del applet en una pgina Web (Intrprete).
La sintaxis general para la insercin de un applet es la siguiente:
<applet y atributos>
parametros
contenido alternativo
</applet>
A continuacin se muestra todo el proceso a seguir para insertar un applet
en una pgina de modo que pueda ser mostrado en una ventana del navegador:
?
Cree una nueva pgina Web. Para esto, abra el programa Notepad (bloc de
notas).
?
Escriba el siguiente cdigo:
< html>
<head>
<title>Prueba de Applets Java</title>
</head>
<body>
<center><h1>Pagina de Prueba</h1></center>
<center>
<applet
code="Applet1.class"
width=200
height=150
name="Applet1">
</applet>
</center>
</body>
</html>
?
Guarde el archivo como ejemplo1.html .
?
Abra el archivo prueba.html usando cualquier Navegador. En este momento
podr ver como el navegador interpreta y ejecuta el applet.
Para el caso del Applet (Applet1.class), es necesario explicar su funcionamiento
general:
?
Primero veamos el mtodo paint() . Java hace una llamada a pai
nt() siempre que el applet aparece por primera vez en la pantalla.
?
paint() llama a drawString() , que es el mtodo que en realidad desplieg
a el texto del ejemplo.
?
La g seguida del punto , indica que se est llamando a un mtodo que en
realidad pertenece a la clase Graphics , y por tanto el objeto g lo hereda.
?
Los valores entre parntesis de drawString son los argumentos n
ecesarios para llamar al mtodo. En este caso son el texto a desplegar y la co
lumna (60) y la fila (75) de despliegue. La posicin es medida en pxeles y no en
caracteres.
Conclusin. Cuando un navegador (con Java habilitado) encuentra una etiqu
eta <APPLET>, este reserva un rea de trabajo con un tamao especfico para el ap
plet, carga los bytecodes generados y crea una instancia de la subclase Applet
.
EJERCICIO 4.
Ejecucin de un applet sin un navegador
En la actualidad todos los navegadores han sido habilitados para dar
soporte a applets de Java, todava podemos ver la ejecucin de un Applet
sin necesidad de un navegador. Esto gracias a la herramienta Appletvi
ewer provista como parte del JDK (Java Development Kit).Esta herramien

ta es una aplicacin de Windows, que puede ser ejecutada desde la lnea de comando
de DOS.
Para ejecutar el applet creado anteriormente usando el Appletviewer, es
criba lo siguiente:
appletviewer ejemplo1.html
EJERCICIO 5.
Entradas del usuario
En este caso, debido a los despliegues eminentemente grficos que se obtienen en l
a ejecucin de un applet, no es tan sencillo llamar a una funcin o comando input
mero debe crearse un rea en la pantalla en la cual el usuario pueda digitar y
editar su entrada. Existen diversas maneras de hacerlo, pero una de las ms p
rcticas es aadir un control de clase TextField al applet.
Escriba el cdigo presentado a continuacin y gurdelo como Applet2.java .
import java.awt.*;
import java.applet.*;
public class Applet2 extends Applet
{
TextField textField; /* Caja de texto */
public void init()
{
textField = new TextField(20);
add(textField);
}
}
Explicacin del Applet (Applet2.class):
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
_____________
EJERCICIO 6.
Compile Applet2.java, de modo que obtenga Applet2.class. Luego inclyalo en una pgi
na Web y verifique el resultado de la ejecucin el Applet.
Recomendacin: siempre que haga cambios en un applet y lo recompile, ser necesario
cerrar la ventana del navegador (ya sea Firefox o Internet Explorer), para que e
l archivo de clase especificado en la pgina vuelva a ser ledo. De lo contrario no
podr ver el resultado de dichos cambios. 1
EJERCICIO 7.
Recuperacin de texto desde controles
? Escriba el siguiente cdigo y gurdelo como Applet3.java.
import java.awt.*;
import java.applet.*;
public class Applet3 extends Applet
{
TextField textField;
public void init()

Pri

{
textField = new TextField(20);
add(textField);
}
public void paint(Graphics g)
{
string s = textField.getText();
g.drawString(s, 40, 50);
}
public boolean action(Event event, Object arg)
{
repaint();
return true;
}
}
Explicacin del Applet (Applet3.class):
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
__

iccionario-panhispanico-de-dudas/terminos-linguisticos#sthash.LIhF9HN5.dpuf

You might also like