Match a sequence of patterns.
class sequence pattern[readonly value element type]
Declaration: sequence pattern
Announcements: sequence pattern
Direct supertypes: base pattern
All supertypes: validatable / value / entity / pattern / predicate / function / deeply_immutable data / debuggable / Object / stringable
Declaration: constructor
Declaration: validate
Direct overrides: validatable
Declaration: constructor
Direct overrides: function
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)
Declaration: is viable prefix
Direct overrides: pattern
private nonnegative or null match subsequence(readonly list[element type] the list, var nonnegative index, var nonnegative prefix)
Declaration: match subsequence
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)
Declaration: match prefix
Direct overrides: pattern
Gets the first non-empty match for this pattern.
implement range or null find first(readonly list[element type] the list, var nonnegative start index)
Declaration: find first
Direct overrides: pattern