anchor.diff:      split_string_1(Xs, N - 2, L - 2, [X2, X1 | As]);
   split_string_2([X | Xs], N, L, As) ->
       split_string_1(Xs, N - 1, L - 1, [X | As]).
  +
  +split_string_3([$} | Xs], N, L, As) ->
  +    split_string_1(Xs, N - 1, L - 1, [$} | As]);
  +split_string_3([X | Xs], N, L, As) when
  +  X >= $0, X =< $9; X >= $a, X =< $z; X >= $A, X =< $Z ->
  +    split_string_3(Xs, N - 1, L -1, [X | As]);
  +split_string_3([X | Xs], N, L, As) when
  +  X >= $0, X =< $9 ->
  +    split_string_1(Xs, N - 1, L -1, [X | As]).
   
   %% Note that there is nothing in `lay_clauses' that actually requires
   %% that the elements have type `clause'; it just sets up the proper
  
positive.code: 
  split_string_2([$^, X | Xs], N, L, As) ->
      split_string_1(Xs, N - 2, L - 2, [X, $^ | As]);
  split_string_2([X1, X2, X3 | Xs], N, L, As) when
    X1 >= $0, X1 =< $7, X2 >= $0, X2 =< $7, X3 >= $0, X3 =< $7 ->
      split_string_1(Xs, N - 3, L - 3, [X3, X2, X1 | As]);
  
negative.code: %% the module `erl_syntax'.
  
  -module(erl_prettypr).
  
  -compile(export_all).
  
  -export([format/1, format/2, best/1, best/2, layout/1, layout/2,
  	 get_ctxt_precedence/1, set_ctxt_precedence/2,
  