source = ' '.join(map(str, list(range(50))))
integer = Word(nums)
integer.setParseAction(lambda t: int(t[0]))
lists = OneOrMore(countedArray(integer)).parseString(source)
Can a BNF handle forward consumption?