Когда анализатор GLR уменьшает текст до одного и того же нетерминального в двух или более путях, он объединяет поддеревья синтаксического анализа. Для этого Rekers использует для этого «узлы символов».Неоднозначный не-терминал в GLR
Это не каждый не терминал может вызвать слияние. Зная заранее, что не-терминалы никогда не сливаются, значительно упростит построение дерева разбора.
Например, в Техническом отчете Elkhound автор реализовал грамматику C++ для анализатора GLR. Он описывает это:
Грамматика в настоящее время имеет 37 конфликты сдвиг/свёртка, 47 свёртка/свёртка и 8 неоднозначное нетерминальное.
Как я могу отделить двусмысленный и однозначный нетерминал для данного CFG? Где я могу прочитать об этом?