private bool SniffPattern(string pattern) {
int ch = PeekChar();
if (ch != pattern[0]) return false;
for (int i = 0, n = pattern.Length; ch != EOF && i < n; i++) {
ch = ReadChar();
char m = pattern[i];
if (ch != m) {
return false;
}
}
return true;
}
private void SniffWhitespace() {