private Token Expect(TokenType tokenType)
{
var t = lexer.Peek();
if (t.Type != tokenType)
{
Debug.Print("Expect failed: {0} {1}", filename, t.LineNumber);
throw new FormatException(string.Format("{0} ({1}): Expected token type {2}, but saw {3}.", filename, t.LineNumber, tokenType, t.Type));
}
return lexer.Get();
}