Sunteți pe pagina 1din 33

MANUAL DE USUARIO

Y
TECNICO

CRISTHIAN EDUARDO PAREDES PEREZ


UNIREMINGTON  2019
INTRODUCCION
La presente investigación se da a la realizar un compilador, el manejo del
cómo se utiliza el compilador los pasos al manejo de su uso y la forma en la
que se crea un compilador utilizando lenguaje de programación en NetBeans
IDE 8.2 con ella se crea el analizador léxico y sintáctico.

Objetivo del sistema


El objetivo del compilador por el cual es traducir las introducciones escritas
en el área de texto el lenguaje de programación, si el programa es correcto
podrá hacerse la traducción, si no, se deseara obtener un mensaje de error o
varios que permita determinar lo más claramente posible los orígenes de la
incorreción en el código del lenguaje.
Se ejecuta la ventana principal donde se hace el proceso de analizador.

Se busca el programa en el
escritorio y se le da abrir el
programa

Área donde se colocas el texto


a analizar

Área analizada léxica donde se


muestra la línea y símbolos De
texto analizado

Permite abrir los archivos y


leer el lenguaje

Botón que analiza el área de


texto

Limpia el área de texto


analizada del léxico

Limpia el área de texto


analizada del sintáctico

Analiza el texto si es correcto


o presenta algún error en el
área del texto
Se da a abrir en
búsqueda de un
documento

Permite seleccionar el
documento para poder
analizarlo

Al seleccionar el
documento a analizar se
le da a abrir el
documento y se carga en
el programa como texto
MANUAL DEL TECNICO

INTRODUCCION
Este manual describe los pasos necesarios para crear un compilador con java NetBeans
Se mostrarán los pasos a seguir para la construcción de analizador léxico y el analizador
semántico
1. El primer paso el crear el paquete analizador léxico.
 Se crea un paquete java
 Se selecciona java y java application

Se crea un
paquete java

Se selecciona en categoría
java y en proyecto java
application

Se le da continuar la acción

 Se le coloca el nombre al paquete (Analizador Léxico)


 Se deselecciona la clase principal ya que se creará
personalmente
 Se finaliza la acción

Se coloca el nombre
al proyecto

Se deselecciona la
clase principal

Se le da finalizar la
acción

2. Se creará una source packages


 Click derecho en source packages.
 Se creará un nuevo java packages.
 Se le coloca el nombre de codigo al java packages.

Se le coloca el nombre

codigo

Se le da finalizar la
acción
3. Se agrega la librería en java (se deja el link de jflex.jar para descargar)
 chrome-extension://bigefpfhnfcobdlfbedofhhaibnlghod/mega/secure.html#!
kp5wmSTR!VRGITdbm5zuSWDMeZ8hVgVYWCNl-J0gMcAqQ2k8FBfM

 Se agrega jflex.jar

Se selecciona el archivo jflex.jar

Donde los tengas guardado

Se le abrir para agregarlo en el


paquete java

4. Aquí se agrega la regla léxica del analizador léxico


 Click derecho en codigo se va NEW y a OTHER

 Se busca la carpeta OTHER y el archivo Empty File y continuar.

 En el archivo le ponemos el nombre Lexer.flex

Se le coloca el nombre de
Lexer.flex

Se le da finalizar la acción
 Aquí se creará el codigo analizador léxico En este analizador
puede o no puede analizar, en este paquete va incluido los
Token del analizador léxico y la clase Lexer, en ellas van las
palabras reservadas.

5. Luego de crear las reglas léxica se crea la clase Tokens de enumeración.


 Se da click derecho en codigo se van a NEW y a OTHER
 En OTHER se van a java y busca el archivo Java Enum y le dan
continuar

 Aquí se le coloca la palabra Tokens debe tener el mimo nombre


en el codigo de Lexer.flex

Se coloca el nombre de la
clase Tokens

Se le finalizar la acción
 Aquí se van a utilizar las palabras reservadas del Lexer.flex

6. Luego se crea la clase java analizador Léxico.


 Se da click derecho en codigo en New se van a java Class.
 En Java Class crearemos la clase Principal.

Se coloca con el nombre de


Principal

Se le da finalizar la acción

 En ella se crea una public static void maid que lleva la ruta de
los archivos de Lexer.flex remplace los guiones por uno normal
(/) de esta forma.

Se copia la ruta de
Lexer.flex, se le agrega

(/src/codigo/Lexer.flex)

Ya que no está en la ruta

 En String ruta, se copia la ruta que está en source packages en


propiedades de la ruta de Lexer.flex
Se copia esta ruta y se coloca
dentro de la comilla de String
ruta.

 Se crea un método public static void esto nos creara el


analizador léxico.
 Luego de que este todo bien se le da run File para generar la
clase Lexer.Java

Debe tenerlo así de estas


forma
Debe aparecerle
este archivo
llamado Lexer.java

7. Luego se creará el Analizador sintáctico

 se agrega en librería el Java cup.jar y java cup11a.jar (se deja los


links de descargar de java cup.jar y java cup11a.jar)
chrome-extension://bigefpfhnfcobdlfbedofhhaibnlghod/mega/secure.html#!15Zk2IhJ!
0_IRdD6uQWF02_4MWNkbz-JwR8d4222Pz3OQh5SIhec

chrome-extension://bigefpfhnfcobdlfbedofhhaibnlghod/mega/secure.html#!h4By1ahD!
HwNXmtmw3BlUlAPNNilX1Am6SDICMvA8LOTkDPYZg4I
 Luego se exporta las dos librerías java_cup.jar y java-cup-11a.jar
