Использование грамматики
start
= b
/ a
a
= "4" "2"
b
= "4"
с peg.js
распознает 4, но не 42, и в этом случае ошибка
«Строка 1, столбец 2: ожидается конец ввода, но найдено «2».
сообщается. Очевидно, синтаксический анализатор завершает правило start -> b
, потребляя "4", а затем понятия не имеет, что делать с "2". Но почему он не пытается снова с другим правилом для a
, когда обнаруживает ошибку?