543: def tokenize_interpolated_string(token_type,preamble='')
544: value,terminator = slurpstring('"$')
545: token_queue << [TOKENS[token_type[terminator]],preamble+value]
546: if terminator != '$' or @scanner.scan(/\{/)
547: token_queue.shift
548: elsif var_name = @scanner.scan(%r{(\w*::)*\w+|[0-9]})
549: token_queue << [TOKENS[:VARIABLE],var_name]
550: tokenize_interpolated_string(DQ_continuation_token_types)
551: else
552: tokenize_interpolated_string(token_type,token_queue.pop.last + terminator)
553: end
554: end