anchor.diff:              }
           )*
       ;
  -
  +execute_clause returns [String functionName, JSONObject properties]
  +@init {
  +    $properties = new FastJSONObject();
  +}
  +    :   EXECUTE LPAR funName=function_name
  +        {
  +            $functionName = $funName.text;
  +        }
  +        (COMMA map=python_style_dict
  +            {
  +               $properties = $map.json;
  +               
  +            }
  +        ) RPAR 
  +    ;
   facet_spec returns [String column, JSONObject spec]
   @init {
       boolean expand = false;
  
positive.code:     boolean seenGroupBy = false;
      boolean seenDistinct = false;
      boolean seenBrowseBy = false;
      boolean seenFetchStored = false;
      boolean seenRouteBy = false;
      boolean seenRelevanceModel = false;
  
negative.code:                $aggregationFunctions.put($agrFunction.function, $agrFunction.column);
              }))*;
  aggregation_function returns [String function, String column]
   :   (id=function_name LPAR columnVar=column_name RPAR) {
      $function= $id.text;    
      $column= $columnVar.text;
   };
  