private void Expect(Token token, Queue<Token> tokens) {
   Token cur = tokens.Dequeue();
   if (!token.Equals(cur)) throw new FormatException("Expected: " + token.StringValue + ", but got: " + cur.StringValue);
 }