Это была проблема с домашним заданием, на которую я ответил неправильно. Я дал:
S -> ''
, что означает, что S возвращает пустую строку. Я знаю, что пустой набор и пустая строка - это не одно и то же. По словам моего профессора, ответ таков:
S -> S
Теперь этот ответ кажется мне странным:
Я понимаю со строго математической точки зрения, я никуда не денусь с номером два. Однако требуется ли для языка завершение? Иметь язык, который МОЖЕТ продолжаться вечно, звучит нормально, но тот, который никогда не прекратится, звучит настолько неправильно, что я подумал, что спрошу, знает ли кто-нибудь, является ли это языковым требованием или нет.