internal void ScanBlank()
{
if (UseOptionX())
{
for (; ;)
{
while (CharsRight() > 0 && IsSpace(RightChar()))
MoveRight();
if (CharsRight() == 0)
break;
if (RightChar() == '#')
{
while (CharsRight() > 0 && RightChar() != '\n')
MoveRight();
}
else if (CharsRight() >= 3 && RightChar(2) == '#' &&
RightChar(1) == '?' && RightChar() == '(')
{
while (CharsRight() > 0 && RightChar() != ')')
MoveRight();
if (CharsRight() == 0)
throw MakeException(SR.UnterminatedComment);
MoveRight();
}
else
break;
}
}
else
{
for (; ;)
{
if (CharsRight() < 3 || RightChar(2) != '#' ||
RightChar(1) != '?' || RightChar() != '(')
return;
while (CharsRight() > 0 && RightChar() != ')')
MoveRight();
if (CharsRight() == 0)
throw MakeException(SR.UnterminatedComment);
MoveRight();
}
}
}