То, что я пытаюсь сделать, кажется довольно простым, но, поскольку я новичок в Haskell, парсек, решение ускользает от меня.
У меня есть два парсера, скажем, foo1
и foo2
, где foo1
может анализировать промежуточный термин, а foo2
анализирует конечный термин. Термины разделены символом "."
.
Предложения, которые мне нужно разобрать:
foo2
foo1.foo2
foo1.foo1.foo2
и т. Д.
Моя первоначальная мысль была сделать
do k <- sepBy foo1 (char'.')
j <- foo2
но это не поймало бы дело foo2
.