static void EscapeChar (TextWriter output, char c)
{
if (c == '\''){
output.Write ("'\\''");
return;
}
if (c > 32){
output.Write ("'{0}'", c);
return;
}
switch (c){
case '\a':
output.Write ("'\\a'");
break;
case '\b':
output.Write ("'\\b'");
break;
case '\n':
output.Write ("'\\n'");
break;
case '\v':
output.Write ("'\\v'");
break;
case '\r':
output.Write ("'\\r'");
break;
case '\f':
output.Write ("'\\f'");
break;
case '\t':
output.Write ("'\\t");
break;
default:
output.Write ("'\\x{0:x}", (int) c);
break;
}
}