(puede que te aparezca solo con el nombre de java_cup y java-
cup-11a)

Se selecciona los
archivos
java_cup.jar y
jcava-cup-11a.jar

Donde los tengas


guardado Se le abrir para
agregarlo en el
paquete java

8. Luego se modificará el Lexe.flex ya para que las palabras reservadas


tengan su propio Tokens.

Ya que se modificó el Lexer.flex se deja el codigo completo en el


siguiente link
https://controlc.com/55709739
 Luego se debe modificar la de Tokens ya que se le agregaron
nuevas palabras reservadas en el Lexer.flex

Así debe quedar el nuevo Tokens.

9. Luego se debe crear el LexerCup.flex


 Click derecho en codigo NEW van OTHER
 En OTHER buscan el nombre del archivo Empty File y continuar.

 Se le coloca el nombre de LexerCup.flex

Se le coloca el nombre de
LexerCup.flex

Se le da finalizar la acción
Luego se copia todo lo que tenga en Lexer.flex y se lo pegas en
LexerCup.flex ya que Cup no utiliza Tokens (se deja link de
LexerCup.flex)

https://controlc.com/b7d6a04d

En LexerCup se le cambia import


static codigo. Token a la nueva
import java_cup.runtime.Symbol;
Se agrega Cup a
Lexer (LexerCup)
Se cambia el Token por
java_cup.runtime.Symbol

Se le agrega \n dentro del


corchete

Se elimina el salto de línea


(“\n”) retorno de línea
10.Se creará el analizador sintáctico

 En OTHER buscan un archivo llamado Empty File y continuar.

 Se le coloca el nombre de Sintax.cup

Se coloca el nombre de
Sintax.cup

Se da finalizar la acción
 Aquí se coloca el siguiente codigo de paquete en ella están los
símbolos terminales y no terminales (se deja el link donde está
completo el codigo)
https://controlc.com/321c64c4

 Luego se debe modificar la clase principal ya que se creará la


clase sintáctico

se genera una segunda


ruta para el LexerCup y
una ruta para el Aquí se genera la
Sintax.cup ruta de Lexer
LexerCup

Y Sintax
Este codigo es que se
generar la tabla de símbolos
del Sintax donde están los
archivos y creen la clase
Sym

 Se da clic derecho corren el programa en run file en caso de que


le sale un cuadro llamado run Project le dan en run anyway ya
que no se ha modificado los archivos

 Debe crease el LexerCup.java el Sintax.java y el Sym.java


11.Se creará el JFramen form
 Click derecho en codigo en NEW y luego en JFramen form

 Se le coloca el nombre de frmPrincipal

Se coloca el nombre de la
clase frmPrincipal

Se da finalizar la acción
 Luego debe aparecer así

 En Palette en Swing controls se busca Text Área

Se agrega dos Text


Área
 Seda en click derecho en el Text Área y se selecciona Change
Variable Name

Se nombra txtResultado

 De igual forma se realiza el mismo procedimiento con el otro


Text Área y se le colocara el nombre de txtAnalizarLex
 En el siguiente paso se agregará tres botones
 Se da click derecho en el botón y en Edit Text se le pone el
nombre de Abrir Archivo

 De igual forma se coloca en los otros dos botones en nombre


Analizar y Limpiar
 Se le da click derecho en botón Abrir Archivo y Changer
Variable Name le pondremos el nombre de btnArchivo

De esta forma debe quedar el nombre el botón de igual forma debe


quedar los otros botones con btnAnalizar y btnLimpiar.

 El siguiente método es la creación del codigo al botón Abrir


Archivo
 Luego se escribe el codigo y esto permite todo que tenemos en
el texto pase al text Área

Luego le dar run file para que se pueda ejecutar el codigo.


 Se creará el codigo para el botón Analizar

 El siguiente será crear un nuevo método para el botón analizar


se dividirá para que todo no se junten en el botón.
Ya que el método de la línea es largo se dejará un documento en
bloc para que lo peguen dentro de método con el nombre codigo
metodo analizar.txt

12. Luego se da la misma opción en el sintáctico de igual forma que


hicimos se le agrega dos botones y un text Área

Debe quedar de esta forma


 Se le da click derecho en botón Analizar y Changer Variable
Name le pondremos el nombre de btnAnalizaSin

Al botón Analizar se le coloca btnAnalizarSin


Se da click derecho en el botón analizar del sintáctico

Aquí se meterá el codigo analizador Sintáctico

Esto permite Analizar en el text de resultado si el texto escrito o


documento que se abrió si esta correcto o si presenta algún error
Se le da click derecho y en run se le da ejecutar para que ver si no
presenta ningún error en el codigo.
 En los botones de limpiar se da click derecho en el botón de
Limpiar en events, Action y Actionperformed

El siguiente paso es escribir el codigo de borrar el texto en el


sintáctico

se le escribe txtAnalizarSin.setText(null);

de igual forma también se le hace al botón limpiar de léxico

Se le escribe txtAnalizarLex.setText(null);

13. Por ultimo para ponerle el nombre a cada analizador se hace de la


siguiente manera.

 Se da click derecho en la parte de arriba y en properties en


bounds se selecciona y aparece una ventana y selecciona Title
borde y le colocas el nombre de analizador Léxico.
Se le coloca el nombre de
Analizador Léxico

 De igual forma también se le realiza el mismo procedimiento en


el analizador sintáctico.

S-ar putea să vă placă și