State secondDotQtoIState = new NamedState("SECONDDOTQ2I");
Machine m = new Machine(startState);
startState.addTransition(new TextValueCondition("q", false),
leftAbbreviateQState);
startState.addTransition(new TextSetCondition(
iv_fourTimesPerDayWordSet, false) , endState);
startState.addTransition(new IntegerValueCondition(6), sixHourState);
startState.addTransition(new DisjoinCondition(new CombineCondition(new NegateCondition(new IntegerRangeCondition(1,5)), new IntegerCondition()), new IntegerValueCondition(6)), handleRangeState);
startState.addTransition(new DisjoinCondition(new TextSetCondition(iv_postSixWordSet, false), new TextValueCondition("six", false)), sixHourState);
startState.addTransition(new AnyCondition(), startState);
handleRangeState.addTransition(new PunctuationValueCondition('-'), rangeHourState);
handleRangeState.addTransition(new AnyCondition(), startState);
leftAbbreviateQState.addTransition(new PunctuationValueCondition('.'), firstDotQState);
leftAbbreviateQState.addTransition(new TextValueCondition("six", false), sixHourState);
leftAbbreviateQState.addTransition(new IntegerValueCondition(6), sixHourState);
leftAbbreviateQState.addTransition(new TextSetCondition(
iv_fourTimesPerDayWordSet, false) , sixHourState);
leftAbbreviateQState.addTransition(new AnyCondition(), startState);
rangeHourState.addTransition(new IntegerRangeCondition(7,10), eightSuffixState);
rangeHourState.addTransition(new TextValueCondition("seven", false), eightSuffixState);
rangeHourState.addTransition(new TextValueCondition("eight", false), eightSuffixState);
rangeHourState.addTransition(new TextValueCondition("nine", false), eightSuffixState);
rangeHourState.addTransition(new TextValueCondition("ten", false), eightSuffixState);
rangeHourState.addTransition(new AnyCondition(), startState);
eightSuffixState.addTransition(new TextSetCondition(iv_hourlySuffixSet, false), endState);
eightSuffixState.addTransition(new AnyCondition(), startState);
sixHourState.addTransition(new PunctuationValueCondition('-'), rangeHourState);
sixHourState.addTransition(new TextValueCondition("to", false), rangeHourState);
sixHourState.addTransition(new TextSetCondition(iv_hourlySuffixSet, false), endState);
sixHourState.addTransition(new TextSetCondition(iv_fourTimesPerDayWordSet, false), endState);
sixHourState.addTransition(new AnyCondition(), startState);
firstDotQState.addTransition(new TextValueCondition("d", false),
middleAbbreviateQtoDState);
firstDotQState.addTransition(new TextValueCondition("i", false),