    # File lib/yard/parser/ruby/legacy/ruby_lex.rb, line 1093
          def identify_here_document
            ch = getc
            if ch == "-"
              ch = getc
              indent = true
            end
            if /['"`]/ =~ ch            # '
              lt = ch
              quoted = ""
              while (c = getc) && c != lt
                quoted.concat c
              end
            else
              lt = '"'
              quoted = ch.dup
              while (c = getc) && c =~ /\w/
                quoted.concat c
              end
              ungetc
            end

            ltback, @ltype = @ltype, lt
            reserve = ""

            while ch = getc
              reserve << ch
              if ch == "\\"    #"
                ch = getc
                reserve << ch
              elsif ch == "\n"
                break
              end
            end

            str = ""
            while (l = gets)
              l.chomp!
              l.strip! if indent
              break if l == quoted
              str << l.chomp << "\n"
            end

            @reader.divert_read_from(reserve)

            @ltype = ltback
            @lex_state = EXPR_END
            Token(Ltype2Token[lt], str).set_text(str.dump)
          end