|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--grammars.Grammar
Trida reprezentujici klasickou obecnou gramatiku. Obsahuje mnoziny terminalu, neterminalu, pravidel a pocatecni neterminal.
Field Summary | |
static java.lang.String |
lambda
Jmeno terminalu, ktery reprezentuje prazdne slovo |
protected Terminal |
lambdaTerm
Prazdne slovo |
protected Nonterminal[] |
nonterminals
Pole neterminalu gramatiky |
protected Production[] |
productions
Pole pravidel gramatiky |
protected Nonterminal |
start
Pocatecni neterminal |
protected Terminal[] |
terminals
Pole terminalu gramatiky |
Constructor Summary | |
Grammar()
Konstruktor, ktery vytvori gramatiku bez pravidel, terminalu i neterminalu |
|
Grammar(Production[] p)
Konstruktor, ktery vytvori gramatiku bez terminalu i neterminalu. |
|
Grammar(Production[] p,
Terminal[] t,
Nonterminal[] n,
Nonterminal s)
Vytvori gramatiku se vsemi prvky |
Method Summary | |
Production[] |
acUsableProductions(SententialForm sent,
Step lastStep)
Slouzi k ziskani pravidel gramatiky aplikovatelnych ve smyslu testovani vyskytu na urcenou vetnou formu. |
Nonterminal |
addNonterminal(java.lang.String name)
Slouzi k pridani neterminalu do gramatiky. |
void |
addProduction(Production p)
Prida jedno pravidlo do pole pravidel |
Symbol |
addSymbol(java.lang.String name)
Slouzi k pridani libovolneho symbolu do gramatiky. |
Terminal |
addTerminal(java.lang.String name)
Slouzi k pridani terminalu do gramatiky. |
Grammar |
copy()
Vytvori kopii gramatiky. |
Nonterminal[] |
getNonterminals()
Slouzi k ziskani vsech neterminalu gramatiky |
Production[] |
getProductions()
Slouzi k ziskani vsech pravidel gramatiky |
Nonterminal |
getStart()
Slouzi k ziskani pocatecniho neterminalu |
Terminal[] |
getTerminals()
Slouzi k ziskani vsech terminalu gramatiky |
private void |
changeUseCount(Production p,
int change)
U kazdeho terminalniho i neterminalniho symbolu si gramatika pamatuje, kolikrat je obsazen v pravidlech. |
Production[] |
leftAcUsableProductions(SententialForm sent,
Step lastStep)
Slouzi k ziskani pravidel gramatiky aplikovatelnych ve smyslu testovani vyskytu na urcenou vetnou formu pri soucasnem uvazovani leve nebo leftmost derivace. |
Production[] |
leftUsableProductions(SententialForm sent,
Step lastStep)
Slouzi k ziskani pravidel gramatiky aplikovatelnych na urcenou vetnou formu. |
private void |
noUsedSymbols()
Odstrani z mnozin neterminalu a terminalu ty symboly, ktere se nevyskytuji v zadnem pravidle |
void |
removeProduction(int index)
Odstrani jedno pravidlo z pole pravidel. |
void |
setStart(Nonterminal s)
Nastavi pocatecni neterminal na pozadovanou hodnotu |
Production[] |
usableProductions(SententialForm sent,
Step lastStep)
Slouzi k ziskani pravidel gramatiky aplikovatelnych na urcenou vetnou formu. |
Methods inherited from class java.lang.Object |
|
Field Detail |
public static final java.lang.String lambda
protected Terminal[] terminals
protected Nonterminal[] nonterminals
protected Production[] productions
protected Nonterminal start
protected Terminal lambdaTerm
Constructor Detail |
public Grammar()
public Grammar(Production[] p)
p
- Pole pravidel gramatikypublic Grammar(Production[] p, Terminal[] t, Nonterminal[] n, Nonterminal s)
p
- Pole pravidel gramatikyt
- Pole terminalun
- Pole neterminalus
- Pocatecni neterminalMethod Detail |
public Grammar copy()
public Terminal addTerminal(java.lang.String name)
name
- Retezec jmena terminalupublic void setStart(Nonterminal s)
s
- Novy pocatecni neterminalpublic Nonterminal getStart()
public Nonterminal addNonterminal(java.lang.String name)
name
- Retezec jmena neterminalupublic Symbol addSymbol(java.lang.String name)
name
- Jmeno symbolupublic void addProduction(Production p)
p
- Pridavane pravidlopublic void removeProduction(int index)
index
- Poradi pravidla v poli pravidel. Odpovida poradi, v jakem
byla pravidla pridavana. Pocita se od 0.private void changeUseCount(Production p, int change)
p
- Pravidlo, jehoz symbolum se meni pocet vyskytuchange
- Hodnota prictena k poctu vyskytuprivate void noUsedSymbols()
public Production[] getProductions()
public Terminal[] getTerminals()
public Nonterminal[] getNonterminals()
public Production[] usableProductions(SententialForm sent, Step lastStep)
sent
- Vetna forma, na kterou se maji pravidla aplikovatlastStep
- Predchozi krok derivacepublic Production[] leftUsableProductions(SententialForm sent, Step lastStep)
sent
- Vetna forma, na kterou se maji pravidla aplikovatlastStep
- Predchozi krok derivacepublic Production[] acUsableProductions(SententialForm sent, Step lastStep)
sent
- Vetna forma, na kterou se maji pravidla aplikovatlastStep
- Predchozi krok derivacepublic Production[] leftAcUsableProductions(SententialForm sent, Step lastStep)
sent
- Vetna forma, na kterou se maji pravidla aplikovatlastStep
- Predchozi krok derivace
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |