What are some good resources for practice problems on formal languages? Every textbook I've seen contains few practice problems with even fewer answers. I would like a resource that has questions with varying degrees of difficulty, not just one really hard problem. For example if you learn about the pumping lemma, how do you get good at using it? Even a google search for practice problems with solutions doesn't return much.
Are there tools that can be used to check one's answers, for example given a regular expression it produces the DFA/NFA etc?
I'm using "Introduction to the Theory of Computation" and I personally found it hard to use: the layout is all over the place and there weren't enough questions with answers.