Ejemplo n.º 1
0
            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);
            }
Ejemplo n.º 2
0
 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);
 }