This was a homework assignment problem which I know I have incorrectly answered. I gave:
S -> ''
meaning that S yields the empty string. I know that the empty set and empty string are not the same. According to my professor, the answer is:
S -> S
Now, that answer seems strange to me:
- It will never terminate.
- It isn't so much a language as the absence of one.
I understand from a strictly mathematical standpoint, I'm not going to get anywhere with number two. However, is it required for a language to terminate? Having a language that CAN go on forever sounds okay, but one that never will terminate sounds wrong enough that I thought I'd ask if anyone knows if that's a language requirement or not.