title: A grammar that accepts the empty set by the rule S->S
body: <p>This was a homework assignment problem which I know I have incorrectly answered.  I gave:</p>
  
  <pre><code>S -&gt; ''
  </code></pre>
  
  <p>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:</p>
  
  <pre><code>S -&gt; S
  </code></pre>
  
  <p>Now, that answer seems strange to me:</p>
  
  <ol>
  <li>It will never terminate.</li>
  <li>It isn't so much a language as the absence of one.</li>
  </ol>
  
  <p>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.</p>