chomsky hierarchy in plain english

Maybe you get a better understanding if you remember the automata generating these languages.

Regular languages are generated by regular automata. They have only have a finit knowledge of the past (their compute memory has limits) so everytime you have a language with suffixes depending on prefixes (palindrome language) this can not be done with regular languages.

Context-free languages are generated by nondeterministic pushdown automata. They have a kind of knowledge of the past (the stack, which is not limited in contrast to regular automata) but a stack can only be viewed from top so you don't have complete knowledge of the past.

Context-sensitive languages are generated by linear-bound non-deterministic turing machines. They know the past and can deal with different contexts because they are non-deterministic and can access all the past at every time.

Unrestricted languages are generated by Turing machines. According to the Church-Turing-Thesis turing machines are able to calculate everything you can imagine (which means everything decidable).


As for regular languages, there are many equivalent characterizations. They give many different ways of looking at regular languages. It is hard to give a "plain English" definition, and if you find it hard to understand any of the characterizations of regular languages, it is unlikely that a "plain English" explanation will help. One thing to note from the definitions and various closure properties is that regular languages embody the notion of "finiteness" somehow. But this is again hard to appreciate without better familiarity with regular languages.

Do you find the notion of a finite automaton to be not simple and clean?

Let me mention some of the many equivalent characterizations (at least for other readers) :

  • Languages accepted by deterministic finite automata
  • Languages accepted by nondeterministic finite automata
  • Languages accepted by alternating finite automata
  • Languages accepted by two-way deterministic finite automata
  • Languages generated by left-linear grammars
  • Languages generated by right-linear grammars
  • Languages generated by regular expressions.
  • A union of some equivalence classes of a right-congruence of finite index.
  • A union of some equivalence classes of a congruence of finite index.
  • The inverse image under a monoid homomorphism of a subset of a finite monoid.
  • Languages expressible in monadic second order logic over words.