Java library for various formal languages (regular languages, context-free grammars, and turing machines)