У меня есть некоторые данные, которые можно проанализировать с помощью функции OneorMore
от pyparsing. Нечто подобное,acccumulate using pyparsing
fun = OneorMore(foo.setResultsName("foo") + bar.setResultsname("bar"))
где bar
и foo
2 парсеры.
Проблема с этой функцией является то, что каждый раз, что OneorMore
матча Foo и бар парсеры в потоке данных, соответствующие значения, связанные с ключами "foo"
и "bar"
являются updated.But, как можно аккумулировать все совпавшие значения foo
и bar
?
Я пытаюсь реализовать что-то вроде many1 монадической парсер в Haskell, сохраняя результат разбора foo
и bar
в типе Алгебраические данных, как
data FooBar a = FooBar a a
many1 :: ParsecT s u m a -> ParsecT s u m [a]
many1 parserFooBar :: ParsecT s u m [FooBar a]
Как я могу сделать это в Python?
Можете ли вы показать «фактический результат Python» по сравнению с «желаемым результатом Python» для тех, кто не знаком с Haskell? – CoupleWavyLines