def parse(io)
      io.rewind
      raise NotLoadedError, 'load before parsing (#load!)' if @parser.nil?

      data = strip_comments_and_obsolete_tags!(io)

      @tree = @parser.parse(data)
      raise_parser_error! if @tree.nil?

      true
    end
def parse(io)
      io.rewind
      raise NotLoadedError, 'load before parsing (#load!)' if @parser.nil?

      data = strip_comments_and_obsolete_tags!(io)

      @tree = @parser.parse(data)
      raise_parser_error! if @tree.nil?

      true
    end
Parses an IO stream.

 @param io [#read, #rewind] An IO stream containing the Steam Language
   data.
 @return [Bool] returns true unless an error is thrown