grammars
Class Symbol

java.lang.Object
  |
  +--grammars.Symbol
Direct Known Subclasses:
Nonterminal, Terminal

public class Symbol
extends java.lang.Object

Trida reprezentujici symbol abecedy


Field Summary
protected  java.lang.String symbol
          Jmeno symbolu
(package private)  int useCount
          Pocet pouziti v pravidlech gramatiky
 
Constructor Summary
Symbol()
          Pomocny konstruktor.
Symbol(char c)
          Vytvori konstruktor s pozadovanym jmenem
Symbol(java.lang.String s)
          Vytvori konstruktor s pozadovanym jmenem
 
Method Summary
static boolean areEqual(Symbol s1, Symbol s2)
          Porovna dva symboly, jestli se stejne jmenuji
 boolean equals(Symbol s)
          Porovna dva symboly
 int getUseCount()
          Slouzi k ziskani poctu vyskytu symbolu v pravidlech
 boolean hasName(java.lang.String s)
          Zjisti, jestli ma symbol pozadovane jmeno
 int changeUseCount(int c)
          Zmeni pocet vyskytu symbolu v pravidlech o pozadovanou hodnotu
 boolean isNonterminal()
          Slouzi k zjisteni, jestli je symbol neterminal.
 boolean isTerminal()
          Slouzi k zjisteni, jestli je symbol terminal.
 void setUseCount(int c)
          Nastavi pocet vyskytu symbolu v pravidlech na pozadovanou hodnotu
 java.lang.String toString()
          Prevede symbol na retezec tim, ze vrati jeho jmeno
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

symbol

protected java.lang.String symbol
Jmeno symbolu

useCount

int useCount
Pocet pouziti v pravidlech gramatiky
Constructor Detail

Symbol

public Symbol()
Pomocny konstruktor. Tvori symbol bez jmena.

Symbol

public Symbol(java.lang.String s)
Vytvori konstruktor s pozadovanym jmenem
Parameters:
s - Jmeno symbolu

Symbol

public Symbol(char c)
Vytvori konstruktor s pozadovanym jmenem
Parameters:
s - Jmeno symbolu tvorene jednim znakem
Method Detail

equals

public boolean equals(Symbol s)
Porovna dva symboly
Parameters:
s - Porovanavany symbol
Returns:
true, pokud se symbol jmenuje stejne, jako ten v parametru

hasName

public boolean hasName(java.lang.String s)
Zjisti, jestli ma symbol pozadovane jmeno
Parameters:
s - Porovanavany retezec
Returns:
true, pokud se symbol jmenuje tak, jak je pozadovano parametrem

areEqual

public static boolean areEqual(Symbol s1,
                               Symbol s2)
Porovna dva symboly, jestli se stejne jmenuji
Parameters:
s1 - Prvni porovnavany symbol
s2 - Druhy porovnavany symbol
Returns:
true, pokud se symboly jmenuji stejne

toString

public java.lang.String toString()
Prevede symbol na retezec tim, ze vrati jeho jmeno
Overrides:
toString in class java.lang.Object
Returns:
Jmeno symbolu

isTerminal

public boolean isTerminal()
Slouzi k zjisteni, jestli je symbol terminal. Predpoklada predefinovani v podtridach.
Returns:
Vzdy vraci false

isNonterminal

public boolean isNonterminal()
Slouzi k zjisteni, jestli je symbol neterminal. Predpoklada predefinovani v podtridach.
Returns:
Vzdy vraci false

setUseCount

public void setUseCount(int c)
Nastavi pocet vyskytu symbolu v pravidlech na pozadovanou hodnotu
Parameters:
c - Pozadovana hodnota poctu vyskytu

getUseCount

public int getUseCount()
Slouzi k ziskani poctu vyskytu symbolu v pravidlech
Returns:
Pocet vyskytu symbolu v pravidlech

changeUseCount

public int changeUseCount(int c)
Zmeni pocet vyskytu symbolu v pravidlech o pozadovanou hodnotu
Parameters:
c - Hodnota pricitana k poctu vyskytu symbolu v pravidlech