in include/S_Expression.h [455:472]
void print(std::ostream& output) const {
if (m_string.empty()) {
// The empty string needs to be explicitly represented.
output << "\"\"";
return;
}
if (std::find_if(m_string.begin(), m_string.end(), [](char c) {
return !is_symbol_char(c);
}) == m_string.end()) {
// If the string only contains alphanumeric characters and underscores, we
// display it without quotes.
output << m_string;
} else {
// The string is quoted and special characters are displayed using escape
// sequences.
output << std::quoted(m_string);
}
}