Automata Java
Enviado por linkunder • 7 de Octubre de 2013 • 471 Palabras (2 Páginas) • 666 Visitas
Aquí tenés una clase en Java que implementa de forma sencilla un Autómata Finito Determinístico. En la matriz de transición de estados, referenciada en el miembro transicion, las filas corresponden a los estados y las columnas a los símbolos de entrada. Los estados finales están marcados en el conjunto de bits estadosFinales.
import java.util.BitSet;
public class Automata {
protected int [][] transicion;
protected BitSet estadosFinales;
protected int estadoInicial;
protected int estado;
public Automata (int [][] transicion, BitSet estadosFinales, int estadoInicial)
{
this.estadosFinales = estadosFinales;
this.estadoInicial = estadoInicial;
this.transicion = transicion;
}
public boolean enEstadoFinal ()
{
return estadosFinales.get(estado);
}
public void iniciar ()
{
estado = estadoInicial;
}
public void avanzar (int simbolo)
{
estado = transicion [estado][simbolo];
}
}
Aquí tenés una clase en Java que implementa de forma sencilla un Autómata Finito Determinístico. En la matriz de transición de estados, referenciada en el miembro transicion, las filas corresponden a los estados y las columnas a los símbolos de entrada. Los estados finales están marcados en el conjunto de bits estadosFinales.
import java.util.BitSet;
public class Automata {
protected int [][] transicion;
protected BitSet estadosFinales;
protected int estadoInicial;
protected int estado;
public Automata (int [][] transicion, BitSet estadosFinales, int estadoInicial)
{
this.estadosFinales = estadosFinales;
this.estadoInicial = estadoInicial;
this.transicion = transicion;
}
public boolean enEstadoFinal ()
{
return estadosFinales.get(estado);
}
public void iniciar ()
{
estado = estadoInicial;
}
public void avanzar (int simbolo)
{
estado = transicion [estado][simbolo];
}
}
Aquí tenés una clase en Java que implementa de forma sencilla un Autómata Finito Determinístico. En la matriz de transición de estados, referenciada en el miembro transicion, las filas corresponden a los estados y las columnas a los símbolos de entrada. Los estados finales están marcados en el conjunto de bits estadosFinales.
import java.util.BitSet;
public class Automata {
protected int [][] transicion;
protected BitSet estadosFinales;
protected int estadoInicial;
protected int estado;
public Automata (int [][] transicion,
...