    # File lib/json/pure/parser.rb, line 73
          def initialize(source, opts = {})
            opts ||= {}
            unless @quirks_mode = opts[:quirks_mode]
              source = convert_encoding source
            end
            super source
            if !opts.key?(:max_nesting) # defaults to 19
              @max_nesting = 19
            elsif opts[:max_nesting]
              @max_nesting = opts[:max_nesting]
            else
              @max_nesting = 0
            end
            @allow_nan = !!opts[:allow_nan]
            @symbolize_names = !!opts[:symbolize_names]
            if opts.key?(:create_additions)
              @create_additions = !!opts[:create_additions]
            else
              @create_additions = true
            end
            @create_id = @create_additions ? JSON.create_id : nil
            @object_class = opts[:object_class] || Hash
            @array_class  = opts[:array_class] || Array
            @match_string = opts[:match_string]
          end