public ClassDef classdef()
{
var posStart = Expect(TokenType.Class).Start;
var name = id();
Debug.Print("Parsing class {0}", name.Name);
var args = new List<Exp>();
if (!Peek(TokenType.COLON))
{
var token = Expect(TokenType.LPAREN);
args = dotted_name_list();
Expect(TokenType.RPAREN);
}
Expect(TokenType.COLON);
var body = suite();
return new ClassDef(name, args, body, filename, posStart, body.End);
}