We will now introduce context free grammars (CFGs) as a formalism to define languages. CFGs are more general than regular expressions, i.e. there are more languages definable by CFGs (called type-2-languages). We will define the corresponding notion of automata, the push down automata (PDA) later.