def push_literal(*args)
new_literal = Literal.new(self, *args)
@literal_stack.push(new_literal)
if new_literal.words? && new_literal.backslash_delimited?
if new_literal.interpolate?
self.class.lex_en_interp_backslash_delimited_words
else
self.class.lex_en_plain_backslash_delimited_words
end
elsif new_literal.words? && !new_literal.backslash_delimited?
if new_literal.interpolate?
self.class.lex_en_interp_words
else
self.class.lex_en_plain_words
end
elsif !new_literal.words? && new_literal.backslash_delimited?
if new_literal.interpolate?
self.class.lex_en_interp_backslash_delimited
else
self.class.lex_en_plain_backslash_delimited
end
else
if new_literal.interpolate?
self.class.lex_en_interp_string
else
self.class.lex_en_plain_string
end
end
end