private IExpression ParsePrimitive()
{
this.ParseToken(TokenType.Name, "primitive:");
int number;
string name;
string module;
IExpression primitive = null;
Token token = this.NextToken();
if (token.Type == TokenType.Integer)
{
number = Convert.ToInt32(token.Value, CultureInfo.InvariantCulture);
string error = null;
if (this.TryParseToken(TokenType.Name, "error:"))
error = this.ParseName();
primitive = new PrimitiveExpression(number, error);
}
else if (token.Type == TokenType.String)
{
name = token.Value;
this.ParseToken(TokenType.Name, "module:");
module = this.ParseString();
primitive = new PrimitiveExpression(name, module);
}
else
throw new ParserException("String or Number expected in Primitive");
this.ParseToken(TokenType.Operator, ">");
return primitive;
}