private IExpression ParseMatchExpression()
{
IExpression expression = this.ParseSimpleExpression();
Token token = this.NextToken();
if (expression == null)
if (token == null)
return null;
else
throw new ParserException(string.Format("Unexpected '{0}'", token.Value));
if (token != null && token.Type == TokenType.Operator && token.Value == "=")
{
expression = new MatchExpression(expression, this.ParseSimpleExpression());
return expression;
}
else if (token != null && token.Type == TokenType.Operator && token.Value == "!")
{
expression = new SendExpression(expression, this.ParseSimpleExpression());
return expression;
}
else
this.PushToken(token);
return expression;
}