def ptokens(cmd, text)
      Enumerator.new do |yielder|
        pos = 0
        tokens(cmd, text).each do |token|
          ne_text = token['form'].dup

          ne_regexp = build_regexp(ne_text)
          token_pos = text.index(ne_regexp, pos)

          if token_pos && token_pos < (pos + 5)
            token.pos = token_pos
            yielder << token

            pos = token_pos + ne_text.length
          else
            pos = pos + ne_text.length
          end
        end
      end
    end
def ptokens(cmd, text)
      Enumerator.new do |yielder|
        pos = 0
        tokens(cmd, text).each do |token|
          ne_text = token['form'].dup

          ne_regexp = build_regexp(ne_text)
          token_pos = text.index(ne_regexp, pos)

          if token_pos && token_pos < (pos + 5)
            token.pos = token_pos
            yielder << token

            pos = token_pos + ne_text.length
          else
            pos = pos + ne_text.length
          end
        end
      end
    end
Generate ptokens for a given text
 ptokens: Tokens with position

 Example:

   >> analyzer = FreelingClient::Analyzer.new
   >> analyzer.ptoken(:morfo, "Este texto está en español.")

 Arguments:
   cmd: (Symbol)
   text: (String)