This is an old revision of the document!
9. Context-Free Languages
9.1. Push Down Automata
Find PDAs that accept each of the languages below, both by empty stack and by final state. Identify which approach feels more suitable for each language.
9.1.1. $ L = \{\: w \in \{A,B\}^* \ | \:w \text{ is a palindrome}\} $.
9.1.2. $ L = \{ A^{m} B^{m+n} C^{n} \ | \: n, m \geq 0 \} $
9.1.3. $ L = \{w \in \{a, b\}^* | \#_a(w) = \#_b(w) \} $
9.1.4. $ L = \{w \in \{a, b\}^* | \#_a(w) \neq \#_b(w) \} $
9.1.5. $ L = \{a^ib^jc^k | i = j \lor j = k \} $
9.2. Equivalence of the definitions
9.2.1. Prove that PDAs that accept by empty stack and PDAs that accept by final state are equivalent. Find a transformation from a PDA accepting by empty stack to one accepting by final state and a transformation from a PDA accepting by final state to one accepting by empty stack.