/// <summary>
 /// Instantiate expression tree from tokens.
 /// </summary>
 private static FilterExpressionRoot CompileFilters(IEnumerable<Token> token)
 {
     var reader = new TokenReader(token);
     var op = CompileL0(reader);
     if (reader.IsRemainToken)
         throw new FilterQueryException("Invalid token: " + reader.Get(), reader.RemainQuery);
     return new FilterExpressionRoot() { Operator = op };
 }