Из документа parseOnly
Чтобы заставить анализатор использовать все свои входные данные, используйте что-то вроде этого:
parseOnly (myParser <* endOfInput)
ParseIni.parseTests
применяет синтаксический анализатор char '(' *> return 1 <* char ')'
ноль или более раз. Это всегда успешно, так как он может, по крайней мере, применить его ноль раз. Таким образом, вы должны убедиться, что он потребляет все, составляя его с endOfInput
.
parseOnly (ParseIni.parseTests <* endOfInput) "("