Context Free Grammar
Def: For every ContextFreeLanguage there is a ContextFreeGrammar that generates it and a PushDownAutomata that recognizes it.
A context-free grammar is a 4-tuple $$(V,\Sigma,R,S)$$, where
- Element $$V$$$ is a finite set called the variables,
- Element $$\Sigma$$ is a finite set, disjoint from $$V$$, called the terminals,
- Element $$R$$ is a finite set of rules, with each rule being a variable and a string of variables and terminals, and
- Element $$S \in V$$ is the start variable
An example of a rule is
$$A \rightarrow aBa$$ $$B \rightarrow \epsilon$$