2
igor Думал я , думал... из-за чего весь сыр-бор.
И показалось мне, что от того, что Вы себе не очень правильно представляете процесс patern matching-а (русский эквивалент как-то сразу в голову не приходит)
Вы все время пытаетесь принять какое-то решение при альтернативе, даже тогда, когда однозначного его не существует.
Поэтому, когда Вам говорят, что у Вас нет основаваний именно для такого решения (например - повторить содержимое данных фигурных скобок), Вы считаете, что я настаиваю на противоположном решении (прекратить повторение), и из такого предположения находите противоречие.
Считая, что нашли противоречие у меня.
Да ни в коем случае
Если у нас нет точных оснований для какого-то однозначного разрешения альтенативы, значит мы должны продолжить изучение ОБОИХ вариантов. Не зная еще какой из них правильный.
Только такая тактика позволит нам обнаружить принадлежность нашего текста
множеству фраз, порожденных синтаксисом.
igor, монопольку знаете ??? Там Вы передвигаете фишку по клеточкам. Если Вы будете передвигать ее по диаграмме состояний, то это будет интерпретатор конечного автомата. Каждый раз Вы передвигаете фишку в тот узел, в который ведет стрелочка, помеченная входным символом.
Что делать, когда у нас "нет оснований" передвижения в одном конкретном направлении, и мы должны изучать несколько вариантов ??? Т.е., из одного узла исходят несколько стрелочек с одним символом. Мы должны начать играть несколькими фишками, вот и вся проблема. Несмотря на страшное название - недетерминированность.
На каждом шаге мы должны передвинуть все фишки. Если нет стрелочек с нужной буквой - фишка выкидывается, что означает, что изучаемая нами альтернатива приказала долго жить. Если несколько фишек пришли в один узел диаграммы переходов, они объединяются в одну, естественно.
Текст кончился, если какая-то из оставшихся фишек находится в целевом (target) состоянии, значит наш текст принадлежит множеству, порожденному нашей регулярной грамматикой. Patern matching - по буржуинскому.
Если фишки закончились, или ни одна из оставшихся не находится в "правильном" узле - ну значит не получилось.
Все же просто. Просто не всегда можно "угадать эту мелодию с одной ноты". Для того, чтобы определить возможность "с одной" - проверяем правила, изложенные Виртом.
Вы спрашиваете про лексику Оберонов ???
Вот Вам встречное предложение угадать лексему "с одной буквы": в тексте идет символ "1", какая это будет лексема
Если можете, ну считайте лексику детеминированной. А вот я - нет... ну дальше - Вы в курсе