views:

68

answers:

1

If you're given a language, how do you figure out if it's regular, CF but not regular, or phrase-structure but not CF? Is there a good way to attack this problem? I could randomly try to make FAs or PDAs, but I feel like there's a better way to do it.

Classic example:

L = { a^n b^n c^n | n >= 0 }

Where would one start? Thanks.

+1  A: 

You sort of get a feel for classifying them. I don't know of a very methodical approach. Since languages are usually subsets and supersets of each other, you estimate where it fits in that hierarchy and show that it can't be, say, a regular language, but it could be a CFL.

WhirlWind