# File lib/kwartz/parser.rb, line 147
    def scan_string_dquoted
      return nil unless @ch == ?"
      s = ''
      while (c = getch()) && c != ?"
        if c == ?\\
          c = getch()
          break unless c
          case c
          when ?n  ;  s << "\n"
          when ?t  ;  s << "\t"
          when ?r  ;  s << "\r"
          when ?b  ;  s << "\b"
          when ?\\ ;  s << "\\"
          when ?"  ;  s << '"'
          else     ;  s << c.chr
          end
        else
          s << c.chr
        end
      end
      unless c
        @error = :string_unclosed
        return @token = :error
      end
      assert unless c == ?"
      getch()
      @value = s
      return @token = :string
    end