Example usage for org.apache.lucene.util.automaton Automaton isAccept

List of usage examples for org.apache.lucene.util.automaton Automaton isAccept

Introduction

In this page you can find the example usage for org.apache.lucene.util.automaton Automaton isAccept.

Prototype

BitSet isAccept

To view the source code for org.apache.lucene.util.automaton Automaton isAccept.

Click Source Link

Usage

From source file:org.getopt.luke.Luke.java

License:Apache License

private void addAutomaton(Object parent, Automaton a) {

    Object n = create("node");
    setString(n, "text", "Automaton: " + a != null ? a.toDot() : "null");
    add(parent, n);/*  w ww  .j  ava2s .c o  m*/

    Transition t = new Transition();

    for (int state = 0; state < a.getNumStates(); state++) {
        Object n1 = create("node");
        add(n, n1);

        StringBuilder msg = new StringBuilder();
        msg.append(String.valueOf(state));

        // initial state
        if (state == 0) {
            msg.append(" INITIAL");
        }

        msg.append(a.isAccept(state) ? " [accept]" : " [reject]");

        int numTransitions = a.initTransition(state, t);

        msg.append(", " + numTransitions + " transitions");
        setString(n1, "text", msg.toString());

        //System.out.println("toDot: state " + state + " has " + numTransitions + " transitions; t.nextTrans=" + t.transitionUpto);
        for (int i = 0; i < numTransitions; i++) {
            a.getNextTransition(t);

            Object n2 = create("node");
            add(n1, n2);
            setString(n2, "text", t.toString());
            assert t.max >= t.min;
        }
    }
}