# File lib/liquid/tags/for.rb, line 143
    def strict_parse(markup)
      p = Parser.new(markup)
      @variable_name = p.consume(:id)
      raise SyntaxError.new(options[:locale].t("errors.syntax.for_invalid_in".freeze))  unless p.id?('in'.freeze)
      @collection_name = p.expression
      @name = "#{@variable_name}-#{@collection_name}"
      @reversed = p.id?('reversed'.freeze)

      @attributes = {}
      while p.look(:id) && p.look(:colon, 1)
        unless attribute = p.id?('limit'.freeze) || p.id?('offset'.freeze)
          raise SyntaxError.new(options[:locale].t("errors.syntax.for_invalid_attribute".freeze))
        end
        p.consume
        val = p.expression
        @attributes[attribute] = val
      end
      p.consume(:end_of_string)
    end