groostav
12/04/2016, 8:59 AMfun Sequence<Token>.matches(text: String): Boolean{
return this.map { it.char }.orderedEquals(text.asSequence())
}
fun Sequence<*>.orderedEquals(other: Sequence<*>): Boolean {
val left = iterator()
val right = other.iterator()
while(left.hasNext() && right.hasNext()){
if (left.next() != right.next()) return false
}
return left.hasNext() == right.hasNext()
}