Base pattern for matching a repeated pattern. The pattern can't match an empty list.
class repeat pattern[readonly value element type]
pattern[element type] the pattern
boolean do match empty
implement void validate()
implement implicit boolean call(readonly list[element type] the list)
Check whether the given list can be a start of the sequence that matches this pattern.
implement boolean is viable prefix(readonly list[element type] the list)
Returns the maximum number of the elements of a given list that matches the pattern, or null if there is no prefix match. This is a greedy match: it mtaches the longest prefix.
implement nonnegative or null match prefix(readonly list[element type] the list)
Gets the first non-empty match for this pattern.
implement range or null find first(readonly list[element type] the list, nonnegative start index)