# How to convert this type of languages to Context Free grammar?

As I've already asked my Question about the solving Context Free Grammar $L = \{a^n b^m c^p \mid n = m + p + 2\}$

Can this language be defined by a Context Free Grammar?

Now i have just changed n = m + p - 2 and still can't figure out, Here is my attempt:

S -> Cc
B -> aBb | ^
C -> aCc | Bb

(In this Grammer i can't handle string like bb , cc , abbc , abcc etc)


How to make such type of grammars where n = m + p - x .Can anyone explain how to solve such kind of grammars:

$K = \{a^n b^m c^p \mid n = m + p - 2\}$

• We have to switch between 2 pages to read the language definition..Don't be lazy, rewrite it here please. Jul 1, 2015 at 6:13
– D.W.
Jul 1, 2015 at 6:58
• possible duplicate of Converting to CFG from a CFL?
– D.W.
Jul 1, 2015 at 7:00
• possible duplicate of How to prove that a language is context-free? Jul 1, 2015 at 7:21
• @FrançoisGodi and D.W thanks you very much for answering my question and appreciation , well if I've just copied from that question, it may be considered copy according to stackexchange rules. Jul 1, 2015 at 14:52

$K = \{a^n b^m c^p \mid n = m + p - 2\}$. This can be solved by observing the nesting structure (see "How to prove that a language is context-free?") and an extra trick.
Thus we have words of the form $a^{p'+m'} b^{m'}b^i c^j c^{p'}$, where $i+j=2$. We have set aside the two symbols that are not counted for $n$.
Apply nesting $S\to aSc$, $S\to Tb^i c^j$ (all 3 possibilities $i+j=2$), $T\to aTb$, $T \to \varepsilon$.