Context Free Languages, An Introduction


As you recall from our definitions, a context free language can be generated by a context free grammar.  These languages are, in fact, more complicated than regular languages, which are generated by regular grammars.  Let's look at an example.

Consider the language 0n1n.  Since s → 0s1 | E generates this language, it is context free.  Apply the pumping lemma to show this language is not regular.  Replicating any substring of 0n1n, even once, produces a word that is not in the language.  Thus there is no state machine that accepts this language.  We have entered a new realm.