class Dentaku::TokenMatcher
def match(token_stream, offset = 0)
def match(token_stream, offset = 0) matched_tokens = [] matched = false while self == token_stream[matched_tokens.length + offset] && matched_tokens.length < @max matched_tokens << token_stream[matched_tokens.length + offset] end if @range.cover?(matched_tokens.length) matched = true end [matched, matched_tokens] end