private IExpression ParseFunExpression()
{
var fexpr = this.ParseSimpleFunExpression();
var fexprs = new List<FunExpression>();
fexprs.Add(fexpr);
while (this.TryParseToken(TokenType.Separator, ";"))
fexprs.Add(this.ParseSimpleFunExpression());
this.ParseToken(TokenType.Atom, "end");
if (fexprs.Count == 1)
return fexpr;
return new MultiFunExpression(fexprs);
}