|
||||||||||
| 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 analisis| Method 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.Objectpublic 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 procesar
public 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 | |||||||||