private string GetChar() { if (offset >= text.Length) throw new EndOfStreamException (); char c = text [offset]; offset += 1; return c.ToString (); }