    /** 
     * Constructs a new NFA that accepts the language containing only the empty string.
     * @param a automaton alphabet
     */
    public static NFA makeEmptyString(Alphabet a) {
        NFA f = new NFA();
        f.alphabet = a;
        State s = new State();
        f.states.add(s);
        f.initial = s;
        f.accept.add(s);
        return f;
    }

