    # File lib/yard/parser/ruby/legacy/ruby_lex.rb, line 1223
          def identify_string(ltype, quoted = ltype, opener=nil, initial_char = nil)
            @ltype = ltype
            @quoted = quoted
            subtype = nil

            str = ""
            str << initial_char if initial_char
            str << (opener||quoted)

            nest = 0
            begin
              while ch = getc
                str << ch
                if @quoted == ch
                  if nest == 0
                    break
                  else
                    nest -= 1
                  end
                elsif opener == ch
                  nest += 1
                elsif @ltype != "'" && @ltype != "]" and ch == "#"
                  ch = getc
                  if ch == "{"
                    subtype = true
                    str << ch << skip_inner_expression
                  else
                    ungetc(ch)
                  end
                elsif ch == '\\' #'
                  str << read_escape
                end
              end
              if @ltype == "/"
                if peek(0) =~ /i|o|n|e|s/
                  str << getc
                end
              end
              if subtype
                Token(DLtype2Token[ltype], str)
              else
                Token(Ltype2Token[ltype], str)
              end.set_text(str)
            ensure
              @ltype = nil
              @quoted = nil
              @lex_state = EXPR_END
            end
          end