public class ProbUnrestrictedGrammar extends java.lang.Object implements ProbabilisticGrammar
| Modifier and Type | Field and Description |
|---|---|
static int |
CNFGRAMMAR |
static int |
CONTEXT_FREE |
static int |
CONTEXT_SENSITIVE |
static int |
PROB_CONTEXT_FREE |
static int |
REGULAR |
java.util.List<Rule> |
rules |
java.util.List<java.lang.String> |
terminals |
int |
type |
static int |
UNRESTRICTED |
java.util.List<java.lang.String> |
vars |
| Constructor and Description |
|---|
ProbUnrestrictedGrammar() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addRule(Rule rule)
Add a single rule the grammar, testing it for structural
and probability validity.
|
boolean |
addRules(java.util.List<Rule> ruleList)
Add a number of rules at once, testing each in turn
for validity, and then testing the batch for probability validity.
|
static boolean |
isTerminal(java.lang.String s)
Check if we have a terminal, as they are lowercase strings
|
static boolean |
isVariable(java.lang.String s)
Check if we have a variable, as they are uppercase strings.
|
java.lang.String |
toString() |
void |
updateVarsAndTerminals()
Whenever a new rule is added to the grammar, we want to
update the list of variables and terminals with any new grammar symbols
|
void |
updateVarsAndTerminals(Rule r)
Update variable and terminal lists with a single rule's symbols,
if there a new symbols
|
boolean |
validateRuleProbabilities(java.util.List<Rule> ruleList)
For a set of rules, test whether each batch of rules with the same
LHS have their probabilities sum to exactly 1.0
|
boolean |
validRule(Rule r)
Test validity of the LHS and RHS of grammar rule.
|
public static final int UNRESTRICTED
public static final int CONTEXT_SENSITIVE
public static final int CONTEXT_FREE
public static final int REGULAR
public static final int CNFGRAMMAR
public static final int PROB_CONTEXT_FREE
public java.util.List<Rule> rules
public java.util.List<java.lang.String> vars
public java.util.List<java.lang.String> terminals
public int type
public boolean addRules(java.util.List<Rule> ruleList)
addRules in interface ProbabilisticGrammarruleList - public boolean addRule(Rule rule)
addRule in interface ProbabilisticGrammarrule - public boolean validateRuleProbabilities(java.util.List<Rule> ruleList)
validateRuleProbabilities in interface ProbabilisticGrammarruleList - public boolean validRule(Rule r)
validRule in interface ProbabilisticGrammarr - ( a rule )public void updateVarsAndTerminals()
updateVarsAndTerminals in interface ProbabilisticGrammarpublic void updateVarsAndTerminals(Rule r)
updateVarsAndTerminals in interface ProbabilisticGrammarr - public static boolean isVariable(java.lang.String s)
s - public static boolean isTerminal(java.lang.String s)
s - public java.lang.String toString()
toString in class java.lang.Object