Parser-Of-Prolog-II

Присутствуют shift/reduce конфликты, они возникают, так как после идентификаторы должны идти атомы в любом количестве, поэтому приходится запускаться рекурсивно, однако для последующих атомов последовательность может начинаться с атома в скобках, из за чего возникает не однозначность прочтения.

Например b (c) можно распарсить как идентификатор и атом :a :- b (c), или как два атома a :- a b (c).