public override int ReadByte ()
{
restart:
int n = source.ReadByte ();
if (n == -1)
return -1;
if (n == '/'){
int p = source.ReadByte ();
if (p == '/'){
while (true) {
n = source.ReadByte ();
if (n == -1)
return -1;
if (n == '\n')
return n;
}
} else if (p == '*'){
while (true){
n = source.ReadByte ();
if (n == -1)
return -1;
while (n == '*'){
n = source.ReadByte ();
if (n == -1)
return -1;
if (n == '/')
goto restart;
}
}
}
source.Position = source.Position - 1;
return '/';
}
return n;
}
}