internal string LexRepresentation()
{
StringBuilder rslt = new StringBuilder();
rslt.Append('[');
if (invert)
{
rslt.Append('^');
}
if (!isCanonical)
{
Canonicalize();
}
foreach (CharRange range in ranges)
{
if (range.minChr == range.maxChr)
{
rslt.Append(CharacterUtilities.MapForCharSet(range.minChr));
}
else
{
rslt.Append(CharacterUtilities.MapForCharSet(range.minChr));
rslt.Append('-');
rslt.Append(CharacterUtilities.MapForCharSet(range.maxChr));
}
}
rslt.Append(']');
return(rslt.ToString());
}