# File rparsec/parser.rb, line 747
  def token(*kinds, &proc)
    expected="#{kinds.join(' or ')} expected"
    recognizer = nil
    if kinds.length==1
      kind = kinds[0]
      recognizer = satisfies(expected) do |tok|
        tok.respond_to? :kind, :text and kind == tok.kind
      end
    else
      recognizer = satisfies(expected) do |tok|
        tok.respond_to? :kind, :text and kinds.include? tok.kind
      end
    end
    recognizer = recognizer.map{|tok|proc.call(tok.text)} if proc
    recognizer
  end