HopcroftUllman

[http://infolab.stanford.edu/~ullman/ialc.html]