|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--grammars.Derivation
Trida slouzici k reprezentaci derivace. Pamatuje si aktualni vetnou formu a gramatiku. Umoznuje navrat v derivaci zpet. Derivace neni vazana na konkretni typ gramatiky zdedene ze tridy Grammar.
Field Summary | |
protected SententialForm |
form
Aktualni vetna forma |
protected Grammar |
grammar
Gramatika pouzita pro derivaci |
protected Step[] |
steps
Kroky derivace |
Constructor Summary | |
Derivation(Grammar g)
Konstruktor tridy se specifikaci pouzite gramatiky. |
Method Summary | |
Production[] |
acUsableProductions(boolean left)
Slouzi k ziskani pravidel gramatiky aplikovatelnych ve smyslu testovani vyskytu na aktualni vetnou formu. |
void |
applyAcProduction(Production p)
Aplikuje pravidlo ve smyslu testovani vyskytu. |
void |
applyProduction(Production p)
Aplikuje pravidlo na prvni vyskyt leve strany ve vetne forme. |
void |
applyProduction(Production p,
int index)
Aplikuje pravidlo na urceny vyskyt leve strany ve vetne forme. |
void |
backOneStep()
Navrat v derivaci o jeden krok zpet. |
void |
backToStep(int index)
Navrat v derivaci k pozadovanemu kroku. |
SententialForm |
getForm()
Slouzi k ziskani aktualni vetne formy |
boolean |
isTerminalWord()
Slouzi ke zjisteni, jestli jiz bylo vygenerovano terminalni slovo. |
int |
stepsCount()
Slouzi ke zjisteni, kolik kroku derivace jiz probehlo |
java.lang.String[] |
stepsToList()
Vytvori pole retezcu. |
Production[] |
usableProductions(boolean left)
Slouzi k ziskani pravidel gramatiky aplikovatelnych na aktualni vetnou formu. |
Methods inherited from class java.lang.Object |
|
Field Detail |
protected Grammar grammar
protected SententialForm form
protected Step[] steps
Constructor Detail |
public Derivation(Grammar g)
g
- Gramatika pouzivana k derivaciMethod Detail |
public void backOneStep()
public void backToStep(int index) throws java.lang.IndexOutOfBoundsException
index
- Poradi kroku, do ktereho ma derivace zustatjava.lang.IndexOutOfBoundsException
- Pokud je index mimo existujici pocet
krokupublic SententialForm getForm()
public Production[] usableProductions(boolean left)
left
- Pokud je nastaveno na true, pouziva leftmost nebo levou
derivaci podle definice konkretni gramatikypublic Production[] acUsableProductions(boolean left)
left
- Pokud je nastaveno na true, pouziva leftmost nebo levou
derivaci podle definice konkretni gramatikypublic java.lang.String[] stepsToList()
vetna forma => pravidlonebovetna forma => ac pravidloRetezec popisujici pravidlo je generovan objektem typu Production a muze se lisit podle konkretni podtridy.
public void applyProduction(Production p) throws java.lang.IndexOutOfBoundsException
p
- Aplikovane pravidlopublic void applyAcProduction(Production p) throws java.lang.IndexOutOfBoundsException
p
- Aplikovane pravidlopublic void applyProduction(Production p, int index) throws java.lang.IndexOutOfBoundsException
p
- Aplikovane pravidloindex
- Vyskyt leve strany, na ktery se ma pravidlo pouzit.
Pocita se od 1.public boolean isTerminalWord()
public int stepsCount()
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |