* To change this template, choose Tools | Templates
* and open the template in the editor.
/**
*
* @author edson
*/
public class AAutomatA {
int z;
public String Lenguaje(String cadena, int i){
String nuevacadena=cadena+'$';
String res = null, palabra=" ";
int matriz[][] = new int[4][5];
matriz[1][1]=2; matriz[1][2]=2; matriz[1][3]=3; matriz[1][4]=90;
matriz[2][1]=2; matriz[2][2]=2; matriz[2][3]=3; matriz[2][4]=100;
matriz[3][1]=2; matriz[3][2]=2; matriz[3][3]=3; matriz[3][4]=90;
int renglon=1,columna=1;
try{
do{
if(Character.isLetter(nuevacadena.charAt(i)))
{
columna=1;
renglon=matriz[renglon][columna];
palabra=palabra+nuevacadena.charAt(i);
//System.out.println( renglon );
}
if(nuevacadena.charAt(i)=='_')
{
columna=2;
renglon=matriz[renglon][columna];
palabra=palabra+nuevacadena.charAt(i);
//System.out.println( renglo );
}
if(Character.isDigit(nuevacadena.charAt(i)))
{
columna=3;
renglon=matriz[renglon][columna];
palabra=palabra+nuevacadena.charAt(i);
//System.out.println( renglon);
}
if(nuevacadena.charAt(i)=='$')
{
columna = 4;
renglon= matriz[renglon ][columna];
}
i++;
}while(Character.isDigit(nuevacadena.charAt(i))==true||
Character.isLetter(nuevacadena.charAt(i))==true||
nuevacadena.charAt(i)=='_');
z=i-1;
}catch(ArrayIndexOutOfBoundsException e)
{}
res = palabra;
return res;
}
public int Resp(){
int i = 0;
i=z;
return i;
}
}
// Pila
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Stack;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author Edson
*/
public class APilA {
/*public static void main(String args[]) throws IOException
{
String cadena;
try
{
BufferedReader n=new BufferedReader(new FileReader("CADENA.txt"));
while((cadena=n.readLine())!=null){
comprueba(cadena);
}
}
catch(FileNotFoundException e)
{
System.out.println("No se encuentra el archivo");
}
}*/
public String comprueba(String cadena)
{
String E="E",EP="E'",T="T",TP="T'",F="F" , a="(", c=")", m="+" ,p="*" ;
//String nuevacadena=cadena+'$';
String palabra= cadena;
Stack Pila = new Stack();
String nuevacadena=null;
int tam =palabra.length(),i=0;
int matriz [][]=new int [12][8];
String id=null;
AAutomatA app =new AAutomatA();
matriz[1][1]=15; matriz[1][2]=15; matriz[1][3]=15; matriz[1][4]=15; matriz[1][5]=15; matriz[1][6]=2;
matriz[2][1]=3; matriz[2][2]=15; matriz[2][3]=15; matriz[2][4]=15; matriz[2][5]=15; matriz[2][6]=4;
matriz[3][1]=15; matriz[3][2]=15; matriz[3][3]=15; matriz[3][4]=15; matriz[3][5]=15; matriz[3][6]=5;
matriz[4][1]=15; matriz[4][2]=6; matriz[4][3]=15; matriz[4][4]=15; matriz[4][5]=15; matriz[4][6]=7;
matriz[5][1]=15; matriz[5][2]=15; matriz[5][3]=8; matriz[5][4]=15; matriz[5][5]=9; matriz[5][6]=15;
matriz[6][1]=15; matriz[6][2]=15; matriz[6][3]=15; matriz[6][4]=15; matriz[6][5]=15; matriz[6][6]=15;
matriz[7][1]=15; matriz[7][2]=11; matriz[7][3]=15; matriz[7][4]=15; matriz[7][5]=15; matriz[7][6]=15;
matriz[8][1]=15; matriz[8][2]=15; matriz[8][3]=12; matriz[8][4]=15; matriz[8][5]=15; matriz[8][6]=15;
matriz[9][1]=15; matriz[9][2]=15; matriz[9][3]=15; matriz[9][4]=13; matriz[9][5]=15; matriz[9][6]=15;
matriz[10][1]=15; matriz[10][2]=15; matriz[10][3]=15; matriz[10][4]=15; matriz[10][5]=14; matriz[10][6]=15;
matriz[11][1]=15; matriz[11][2]=15; matriz[11][3]=15; matriz[11][4]=15; matriz[11][5]=15; matriz[11][6]=16;
Pila.clear();
Pila.push(E);
int renglon=0,columna=0,A=0;
String res=null;
while( A
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jLabel2 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();
setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel1.setText("Cadena");
add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 90, -1, -1));
add(jTextField1, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 90, 130, -1));
jButton1.setText("Evaluar");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 150, -1, -1));
jLabel2.setText("Es:");
add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 220, -1, -1));
add(jTextField2, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 220, 210, -1));
}//
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.out.println(jTextField1.getText());
AAutomatA app = new AAutomatA();
APilA ppa= new APilA();
//jTextField2.setText(app.toString());
jTextField2.setText(ppa.comprueba(jTextField1.getText()));
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
// End of variables declaration
}
No hay comentarios:
Publicar un comentario