I am trying to create a context free grammar in Extended Backus–Naur form, which starts with a non-empty sequence of a
's and is followed by a non-empty sequence of b
's. With the special condition that the number of b
's has to be unequal to the number of a
's.
Thus, the grammar should generate words like:
aaaabbb
aaabb
abbb
So basically I could do something like this:
$\ G=(N,T,P,S)$
$\ N = \{S\}$
$\ T = \{a,b\}$
$\ P = \{S=aa(S|\epsilon)b\}$
But then the words would always have $\ 2n$ a
's and n b
's:
aab
aaaabb
aaaaaabbb
So how is it possible to make the number of a
's uncorrelated of the number of b
's, without being equal?
Update
This question was suggested as a duplicate. But it's not quite what I want. So I posted my own solution as an answer below.