CiEnum ParseEnum()
{
CiEnum enu = new CiEnum();
Expect(CiToken.Enum);
enu.Name = ParseId();
Expect(CiToken.LeftBrace);
List<CiEnumValue> values = new List<CiEnumValue>();
do {
CiEnumValue value = new CiEnumValue();
value.Documentation = ParseDoc();
value.Name = ParseId();
value.Type = enu;
values.Add(value);
} while (Eat(CiToken.Comma));
Expect(CiToken.RightBrace);
enu.Values = values.ToArray();
return enu;
}