static void ParseMessages(TokenReader tr, Proto p)
{
while (true) {
string token;
try {
token = tr.ReadNext ();
} catch (EndOfStreamException) {
return;
}
if (ParseComment (token))
continue;
switch (token) {
case "message":
p.Messages.Add (ParseMessage (tr, p));
break;
case "option":
//Save options
ParseOption (tr, p);
break;
case "import": //Ignored
tr.ReadNext ();
tr.ReadNextOrThrow (";");
break;
case "package":
string pkg = tr.ReadNext ();
tr.ReadNextOrThrow (";");
p.OptionNamespace = pkg;
break;
default:
throw new ProtoFormatException ("Unexpected/not implemented: " + token);
}
}
}