/// <summary>
/// Parses a String surrounded with single quotes
/// </summary>
private string ParseSingleQuoted(ParseStream stream)
{
System.Text.StringBuilder builder = new System.Text.StringBuilder();
// Start literal parsing
stream.StartLiteral();
// Skip '''
stream.Next(true);
while (!stream.EOF)
{
if (stream.Char == '\'')
{
stream.Next();
// Escaped single quote
if (stream.Char == '\'')
{
builder.Append(stream.Char);
}
// End of string
else
{
break;
}
}
else
{
builder.Append(stream.Char);
}
stream.Next();
// Skip \'
if (stream.EOF)
{
stream.StopLiteral();
throw new ParseException(stream,
"Single quoted string not closed");
}
}
// Stop literal parsing
stream.StopLiteral();
return(builder.ToString());
}