Concept:
To determine the language generated by a Context Free Grammar (CFG), we examine how the productions affect the number of occurrences of terminal symbols.
The key idea is to identify an invariant property that remains true for every derivation generated by the grammar.
In this grammar, the non-terminals \(S\), \(A\), and \(B\) are carefully designed so that every derivation ultimately produces strings containing an equal number of \(a\)'s and \(b\)'s.
Step 1: Examine the productions of \(S\).
The start symbol has productions
\[
S \rightarrow aB
\]
or
\[
S \rightarrow bA.
\]
In the first production, one \(a\) is introduced.
In the second production, one \(b\) is introduced.
The remaining balance is handled by \(A\) and \(B\).
Step 2: Understand the role of \(A\) and \(B\).
The productions are
\[
A \rightarrow b
\]
\[
A \rightarrow aS
\]
\[
A \rightarrow bAA
\]
and
\[
B \rightarrow a
\]
\[
B \rightarrow bS
\]
\[
B \rightarrow aBB.
\]
Observe that:
• \(A\) eventually contributes one extra \(b\).
• \(B\) eventually contributes one extra \(a\).
• Recursive productions preserve the balance condition.
Step 3: Generate a few sample strings.
Using
\[
S \Rightarrow aB \Rightarrow aa
\]
we obtain
\[
aa.
\]
Using
\[
S \Rightarrow bA \Rightarrow bb
\]
we obtain
\[
bb.
\]
Now consider
\[
S \Rightarrow aB
\Rightarrow abS
\Rightarrow abbA
\Rightarrow abbb.
\]
More generally, whenever the recursive rules are expanded completely, every introduced \(a\) is matched by a corresponding \(b\).
Thus the grammar maintains equality between the counts of \(a\)'s and \(b\)'s.
Step 4: Verify the invariant property.
The recursive productions
\[
A \rightarrow aS
\]
and
\[
B \rightarrow bS
\]
transfer the derivation back to the start symbol while introducing complementary terminals.
Similarly,
\[
A \rightarrow bAA
\]
and
\[
B \rightarrow aBB
\]
preserve the balance through recursive expansion.
Hence every valid derivation satisfies
\[
n_a=n_b.
\]
Step 5: Choose the correct option.
The generated language consists of strings containing
\[
\boxed{\text{equal number of } a\text{'s and } b\text{'s}}
\]
Therefore the correct answer is
\[
\boxed{\text{Option (A)}}
\]