Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
lfa:lab09-cfl [2021/11/30 10:52]
pdmatei created
lfa:lab09-cfl [2021/11/30 11:05] (current)
pdmatei
Line 1: Line 1:
-====== ​L09. Context-Free Languages ======+====== ​9. Context-Free Languages ====== 
 + 
 +===== 9.1. Accepting and generating a CF language ===== 
 + 
 +Write a PDA as well as a CF grammar for the following languages. Specify - for each PDA, the way it accepts (by empty-stack or by final state). For each grammar, make sure it is not ambiguous. (Start with any CF grammar that accepts L. Then write another non-ambiguous grammar for the same 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. Ambiguous grammars ===== 
 + 
 +Which of the following grammars are ambiguous? Justify each answer. Modify the grammar to remove ambiguity, wherever the case. 
 + 
 +**9.2.1.** 
 + 
 +$ S \leftarrow aA | A $ \\ 
 +$ A \leftarrow aA | B $ \\ 
 +$ B \leftarrow bB | \epsilon $ 
 + 
 +**9.2.2.** 
 + 
 +$ S \leftarrow AS | \epsilon $ \\ 
 +$ A \leftarrow 0A1 | 01 | B $\\ 
 +$ B \leftarrow B1 | \epsilon $ 
 + 
 +**9.2.3.** 
 + 
 +$ S \leftarrow ASB | BSA | \epsilon $\\ 
 +$ A \leftarrow aA | \epsilon $\\ 
 +$ B \leftarrow bB | \epsilon $ 
 + 
 +**9.2.4.** Write an ambiguous grammar for $ L(a^*) $. 
 +