iv_machineSet.add(getAdjNegIndicatorMachine());
}
private Machine getAspectualNegIndicatorMachine() {
State startState = new NamedState("START");
State endState = new NamedState("END");
State anyState = new NamedState("ANY");
State ntEndState = new NonTerminalEndState("NON TERMINAL END");
endState.setEndStateFlag(true);
ntEndState.setEndStateFlag(true);
Machine m = new Machine(startState);
State regModalState = new NamedState("REG_MODAL");
State negPartState = new NamedState("NEG_PART");
State negVerbState = new NamedState("NEG_VERB");
State negCollocState = new NamedState("NEG_COLLOC");
State negColPartState = new NamedState("NEG_COLPART");
Condition regModalC = new TextSetCondition(iv_modalVerbsSet, false);
Condition negPartC = new TextSetCondition(iv_negParticlesSet, false);
Condition regVerbC = new TextSetCondition(iv_regVerbsSet, false);
Condition negVerbC = new TextSetCondition(iv_negVerbsSet, false);
Condition negDetC = new TextSetCondition(iv_negDeterminersSet, false);
Condition negCollocC = new TextSetCondition(iv_negCollocSet, false);
Condition negColPartC = new TextSetCondition(iv_negColPartSet, false);
Condition notCollocC = new NegateCondition(negCollocC);
startState.addTransition(negVerbC, negVerbState);
startState.addTransition(negCollocC, negCollocState); // rule
startState.addTransition(new DisjoinCondition(regModalC, regVerbC),
regModalState); // start with a modal
startState.addTransition(new DisjoinCondition(negPartC, negDetC),
negPartState);
startState.addTransition(new AnyCondition(), startState);
regModalState.addTransition(negCollocC, negCollocState);
negCollocState.addTransition(negColPartC, negColPartState); // out
negColPartState.addTransition(new AnyCondition(), ntEndState);
negCollocState.addTransition(new AnyCondition(), startState);
regModalState.addTransition(new DisjoinCondition(negPartC, negDetC),
negPartState);
regModalState.addTransition(new AnyCondition(), anyState);