Gramaticas
Class Simbolo

java.lang.Object
  extended by Gramaticas.Simbolo
All Implemented Interfaces:
java.lang.Comparable
Direct Known Subclasses:
No_terminal, Terminal

public abstract class Simbolo
extends java.lang.Object
implements java.lang.Comparable

(Super)clase abstracta para la implementacion interna de simbolos en gramaticas, automatas, etc. Para simplificar, los simbolos estan constituidos por caracteres aislados.

Version:
Revision 1.1.0, 17/03/07
Author:
Jesus Vilares ( jvilares@udc.es)

Field Summary
protected  char id
          Identificador del simbolo
static int NOTERMINAL
           
static int OTHER
           
static int TERMINAL
           
 
Constructor Summary
Simbolo()
           
 
Method Summary
 int compareTo(java.lang.Object o)
          Funcion de comparacion para ordenacion de dos simbolos.
 boolean equals(java.lang.Object s)
           
 char get_id()
          Devuelve el identificador del Simbolo
 int hashCode()
           
 boolean isNoTerminal()
          Comprueba si el simbolo actual es un no terminal (tipo No_erminal)
static int isStrSimbolo(java.lang.String s)
          Comprueba si un string es un simbolo y de que tipo
 boolean isTerminal()
          Comprueba si el simbolo actual es un terminal (tipo Terminal)
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

TERMINAL

public static final int TERMINAL
See Also:
Constant Field Values

NOTERMINAL

public static final int NOTERMINAL
See Also:
Constant Field Values

OTHER

public static final int OTHER
See Also:
Constant Field Values

id

protected char id
Identificador del simbolo

Constructor Detail

Simbolo

public Simbolo()
Method Detail

get_id

public char get_id()
Devuelve el identificador del Simbolo

Returns:
Identificador del Simbolo

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

equals

public boolean equals(java.lang.Object s)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

compareTo

public int compareTo(java.lang.Object o)
Funcion de comparacion para ordenacion de dos simbolos. Delega en la funcion de comparacion de sus identificadores.

Specified by:
compareTo in interface java.lang.Comparable
Parameters:
o - Simbolo a comparar
Returns:
Devuelve 0 si este simbolo y el simbolo argumento son iguales; un valor menor que 0 si este simbolo es menor que el simbolo argumento (i.e., si su identificador es lexicograficamente menor); y un valor mayor que 0 si este simbolo es mayor que el simbolo argumento (i.e., si su identificador es lexicograficamente mayor)

isStrSimbolo

public static int isStrSimbolo(java.lang.String s)
Comprueba si un string es un simbolo y de que tipo

Parameters:
s - String a comprobar
Returns:

OTHER - NO es un simbolo
TERMINAL - es un simbolo terminal
NOTERMINAL - es un simbolo no terminal

isTerminal

public boolean isTerminal()
Comprueba si el simbolo actual es un terminal (tipo Terminal)

Returns:
true/false segun sea o no un terminal

isNoTerminal

public boolean isNoTerminal()
Comprueba si el simbolo actual es un no terminal (tipo No_erminal)

Returns:
true/false segun sea o no un no terminal