ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Analizador Lexico (NetBeans)


Enviado por   •  15 de Mayo de 2015  •  575 Palabras (3 Páginas)  •  938 Visitas

Página 1 de 3

package analizadorlexico;

/*ANALIZADOR LEXICO */

/*@author PEDRO DAMIAN GOMEZ FONSECA*/

/*@author ARLEN GUADALUPE ECHEVERRIA LUGO*/

/*@author JAZMIN ALONDRA PUGA CARRILLO*/

import java.util.regex.Matcher;

/*Libreria que se Encarga de Leer el Patron*/

import java.util.regex.Pattern;

/*Libreria que se Encarga de Definir el Patron*/

import javax.swing.JOptionPane;

/*Libreria que se Encarga de Mostrar las Ventanas*/

public class Analizador_Lexico {

/*Expresion Regular*/

/*String PalabraReservada = "(while|do|if|else|for|System.out.println|int|String)" ;

String Variable = "|([a-zA-Z]+)" ;

String Operador = "|([++]+)" ;

String Numero = " |([0-9]+)" ;

String Parentesis = "|([(|)]+)" ;

String Llaves = "|([{|}]+)" ;

String Simbolo = "|(;)" ;

String Patron = PalabraReservada + Variable + Operador + Numero + Parentesis + Llaves + Simbolo ;*/

String Patron = ("(while|do|if|else|for|System.out.println|int|String)|([a-zA-z]+)|([>|<|=]+)|([0-9]+)|([(|)]+)|([{|}]+)|(;)");

String Texto ;

String Cadena ;

public Analizador_Lexico () {

/*Estructuras*/

pideCodigo();

muestraExpresion();

}

private void pideCodigo(){

/*Ventana para Ingresar el Codigo*/

Texto = JOptionPane.showInputDialog(null,"Escribe el Codigo:");

}

private void muestraExpresion(){

/*Compila la Expresion Regular*/

Pattern p = Pattern.compile (Patron);

/*Compila ela Expresion Regular y Analiza el Texto*/

Matcher matcher = p.matcher(Texto);

while ( matcher.find () ) {

/*Funcion Find para encontar las concidencias de las palabras reservadas*/

/*Grupo 1*/ String Token_1 = matcher.group ( 1 ) ; /*Primer Token de la Expresion Regular*/

if ( Token_1 != null ) { System.out.println ( "Palabra Reservada: " + Token_1 ) ; }

/*Grupo 2*/ String Token_2 = matcher.group ( 2 ) ; /*Segundo Token de la Expresion Regular*/

if ( Token_2 != null ) { System.out.println ( "Variables: " + Token_2 ) ; }

/*Grupo 3*/ String Token_3 = matcher.group ( 3 ) ; /*Tercer Token de la Expresion*/

if ( Token_3 != null ) { System.out.println ( "Operador: " + Token_3 ) ; }

/*Grupo 4*/ String Token_4 = matcher.group ( 4 ) ; /*Cuerto Token de la Expresion*/

if ( Token_4 != null ) { System.out.println ( "Numero: "

...

Descargar como (para miembros actualizados) txt (3 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com