anchor.diff:  binding('prior') -> 185;
   binding('fun') -> 180;
   binding('||') -> 175;
  +binding('#') -> 175;
   binding('*') -> 170;
   binding('/') -> 170;
   binding('+') -> 160;
  
positive.code: flat_from_box([]) -> <<>>;
  flat_from_box(#box{name= <<",">> ,children=[]}) -> <<", ">>;
  flat_from_box(#box{name=Name,children=[]}) ->
      iolist_to_binary([binary_to_list(Name), " "]);
  flat_from_box(#box{name= <<>>,children=CH}) ->
      iolist_to_binary([[flat_from_box(C) || C <-CH]]);
  flat_from_box(#box{name=Name,children=CH}) ->
  
negative.code:                     end
              end
      end;
  foldb(Ind, P, {'#', R, L}) when is_binary(L), is_binary(R) ->
      case (binding(P) =< binding('list')) of
          true ->
              mk_box(Ind, [mk_clspd_box(Ind+1, [], L), mk_clspd_box(Ind+1, [], '#'), mk_clspd_box(Ind+1, [], R)], <<>>);
          false ->
              [mk_clspd_box(Ind, [], L), mk_clspd_box(Ind, [], '#'), mk_clspd_box(Ind, [], R)]
      end;
  foldb(Ind, _P, {fields, List}) when is_list(List) ->    %% Sli from, 'group by', 'order by'
      Res = [foldb(Ind+1, fields, Li) || Li <- List],
      case check_error(Res) of
  