anchor.diff:  
   indent(Ind) -> lists:duplicate(Ind*2,32).
   
  -boxed_from_pt(ParseTree) ->
  +boxed_from_pt(#box{name=N} = ParseTree) when N=='select';N=='union';N=='union all' ->
       try
           case foldb(ParseTree) of
               {error, _} = Error -> Error;
  
positive.code:     validate_box(Box),
      validate_box(Boxes).
  
  pretty_from_box_exp([]) -> "";
  pretty_from_box_exp(#box{ind=Ind,name=Name,children=[]}) ->
      lists:flatten(["\r\n",lists:duplicate(Ind,9),binary_to_list(Name)]);
  pretty_from_box_exp(#box{name= <<>>,children=CH}) ->
      lists:flatten([[pretty_from_box_exp(C) || C <-CH]]);
  pretty_from_box_exp(#box{ind=Ind,name=Name,children=CH}) ->
      lists:flatten(["\r\n",lists:duplicate(Ind,9),binary_to_list(Name),[pretty_from_box_exp(C) || C <-CH]]);
  pretty_from_box_exp([Box|Boxes]) ->
      lists:flatten([pretty_from_box_exp(Box),pretty_from_box_exp(Boxes)]).
  
  -define(REG_COL, [
      {"(--.*[\n\r]+)",                             " "}    % comments                      -> removed
  
negative.code:         end
      catch
          _:R -> {error, {R, erlang:get_stacktrace()}}
      end;
  boxed_from_pt(ParseTree) ->
      {error, {not_implemented_for, ParseTree}}.
  
  
  %% Operator Binding Power -------------------------------
  
  