private static <T, S> void printTrieDFSAHelper(DFSAState<T, S> state, int level) { if (state.isAccepting()) { return; } Set<T> inputs = state.continuingInputs(); for (T input : inputs) { DFSATransition<T, S> transition = state.transition(input); System.out.print(level); System.out.print(input); for (int i = 0; i < level; i++) { System.out.print(" "); } System.out.print(transition.score()); System.out.print(" "); System.out.println(input); printTrieDFSAHelper(transition.target(), level + 1); } }
public void printAttFsmFormat(Writer w) throws IOException { Queue<DFSAState<T,S>> q = new LinkedList<>(); Set<DFSAState<T,S>> visited = Generics.newHashSet(); q.offer(initialState); while(q.peek() != null) { DFSAState<T, S> state = q.poll(); if(state == null || visited.contains(state)) continue; visited.add(state); if (state.isAccepting()) { w.write(state.toString()+"\t"+state.score()+"\n"); continue; } TreeSet<T> inputs = new TreeSet<>(state.continuingInputs()); for (T input : inputs) { DFSATransition<T, S> transition = state.transition(input); DFSAState<T,S> target = transition.target(); if(!visited.contains(target)) q.add(target); w.write(state.toString()+"\t"+target.toString()+"\t"+transition.getInput()+"\t"+transition.score()+"\n"); } } }
for (DFSATransition<Word, Integer> tr : trs) { DFSAState<Word, Integer> toState = tr.getTarget(); double lcost = tr.score(); int end = toState.stateID();
private static <T, S> void printTrieDFSAHelper(DFSAState<T, S> state, int level) { if (state.isAccepting()) { return; } Set<T> inputs = state.continuingInputs(); for (T input : inputs) { DFSATransition<T, S> transition = state.transition(input); System.out.print(level); System.out.print(input); for (int i = 0; i < level; i++) { System.out.print(" "); } System.out.print(transition.score()); System.out.print(" "); System.out.println(input); printTrieDFSAHelper(transition.target(), level + 1); } }
private static <T, S> void printTrieDFSAHelper(DFSAState<T, S> state, int level) { if (state.isAccepting()) { return; } Set<T> inputs = state.continuingInputs(); for (T input : inputs) { DFSATransition<T, S> transition = state.transition(input); System.out.print(level); System.out.print(input); for (int i = 0; i < level; i++) { System.out.print(" "); } System.out.print(transition.score()); System.out.print(" "); System.out.println(input); printTrieDFSAHelper(transition.target(), level + 1); } }
private static <T, S> void printTrieDFSAHelper(DFSAState<T, S> state, int level) { if (state.isAccepting()) { return; } Set<T> inputs = state.continuingInputs(); for (T input : inputs) { DFSATransition<T, S> transition = state.transition(input); System.out.print(level); System.out.print(input); for (int i = 0; i < level; i++) { System.out.print(" "); } System.out.print(transition.score()); System.out.print(" "); System.out.println(input); printTrieDFSAHelper(transition.target(), level + 1); } }
public void printAttFsmFormat(Writer w) throws IOException { Queue<DFSAState<T,S>> q = new LinkedList<DFSAState<T,S>>(); Set<DFSAState<T,S>> visited = new HashSet<DFSAState<T,S>>(); q.offer(initialState); while(q.peek() != null) { DFSAState<T, S> state = q.poll(); if(state == null || visited.contains(state)) continue; visited.add(state); if (state.isAccepting()) { w.write(state.toString()+"\t"+state.score()+"\n"); continue; } TreeSet<T> inputs = new TreeSet<T>(state.continuingInputs()); for (T input : inputs) { DFSATransition<T, S> transition = state.transition(input); DFSAState<T,S> target = transition.target(); if(!visited.contains(target)) q.add(target); w.write(state.toString()+"\t"+target.toString()+"\t"+transition.getInput()+"\t"+transition.score()+"\n"); } } }
public void printAttFsmFormat(Writer w) throws IOException { Queue<DFSAState<T,S>> q = new LinkedList<>(); Set<DFSAState<T,S>> visited = Generics.newHashSet(); q.offer(initialState); while(q.peek() != null) { DFSAState<T, S> state = q.poll(); if(state == null || visited.contains(state)) continue; visited.add(state); if (state.isAccepting()) { w.write(state.toString()+"\t"+state.score()+"\n"); continue; } TreeSet<T> inputs = new TreeSet<>(state.continuingInputs()); for (T input : inputs) { DFSATransition<T, S> transition = state.transition(input); DFSAState<T,S> target = transition.target(); if(!visited.contains(target)) q.add(target); w.write(state.toString()+"\t"+target.toString()+"\t"+transition.getInput()+"\t"+transition.score()+"\n"); } } }
public void printAttFsmFormat(Writer w) throws IOException { Queue<DFSAState<T,S>> q = new LinkedList<DFSAState<T,S>>(); Set<DFSAState<T,S>> visited = Generics.newHashSet(); q.offer(initialState); while(q.peek() != null) { DFSAState<T, S> state = q.poll(); if(state == null || visited.contains(state)) continue; visited.add(state); if (state.isAccepting()) { w.write(state.toString()+"\t"+state.score()+"\n"); continue; } TreeSet<T> inputs = new TreeSet<T>(state.continuingInputs()); for (T input : inputs) { DFSATransition<T, S> transition = state.transition(input); DFSAState<T,S> target = transition.target(); if(!visited.contains(target)) q.add(target); w.write(state.toString()+"\t"+target.toString()+"\t"+transition.getInput()+"\t"+transition.score()+"\n"); } } }