Anda di halaman 1dari 6

Proyecto Final de Lenguajes y

Compiladores

Curso:Lenguajes y Compiladores
Profesor : Jaime Pariona
Proyecto: Parser Reconocedor (Prog.jj)

Integrantes :
-Barrantes Cuba Jhon Cesar
12200183
- Palomares Bustamante Juan Percy
12200196

Introduccion:
En 1946 se desarroll el primer ordenador digital. En un principio, estas
mquinas ejecutaban instrucciones consistentes en cdigos numricos que
sealan a los circuitos de la mquina los estados correspondientes a cada
operacin. Esta expresin mediante cdigos numricos se llam Lenguaje
Mquina, interpretado por un secuenciador cableado o por un microprograma.
Pero los cdigos numricos de las mquinas son engorrosos. Pronto los
primeros usuarios de estos ordenadores descubrieron la ventaja de escribir sus
programas mediante claves ms fciles de recordar que esos cdigos
numricos; al final, todas esas claves juntas se traducan manualmente a
Lenguaje Mquina. Estas claves constituyen los llamados lenguajes
ensambladores, que se generalizaron en cuanto se dio el paso decisivo de
hacer que las propias mquinas realizaran el proceso mecnico de la
traduccin.Enfocandonos ahora en nuestro proyecto , se intenta dar a entender
la logica estructurada que sigue un compilador para poder ejecutar las
instrucciones que le damos al compilador y traducirla al lenguaje de maquina
para que pueda realzar las operaciones deseadas por el programador.
El siguiente programa es reconocedor de tokens, en cual detecta los tokens,
para identificar aquellos que no deberan ir, adems, posee las habilidades de
operar las operaciones elementales y devolverte el resultado, junto a un aviso
que dice si el programa a probar, se compil bien, o tuvo errores. Las
operaciones, aunque bsicas, no tienen problema en cuanto a los elementos.
Algunas operaciones fueron reemplazadas, de forma que se parezca ms a un
seudocdigo, como un recuerdo a los primeros ciclos, en el cual para aprender
a usar el programa C++, utilizbamos un seudocdigo, que luego pasaramos
a la pc en forma de cdigo.
Con este programa se busc cambiar eso, para que uno pueda libremente
poner un seudocdigo
Y ver que su programa funciona o no.

Instrucciones:
Primero:
El programa siempre empezar con Programa nombre del programa {
resto de instrucciones }
En resto de instrucciones el programa inicia con: public static void Main()
{
codigo }
Se puso (public static void Main ) para asimilar solo

esa pequea parte a un programa de c++, donde siempre habr funcin


principal, en la cual se tenga que escribir un cdigo.
En codigo : la persona ya podr poner un su cdigo, siempre y cuando tenga
en cuenta la siguiente informacin, esto es para evitar algunos
inconvenientes , es decir, para que evites o reduzcas tu cantidad de errores, de
no seguir esta informacin, el programa te informar que existen errores y no
se compilar bien el cdigo que coloques.

Segundo (tokens):
El programa presenta como tokens :
LPAREN ->

RPAREN ->

BRACES ->

{}

ASIGNACION ->

MAYOR, MENOR E IGUAL -> >

<

==

EL PROGRAMA OMITE LOS ESPACIOS EN BLANCO: De esta manera no habr


porque preocuparse de un espacio en blanco o un salto de lnea al momento de
crear usted su cdigo.

ALGUNAS OPERACIONES PRESENTAN ; : esto se debe a que el programa no


reconoce espacios, y para terminar algunas funciones debe colocarse ; ,
estas declaraciones seran:
Asignaciones, operaciones bsicas y funciones de leer e imprimir
Funciones como el mientras o si no lo necesitan, ya que se cierran solas
con el fsi y el fmientras.

OPERACIONES MATEMATICAS BASICAS:


SUMAR, RESTAS, MULTIPLICAR Y DIVIDIR ->

// Las operaciones bsicas se muestran automticamente, lamentablemente,


solo funcionan con numeros.
//Aun operando con nmeros enteros, posee la capacidad de devolver un valor
real o decimal.

Los <TOKENs> cambiados son:

INT: entero
NUMBER: numero
REAL: real
NUMBER: son los nmeros enteros
IF{} -> queda reemplazado por un si fsi

De esta manera:
If(a>b)

Seria:
si(a>b)

{
imprimir(a)
La funcin System.out.println o cout<< en c++: es reemplaza por
Cout<<a;
quedara
fsi
imprimir()
La} funcin cin>> es reemplazada por leer(

Un ejemplo de cdigo seria:


Esta operacin puede ser cambiada por cualquiera que sea una operacin bsica
Programa ejemplo
{
public static void Main()
{
entero num2;
imprimir(num2);
si (num2 <4)
15+2;
fsi
}
}

Por ltimo
Los pasos para ejecutar el programa (prog.jj) son los siguientes:

1) cd "espacio" direccion: para ir a una direccion. // En este caso , la


direccin donde se encuentre la
carpeta que contiene a prog.jj

2) javacc "espacio" nombre_del_programa.extension : para abrir el


compilador

3) javac "espacio"*.java : crea los demas datos del compilador.

4) java "espacio" nombre_del_compilador "<"


nombre_del_archivo.extension : abre el archivo con el compilador que
desee

Es en el paso 4) donde el programa te informa si hubo o no un error en el


cdigo de prueba que usted coloque, mediante un reconocedor de tokens,

adems de eso, es aqu donde el parser le enviar un resultado de la operacin


puesta.

Bibliografia
http://www.youtube.com/watch?v=J4gOKGwUqb8
Java a Tope : Compiladores

vJa

Sergio Galvez Rojas y Miguel Angel Mora Mata

Anda mungkin juga menyukai