Modifier and Type | Field and Description |
---|---|
private java.lang.String |
axiom |
(package private) static boolean |
init |
private java.text.StringCharacterIterator |
lIterator |
(package private) processing.core.PApplet |
parent |
private java.lang.String |
production |
private RuleList |
rules |
Constructor and Description |
---|
StochasticGrammar(processing.core.PApplet parent,
java.lang.String axiom)
Constructor for use with processing Applet
|
StochasticGrammar(java.lang.String axiom)
Default constructor for testing
|
Modifier and Type | Method and Description |
---|---|
void |
addRule(char premise,
java.lang.String rule)
add non weighted rule (or default weighting if more than on entry)
|
void |
addRule(char premise,
java.lang.String rule,
float weight)
add weighted rule
|
void |
dispose()
Empty collections on dispose
|
void |
generateGrammar()
Useful for testing no generations
|
void |
generateGrammar(int repeats)
Creates production from axiom, rules and no of
generations
|
java.text.CharacterIterator |
getIterator()
Makes the CharacterIterator available internally/externally
Create a new instance if none exists otherwise re-use existing instance
|
private java.text.CharacterIterator |
getIterator(java.lang.String production)
Makes the CharacterIterator available internally/externally Create a new
instance if none exists otherwise re-use existing instance
|
java.lang.String |
getRule(char premise)
get rule (NB: a weighted rule returned if multiple rules stored for a
given rule ie non-deterministic behaviour, be warned)
|
boolean |
hasKey(char premise) |
private java.lang.String |
parseRules(java.lang.String production)
Private parseRules helper function
|
private void |
setActive() |
java.lang.String |
target()
return the target processing version of the library.
|
java.lang.String |
toString() |
java.lang.String |
version()
return the version of the library.
|
private final java.lang.String axiom
private java.lang.String production
private final RuleList rules
private java.text.StringCharacterIterator lIterator
static boolean init
processing.core.PApplet parent
public StochasticGrammar(processing.core.PApplet parent, java.lang.String axiom)
parent
- axiom
- public StochasticGrammar(java.lang.String axiom)
axiom
- public void addRule(char premise, java.lang.String rule)
public void addRule(char premise, java.lang.String rule, float weight)
public java.lang.String getRule(char premise)
public boolean hasKey(char premise)
private java.lang.String parseRules(java.lang.String production)
production
- Rulepublic void generateGrammar(int repeats)
Grammar
generateGrammar
in interface Grammar
public void generateGrammar()
Grammar
generateGrammar
in interface Grammar
public java.text.CharacterIterator getIterator()
Grammar
getIterator
in interface Grammar
private java.text.CharacterIterator getIterator(java.lang.String production)
production
- Stringpublic void dispose()
public java.lang.String toString()
toString
in class java.lang.Object
public final java.lang.String version()
public final java.lang.String target()
private void setActive()