code: public static DFA<Integer> createDFA(String expression, int reducer, Option... options)
      {
          NFA<Integer> nfa = createNFA(new Scope<NFAState<Integer>>(expression), expression, reducer, options);
          DFA<Integer> dfa = nfa.constructDFA(new Scope<DFAState<Integer>>(expression));
          return dfa;
      }
docs: Creates a DFA from regular expression
  @param expression
  @param reducer Reducer marks the accepting state with unique identifier
  @param options
  @return