webovyformular.dat_typy
Class Znak

java.lang.Object
  extended by webovyformular.dat_typy.Znak

public class Znak
extends java.lang.Object

Description:

Třída Znak slouží k reprezentaci terminálních a neterminálních symbolů gramatiky a prázdného slova - epsilonu. Jsou v ní implementovány základní metody, pro práci s těmito prvky gramatiky.

Copyright: Copyright (c) 2005


Field Summary
static java.lang.String jmenoEps
          Ve statické proměnné jmenoEps je uložen řetězec, který se implicitně přiřadí k atributu jmeno při volání konstruktoru třídy Znak s parametrem typu byte rovným 0.
 
Constructor Summary
Znak(java.lang.String jmeno, byte typ)
          Konstruktor vytvoří nový Znak, jehož atributy budou hodnoty zadané na vstupu.
 
Method Summary
 boolean equals(java.lang.Object o)
          Metoda equals vrací hodnotu true, pokud je zadaný objekt o stejného jména a typu jako volající instance.
 java.lang.String getJmeno()
          Metoda getJmeno vrací jméno instance.
 byte getTyp()
          Metoda getTyp vrací byte hodnotu, která reprezentuje typ instance.
 int hashCode()
          Metoda hashCode vrací hodnotu hash kodu, která se vypočítá jako součet hodnot hashCode() jmena a typu
 boolean isEpsilon()
          Metoda isEpsilon vrací hodnotu true, pokud hodnota atributu typ volající instance je rovna 0.V opačném případě vrací false.
 boolean isNeterminal()
          Metoda isNeterminal vrací hodnotu true, pokud hodnota atributu typ volající instance je rovna 2.V opačném případě vrací false.
 boolean isTerminal()
          Metoda isTerminal vrací hodnotu true, pokud hodnota atributu typ volající instance je rovna 1.V opačném případě vrací false.
 java.lang.String toString()
          Metoda toString vrací Stringovou reprezentaci daného symbolu, která odpovídá jménu dané instance.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

jmenoEps

public static java.lang.String jmenoEps
Ve statické proměnné jmenoEps je uložen řetězec, který se implicitně přiřadí k atributu jmeno při volání konstruktoru třídy Znak s parametrem typu byte rovným 0.

Constructor Detail

Znak

public Znak(java.lang.String jmeno,
            byte typ)
     throws ParamPrazdnyStringException,
            PrefixEpsilonuException
Konstruktor vytvoří nový Znak, jehož atributy budou hodnoty zadané na vstupu. Je-li novou instancí epsilon, jeho jméno bude hodnota veřejné statické proměnné jmenoEps třídy Znak.

Parameters:
jmeno - String - jméno nového symbolu
typ - byte - typ nového symbolu. Pro terminál typ = 1, pro neterminál typ = 2 a pro epsilon typ = 0.
Throws:
ParamPrazdnyStringException - když jmeno je prázdný řetězec nebo řetězec prázdných znaků.
PrefixEpsilonuException - když jmeno je prefixem řetězce uloženého v porměnné jmenoEps.
Method Detail

toString

public java.lang.String toString()
Metoda toString vrací Stringovou reprezentaci daného symbolu, která odpovídá jménu dané instance.

Overrides:
toString in class java.lang.Object
Returns:
String - Stringová reprezentace instance

getJmeno

public java.lang.String getJmeno()
Metoda getJmeno vrací jméno instance.

Returns:
String - jméno instance

getTyp

public byte getTyp()
Metoda getTyp vrací byte hodnotu, která reprezentuje typ instance. Pro terminál typ = 1, pro neterminál typ = 2 a pro epsilon typ = 0.

Returns:
byte - byte hodnota reprezentující typ instance

hashCode

public int hashCode()
Metoda hashCode vrací hodnotu hash kodu, která se vypočítá jako součet hodnot hashCode() jmena a typu

Overrides:
hashCode in class java.lang.Object
Returns:
int - hodnota hash kodu pro danou instaci

equals

public boolean equals(java.lang.Object o)
Metoda equals vrací hodnotu true, pokud je zadaný objekt o stejného jména a typu jako volající instance. V opačném případě metoda vrací false.

Overrides:
equals in class java.lang.Object
Parameters:
o - Object - vstupné objekt
Returns:
boolean - true, když se objekt a instance shodují, jinak false

isTerminal

public boolean isTerminal()
Metoda isTerminal vrací hodnotu true, pokud hodnota atributu typ volající instance je rovna 1.V opačném případě vrací false.

Returns:
boolean - true, když je atribut typ instance roven 1, jinak false

isNeterminal

public boolean isNeterminal()
Metoda isNeterminal vrací hodnotu true, pokud hodnota atributu typ volající instance je rovna 2.V opačném případě vrací false.

Returns:
boolean - true, když je atribut typ instance roven 2, jinak false

isEpsilon

public boolean isEpsilon()
Metoda isEpsilon vrací hodnotu true, pokud hodnota atributu typ volající instance je rovna 0.V opačném případě vrací false.

Returns:
boolean - true, když je atribut typ instance roven 0, jinak false