public virtual Fst toFst() { Fst fst = new Fst(this.ring); fst.setIsyms(this.inputAlphabet.toSymbols()); fst.setOsyms(this.outputAlphabet.toSymbols()); this.openFstStates = new ArrayList(this.states.size()); Iterator iterator = this.states.iterator(); while (iterator.hasNext()) { SequiturImport.State state = (SequiturImport.State)iterator.next(); edu.cmu.sphinx.fst.State state2 = state.toUnconnectedOpenFstState(); fst.addState(state2); if (!SequiturImport.FSA.assertionsDisabled && state2.getId() != state.id) { throw new AssertionError(); } this.openFstStates.add(state2); } fst.setStart((edu.cmu.sphinx.fst.State) this.openFstStates.get(0)); iterator = this.states.iterator(); while (iterator.hasNext()) { SequiturImport.State state = (SequiturImport.State)iterator.next(); state.connectStates(this.openFstStates); } return(fst); }
public virtual void afterUnmarshal(Unmarshaller unmarshaller, object parent) { if (!SequiturImport.FSA.assertionsDisabled && !String.instancehelper_equals("tropical", this.semiring)) { throw new AssertionError(); } SequiturImport.State state = new SequiturImport.State(); state.id = 0; state.arcs = Collections.singletonList(new SequiturImport.Arc { @in = this.inputAlphabet.symbols.size() - 1, @out = this.outputAlphabet.symbols.size() - 1, target = this.initial + 1, weight = this.ring.one() }); this.states.add(state); Collections.sort(this.states, new SequiturImport_FSA_1(this)); }
public int compare(SequiturImport.State state, SequiturImport.State state2) { return(state.id - state2.id); }