I had a question regarding removing lambda-productions from context-free grammars.
I understand that the basic theorem or process for removing lambda-productions is to find nullable productions and replace them with the version of the same production when we use lambda. However, I had a question regarding special cases.
For example:
$$S \rightarrow aSSS$$ $$S \rightarrow bb\ |\ \lambda$$
How do I remove the lambda-production here? Is it even allowed to be removed? If we remove this, then we're fundamentally changing the grammar from one that accepts the empty string to one that doesn't.
This question has been really confusing me, and any help would be greatly appreciated.
thank you!