Jump to navigation Jump to search
- (computing theory) A formal grammar in which every production rule is such that the left-hand side is exactly one non-terminal symbol and the right-hand side is zero or more terminal symbols and/or nonterminal symbols.
- Synonym: CFG
- 2006, Patrick Blackburn, Johan Bos, Kristina Striegnitz, Learn Prolog Now!, §7.1
- It remains to explain one final concept, namely what a context free language is. (Don’t get confused: we’ve told you what a context free grammar is, but not what a context free language is.) Quite simply, a context free language is a language that can be generated by a context free grammar. Some languages are context free, and some are not. For example, it seems plausible that English is a context free language. That is, it is probably possible to write a context free grammar that generates all (and only) the sentences that native speakers find acceptable. On the other hand, some dialects of Swiss-German are not context free. It can be proved mathematically that no context free grammar can generate all (and only) the sentences that native speakers of Swiss-German find acceptable.1 So if you wanted to write a grammar for such dialects, you would have to employ additional grammatical mechanisms, not merely context free rules.