I've been reading: "Tips for creating Context free grammar" post for learning purposes and I nearly understand the concept, but I don't quite understand the following.
If we have:
L = {am bn | m >= n}.
I understand this:
S --> B
B --> aBb
A --> aA
But what I don't understand is the concept of adding to the end of these particular values, such as:
S --> B | ^
B --> aBb | A
A --> aA | a
Why do we add ^ (null), A, and a to the end of these lines? What do they do and why do we need them?
All help is greatly appreciated.