Subset construction

Alright, here's the pull request guys.

There were some problems with this merge though. Unfortunately, because those files were just copied over, the history got really weird and I had to do a forced merge, which basically means my changes bulldozed over yours Justin for `automata.py` and `scanner.py`. It will basically look like huge blocks of code have been added. Having said that, I think our changes were basically identical, but there might be some subtle changes we need to address.

Second, it looks like the new Hofcroft files didn't actually get pushed. At least, I couldn't find them anywhere. We should probably commit those after this request.
I made some comments in response to the changes you're making, other than
the small things I pointed out, I think we just accept the changes as it.
Good job.

On Wed, Oct 8, 2014 at 9:48 PM, Zach <notifications@github.com> wrote:

> In automata.py:
>
> > @@ -1,25 +1,29 @@
> >  class Automata:
> >      """Represents a finite automaton."""
> >
> > -    def __init__(self, states, starts, accepts, transitions,alphabet):
> > -        self.starts = starts
> > -        """List of names of starting states for the automata."""
> > -
> > -        self.states = states
> > -        """List of names of states for the automata."""
> > +    def __init__(self, states=None, start="", accepts=None, transitions=None, alphabet=None):
> > +        # Take care of default arguments - avoids issue of defaults being mutable/evaluated once.
> > +        if states is None: states = []
> > +        if accepts is None: accepts = []
> > +        if transitions is None: transitions = []
> > +        if alphabet is None: alphabet = []
> > +
> > +        self.start = start
> > +        """Starting state for this automata. This is the name of the node as a string."""
>
> Here's a change that could mess stuff up as well: self.states is now
> self.state, as in not a list any more. You can only have one start state
> so I made it singular.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/Zinfidel/cs554-project1/pull/1/files#r18625625>.
>