|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectGramaticas.Cadena
public class Cadena
Clase para la implementacion interna de cadenas de entrada (cadenas de simbolos
terminales) en automatas, analizadores sintacticos,
maquinas de Turing, etc. Se implementa mediante un ArrayList
de objetos
tipo Terminal
en el mismo orden. De este modo, una cadena debera estar formada por una
secuencia de caracteres 'a'..'z' en minuscula.
Por ejemplo, dado un string "hola" (u "h o l a"),
este es transformado (vease Cadena(String)
)
en un ArrayList
con los siguientes elementos:
1er elemento: objeto Terminal con identificador id='h'
2o elemento: objeto Terminal con identificador id='o'
3er elemento: objeto Terminal con identificador id='l'
4o elemento: objeto Terminal con identificador id='a'
Field Summary | |
---|---|
private java.util.ArrayList |
cadena
|
Constructor Summary | |
---|---|
Cadena(java.lang.String s)
Convierte un string en un objeto Cadena. |
Method Summary | |
---|---|
Terminal |
get(int indice)
Devuelve el terminal de una posicion dada de la cadena |
boolean |
isEmpty()
Comprueba si la cadena esta vacia (i.e. no quedan terminales por leer o solo epsilons) |
boolean |
isEpsilon()
Comprueba si se trata de la cadena vacia (secuencia de Epsilons) |
static Cadena |
loadCadena()
Carga y crea una Cadena a partir de su descripcion almacenada en un fichero de texto. |
static Cadena |
loadCadena(java.lang.String path)
Carga una Cadena a partir de su descripcion almacenada en un fichero de texto. |
int |
size()
Devuelve la longitud de la cadena |
Cadena |
subcadenaFinal(int i)
Devuelve la subcadena desde una posicion dada al final de la cadena |
java.lang.String |
toString()
Devuelve la representacion de la cadena en formato string. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private java.util.ArrayList cadena
Constructor Detail |
---|
public Cadena(java.lang.String s) throws G_Exception
s
- String a convertir. Debe estar formado por caracteres 'a'..'z' en minuscula.
Tambien admite separadores entre los caracteres, que seran ignorados.
G_Exception
Method Detail |
---|
public static Cadena loadCadena(java.lang.String path) throws java.io.IOException, G_Exception
path
- path completo al archivo a procesar
java.io.IOException
G_Exception
public static Cadena loadCadena() throws java.io.IOException, G_Exception
java.io.IOException
G_Exception
public java.lang.String toString()
toString
in class java.lang.Object
Object.toString()
public int size()
public Terminal get(int indice)
indice
- Posicion del terminal (0..size()-1)
public boolean isEmpty()
true/false
segun este o no vaciapublic Cadena subcadenaFinal(int i) throws java.lang.IndexOutOfBoundsException, G_Exception
i
- Posicion inicial (0..longitud)
i==longitud
)
java.lang.IndexOutOfBoundsException
- Indice no valido (i<0 || i>longitud
)
G_Exception
public boolean isEpsilon()
true/false
segun se trate o no de la cadena vacia
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |