Académique Documents
Professionnel Documents
Culture Documents
Modelo;
import java.util.*;
public class Automata
{
private String Nombre;
private int numEstados;
private int EstadoInicial;
private int EstadoActual;
private TreeSet<String> Alfabeto;
private TreeSet<Integer> estadoFinal;
private TreeSet<Integer>[][] TablaTransiciones;
public Automata(){super();
Alfabeto = new TreeSet<String>();
estadoFinal = new TreeSet<Integer>();
}
public Automata(String nombre, int nEstados, TreeSet<String>alfabeto, int q0,TreeSet<Integer>
qend, TreeSet<Integer>[][]tablaTransiciones)
{
super();
Nombre = nombre;
this.numEstados = nEstados;
Alfabeto = alfabeto;this.EstadoInicial = q0;
estadoFinal = qend;
TablaTransiciones = tablaTransiciones;
}
public String getNombre()
{
return Nombre;
}
public void setNombre(String nombre)
{
Nombre = nombre;
}
public int getnumEstados()
{
return numEstados;
}
public void setnumEstados(int nEstados)
{
this.numEstados = nEstados;
}
public TreeSet<String> getAlfabeto()
{
return Alfabeto;
}
public void setAlfabeto(TreeSet<String> alfabeto)
{
Alfabeto = alfabeto;
}
public int getEstadoInicial()
{
return EstadoInicial;
}
this.EstadoInicial = q0;
return estadoFinal;
estadoFinal = qend;
return TablaTransiciones;
TablaTransiciones = tablaTransiciones;
estadoFinal.add(q);
return EstadoActual;
@SuppressWarnings("unchecked")
Alfabeto.add(letra);
iniciarTablaTransiciones();
for(int x=0;x<numEstados;x++)
for(int y=0;y<Alfabeto.size();y++)
Vector<String> a = newVector<String>();
a.addAll(Alfabeto);
TablaTransiciones[q0][a.indexOf(e)].add(q1);
EstadoActual = EstadoInicial;
String[] letras = palabra.split("");
for(String l:letras){if(!l.equals("")){
EstadoActual = funcion(EstadoActual,l);
if(EstadoActual==-1)return false;
if(estadoFinal.contains(EstadoActual))
return true;
return false;
a.addAll(Alfabeto);
if(TablaTransiciones[estadoActual][a.indexOf(e)].isEmpty()){return -1;
}else
returnTablaTransiciones[estadoActual][a.indexOf(e)].first();
String cadena="";
cadena+=string+"\t";
cadena+="\n";
cadena+=TablaTransiciones[i][j]+"\t";}cadena+="\n";
return cadena;