def analyze(string, options = {})
      x = []
      @fst._analyze(string) do |a| 
        if options[:symbol_sequence]
          x << a.map { |s| s.match(/^<(.*)>$/) ? $1.to_sym : s }
        else
          x << a.join
        end
      end
      x
    end
def analyze(string, options = {})
      x = []
      @fst._analyze(string) do |a| 
        if options[:symbol_sequence]
          x << a.map { |s| s.match(/^<(.*)>$/) ? $1.to_sym : s }
        else
          x << a.join
        end
      end
      x
    end
Analyses a string +string+. Returns an array of analysed
 strings if the string is accepted, or an empty array if not.

 ==== Options
 * +symbol_sequence+ - Return each analysis as a sequence of symbols.
   Multicharacter symbols will be strings on the form +<symbol>+.