Согласно грамматике Паскаля, программа заканчивается точкой. И если после этого есть что-то, Free Pascal (FPC/Lazarus) опускает оставшихся персонажей.Опустить оставшийся вход в Happy (генератор парсера для Haskell)
Я хочу подобное поведение. Я использую пользовательский монадический токенизатор, и он ленив, поэтому я просто хочу, чтобы Happy не вызывал продолжение, когда основное правило преуспело.
По существу я хотел бы somithng так:
Program : Header Decls Body '.' SKIP_THE_REMAINING_INPUT { ... }
Важно, что ни лексического анализа не должно происходить на всех после этого последней точки разбора, так как это может привести к ошибкам.