コード例 #1
0
  /** Get the transitions of the NFA states on the given character */
  public ArrayList<TokenizerNFAState> getNFATransitions(char c) {
    ArrayList<TokenizerNFAState> trans = new ArrayList<TokenizerNFAState>();

    for (TokenizerNFAState s : NFAStates) {
      trans.addAll(s.getTransitions(c));
    }

    return trans;
  }
コード例 #2
0
  /** Construct a DFA state based on a set of NFA states */
  public TokenizerDFAState(ArrayList<TokenizerNFAState> NFAStates) {
    super();

    this.NFAStates = NFAStates;

    // set this state to accepting if any NFA state is accepting
    for (TokenizerNFAState s : NFAStates) {
      if (s.isAccepting()) {
        addOwners(s.getOwners());
        accepting = true;
      }
    }
  }
コード例 #3
0
  /** Get all the possible transition characters of the NFA states */
  public ArrayList<Character> getNFATransitionCharacters() {
    ArrayList<Character> result = new ArrayList<Character>();

    if (NFAStates != null) {

      for (TokenizerNFAState s : NFAStates) {
        for (Character c : s.getTransitionCharacters()) {
          if (!result.contains(c)) result.add(c);
        }
      }
    }

    return result;
  }