Насколько я знаю, он работает так же, как парсер LALR - за исключением случаев, когда он сталкивается с неоднозначностью.
Когда это происходит, он по существу делится на отдельные разборы, соответствующие возможным вариантам в этой точке, и продолжает их в тандеме - когда разбор завершается неудачей (из-за обнаружения недопустимого элемента), он просто отбрасывается, потому что было неверное предположение о более ранней двусмысленности.
В конце концов, все парсы, кроме одного, должны были умереть, а выживший является «правильным» разбором этих неоднозначных точек.