def read_unquoted
raise CFFormatError.new("unexpected end of file") if @doc.eos?
if @doc.scan(/(\d\d\d\d)-(\d\d)-(\d\d)\s+(\d\d):(\d\d):(\d\d)(?:\s+(\+|-)(\d\d)(\d\d))?/)
year,month,day,hour,min,sec,pl_min,tz_hour, tz_min = @doc[1], @doc[2], @doc[3], @doc[4], @doc[5], @doc[6], @doc[7], @doc[8], @doc[9]
CFDate.new(Time.new(year, month, day, hour, min, sec, pl_min ? sprintf("%s%s:%s", pl_min, tz_hour, tz_min) : nil))
elsif @doc.scan(/-?\d+?\.\d+\b/)
CFReal.new(@doc.matched.to_f)
elsif @doc.scan(/-?\d+\b/)
CFInteger.new(@doc.matched.to_i)
elsif @doc.scan(/\b(true|false)\b/)
CFBoolean.new(@doc.matched == 'true')
else
CFString.new(@doc.scan(/\w+/))
end
end