Exercises on context-free grammars (CFG)

  1. Non-ambiguous CFG for {anbnn0}\{ a^n b^n \mid n\geq 0 \}
  2. Non-ambiguous CFG for {ancbnn>0}\{ a^n c b^n \mid n>0 \}
  3. Non-ambiguous CFG for {aibjij}\{ a^i b^j \mid i\geq j \}
  4. Non-ambiguous CFG for {aibjij}\{ a^i b^j \mid i\leq j \}
  5. Non-ambiguous CFG for {aibj2ij}\{ a^i b^j \mid 2i\leq j \}
  6. CFG for {aibj2ij}\{ a^i b^j \mid 2i\geq j \}
  7. Non-ambiguous CFG for {aibj2ij}\{ a^i b^j \mid 2i\geq j \}
  8. Non-ambiguous CFG for {aibjji2j}\{ a^i b^j \mid j\leq i\leq 2j \}
  9. Non-ambiguous CFG for {aibjiji2j}\{ a^i b^j \mid i\geq j \vee i\leq 2j \}
  10. Non-ambiguous CFG for {aibjcki=j+k}\{ a^i b^j c^k \mid i=j+k \}
  11. Non-ambiguous CFG for {aibjckj=i+k}\{ a^i b^j c^k \mid j=i+k \}
  12. CFG for {aibjcki=jj=ki=k}\{ a^i b^j c^k \mid i=j \vee j=k \vee i=k \}
  13. CFG for {an0ban1banm1banmm1i{1,,m}:(n0=ni)}\{ a^{n_0} b a^{n_1} b \ldots a^{n_{m-1}} b a^{n_m} \mid m\geq 1 \wedge \exists i\in\{1,\ldots,m\}: (n_0 = n_i) \}
  14. Non-ambiguous CFG for {an0ban1banm1banmm1(n0=1imni)}\{ a^{n_0} b a^{n_1} b \ldots a^{n_{m-1}} b a^{n_m} \mid m\geq 1 \wedge (n_0 = \sum_{1\leq i\leq m} n_i) \}
  15. CFG for {an0ban1banm1banmm1I{1,,m}:(n0=iIni)}\{ a^{n_0} b a^{n_1} b \ldots a^{n_{m-1}} b a^{n_m} \mid m\geq 1 \wedge \exists I\subseteq\{1,\ldots,m\}: (n_0 = \sum_{i\in I} n_i) \}
  16. Non-ambiguous CFG for {w{a,b}w=wR}\{ w \in \{a,b\}^* \mid w=w^R \}
  17. Non-ambiguous CFG for {w{a,b}w=wRwaba=0}\{ w \in \{a,b\}^* \mid w=w^R \wedge |w|_{aba}=0 \}
  18. Non-ambiguous CFG for {w{a,b}w=wRwa>0wb>0}\{ w \in \{a,b\}^* \mid w=w^R \wedge |w|_a>0 \wedge |w|_b>0 \}
  19. Non-ambiguous CFG for {w{a,b}w=wRwaba>0}\{ w \in \{a,b\}^* \mid w=w^R \wedge |w|_{aba}>0 \}
  20. CFG for the well-parenthesized words over {(,)}\{ ( , ) \}
  21. CFG for the well-parenthesized words over {[,],(,)}\{ [ , ] , ( , ) \}
  22. Non-ambiguous CFG for the well-parenthesized words over {(,)}\{ ( , ) \}
  23. Non-ambiguous CFG for the well-parenthesized words over {[,],(,)}\{ [ , ] , ( , ) \}
  24. CFG for {w{a,b}wa=wb}\{ w \in \{a,b\}^* \mid |w|_a=|w|_b \}
  25. CFG for {w{a,b,c}wa=wb}\{ w \in \{a,b,c\}^* \mid |w|_a=|w|_b \}
  26. CFG for {w{a,b,c}wa+wb=wc}\{ w \in \{a,b,c\}^* \mid |w|_a+|w|_b=|w|_c \}
  27. CFG for {w{a,b}2wa=wb}\{ w \in \{a,b\}^* \mid 2|w|_a=|w|_b \}
  28. Non-ambiguous CFG for {w{a,b}wa=wb}\{ w \in \{a,b\}^* \mid |w|_a=|w|_b \}
  29. Non-ambiguous CFG for {w{a,b,c}wa=wb}\{ w \in \{a,b,c\}^* \mid |w|_a=|w|_b \}
  30. Non-ambiguous CFG for {w{a,b,c}wa+wb=wc}\{ w \in \{a,b,c\}^* \mid |w|_a+|w|_b=|w|_c \}
  31. Non-ambiguous CFG for {w{a,b}2wa=wb}\{ w \in \{a,b\}^* \mid 2|w|_a=|w|_b \}
  32. Non-ambiguous CFG for {xcyx,y{a,b}xa=yb}\{ xcy \mid x,y\in\{a,b\}^* \wedge |x|_a=|y|_b \}
  33. Non-ambiguous CFG for {xcyx,y{a,b}xab=yba}\{ xcy \mid x,y\in\{a,b\}^* \wedge |x|_{ab}=|y|_{ba} \}
  34. Non-ambiguous CFG for {xcyx,y{a,b}xaba=ybab}\{ xcy \mid x,y\in\{a,b\}^* \wedge |x|_{aba}=|y|_{bab} \}
  35. Non-ambiguous CFG for {xcyx,y{a,b}yR prefix of x}\{ xcy \mid x,y\in\{a,b\}^* \wedge y^R \text{ prefix of } x \}
  36. Non-ambiguous CFG for {xcyx,y{a,b}yR suffix of x}\{ xcy \mid x,y\in\{a,b\}^* \wedge y^R \text{ suffix of } x \}
  37. Non-ambiguous CFG for {xcyx,y{a,b}x=yxaa>0}\{ xcy \mid x,y\in\{a,b\}^* \wedge |x|=|y| \wedge |x|_{aa}>0 \}
  38. CFG for the complement of {anbnn0}\{ a^n b^n \mid n\geq 0 \}
  39. Non-ambiguous CFG for the complement of {anbnn0}\{ a^n b^n \mid n\geq 0 \}
  40. Non-ambiguous CFG for the complement of {w{a,b}w=wR}\{ w \in \{a,b\}^* \mid w=w^R \}
  41. CFG for the complement of {anbncnn0}\{ a^n b^n c^n \mid n\geq 0 \}
  42. CFG for the complement of {wcww{a,b}}\{ wcw \mid w\in\{a,b\}^* \}
  43. CFG for expressions over {+,,,/,(,),0,1,,9}\{ + , - , * , / , ( , ) , 0 , 1, \ldots, 9 \}
  44. Non-ambiguous CFG for expressions over {+,,,/,(,),0,1,,9}\{ + , - , * , / , ( , ) , 0 , 1, \ldots, 9 \}
  45. CFG for {anbmckdtn=mn=kn=t}\{ a^n b^m c^k d^t \mid n=m \vee n=k \vee n=t \}