|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectGramaticas.TablaCYK
public abstract class TablaCYK
Superclase para la implementacion de los metodos, atributos y estructuras asociados a una tabla/parsing mediante el algoritmo CYK. Contiene los metodos y atributos comunes a las diferentes implementaciones.
Field Summary | |
---|---|
(package private) Cadena |
cad
Cadena a analizar |
(package private) GIC |
gram
Gramatica a emplear en el analisis |
(package private) java.util.LinkedHashSet[][] |
tabla
Estructura de almacenaje de los simbolos de la tabla. |
(package private) int |
tam
Longitud de la cadena / tamanho de la matriz triangular |
Constructor Summary | |
---|---|
TablaCYK(Cadena cadena,
GIC gramatica)
El constructor crea la tabla de analisis de tamanho |cadena|*|cadena| y
almacena la cadena y la gramatica a emplear |
Method Summary | |
---|---|
abstract void |
calcular_Ni1(int i)
Calcula la celda N(i,1) de la tabla de analisis: i.e. para cada i=1..N ,
sea N(i,1)={A / A->w(i,1) } |
abstract void |
calcular_Nij(int i,
int j)
Calcula la celda N(i,j) de la tabla de analisis: i.e. para k=1..j-1 ,
anhadir a N(i,j) todos los no terminales A para los cuales A->BC
es una regla de P, con B perteneciente a N(i,k) y C
perteneciente a N(i+k,j-k) |
abstract boolean |
contiene_S_N1n()
Comprueba si el axioma S esta o no en el top de la tabla (i.e. si la cadena pertenece o no al lenguaje) |
java.util.LinkedHashSet |
getCelda(int i,
int j)
Devuelve el contenido de la tabla en las coordenadas dadas. |
int |
getTam()
Devuelve la longitud de la cadena a analizar |
(package private) Terminal |
getTerminal(int i)
Devuelve el i-esimo terminal de la cadena a analizar. |
(package private) java.lang.String |
hLine(int fila,
int longcelda)
Devuelve un separador horizontal para la impresion de la tabla de analisis |
(package private) java.lang.String |
terminal2String(Terminal t,
int longcelda)
Formatea el terminal de entrada rellenando con blanks hasta obtener la longitud deseada |
abstract java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
java.util.LinkedHashSet[][] tabla
|cadena|*|cadena|
Cadena cad
GIC gram
int tam
Constructor Detail |
---|
public TablaCYK(Cadena cadena, GIC gramatica)
|cadena|*|cadena|
y
almacena la cadena y la gramatica a emplear
cadena
- Cadena a analizargramatica
- Gramatica a emplear en el analisisMethod Detail |
---|
public int getTam()
public java.util.LinkedHashSet getCelda(int i, int j)
1..N
pero los indices de la tabla son 0..N-1
,
hemos creado este metodo auxiliar para evitar confusiones con las coordenadas.
i
- Coordenada XX'
de la tablaj
- Coordenada YY'
de la tabla
Terminal getTerminal(int i)
1..N
pero los indices de la cadena son 0..N-1
,
hemos creado este metodo auxiliar para evitar confusiones con las coordenadas.
i
- Indice del terminal a devolver
java.lang.String hLine(int fila, int longcelda)
fila
- Coordenada YY'
de la fila de la tabla de analisis a la que correspondelongcelda
- Longitud total deseada del string correspondiente a una celda
java.lang.String terminal2String(Terminal t, int longcelda)
t
- Terminal a formatearlongcelda
- Longitud total deseada del string de salida (se rellenara con blanks)
public abstract java.lang.String toString()
toString
in class java.lang.Object
public abstract void calcular_Ni1(int i)
i=1..N
,
sea N(i,1)={A / A->w(i,1) }
i
- Coordenada XX'
de la celda a procesarpublic abstract void calcular_Nij(int i, int j)
k=1..j-1
,
anhadir a N(i,j) todos los no terminales A para los cuales A->BC
es una regla de P, con B perteneciente a N(i,k) y C
perteneciente a N(i+k,j-k)
i
- Coordenada XX'
de la celda a procesarj
- Coordenada YY'
de la celda a procesarpublic abstract boolean contiene_S_N1n()
true/false
segun este o no
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |