code: @Override
      public Status match(int cc)
      {
          state = state.transit(cc);
          if (state != null)
          {
              if (state.isAccepting())
              {
                  matched = state.getToken();
                  state = root;
                  return Status.Match;
              }
              else
              {
                  return Status.Ok;
              }
          }
          else
          {
              state = root;
              return Status.Error;
          }
      }
docs: Returns the match result as soon as in accepting state. Is not greedy.
  For a* will match a from aaa.
  @param cc
  @return
  @throws java.lang.NullPointerException If not compiled