anchor.diff:      {Rest0, Pos0} = remove_spaces(<<SP:8,Rest/binary>>, Pos),
       {Rest1, Pos1, NewParsed} = st_else(Rest0, Pos0, Parsed),
       code(Rest1, copy_level(Pos, Pos1), NewParsed);
  +code(<<S:8,W:8,I:8,T:8,C:8,H:8,SP:8,Rest/binary>>, Pos, Parsed) when
  +        ?OR(S,$S,$s) andalso ?OR(W,$W,$w) andalso ?OR(I,$I,$i) andalso
  +        ?OR(T,$T,$t) andalso ?OR(C,$C,$c) andalso ?OR(H,$H,$h) andalso
  +        (?IS_SPACE(SP) orelse ?IS_NEWLINE(SP) orelse SP =:= $() ->
  +    {<<"(",_/binary>> = Rest0, Pos0} = remove_spaces(<<SP:8,Rest/binary>>, Pos),
  +    {Rest1, Pos1, NewParsed} = st_switch(Rest0, add_pos(Pos0,6), Parsed),
  +    code(Rest1, copy_level(Pos, Pos1), NewParsed);
  +code(<<C:8,A:8,S:8,E:8,SP:8,Rest/binary>>, {switch_block,_,_}=Pos, Parsed) when
  +        ?OR(C,$C,$c) andalso ?OR(A,$A,$a) andalso ?OR(S,$S,$s) andalso
  +        ?OR(E,$E,$e) andalso (?IS_SPACE(SP) orelse ?IS_NEWLINE(SP)) ->
  +    {Rest0, Pos0} = remove_spaces(<<SP:8,Rest/binary>>, add_pos(Pos,4)),
  +    NewPos = switch_block_level(Pos0),
  +    {<<":",Rest1/binary>>, Pos1, Exp} = expression(Rest0, NewPos, []),
  +    NewParsed = [add_line(#switch_case{
  +        label=Exp,
  +        code_block=[]
  +    }, Pos)|switch_case_block(Parsed)],
  +    code(Rest1, copy_level(Pos, add_pos(Pos1,1)), NewParsed);
  +code(<<D:8,E:8,F:8,A:8,U:8,L:8,T:8,SP:8,Rest/binary>>,
  +     {switch_block,_,_}=Pos, Parsed) when
  +        ?OR(D,$D,$d) andalso ?OR(E,$E,$e) andalso ?OR(F,$F,$f) andalso
  +        ?OR(A,$A,$a) andalso ?OR(U,$U,$u) andalso ?OR(L,$L,$l) andalso
  +        ?OR(T,$T,$t) andalso
  +        (?IS_SPACE(SP) orelse ?IS_NEWLINE(SP) orelse SP =:= $:) ->
  +    {<<":",Rest0/binary>>, Pos0} = remove_spaces(<<SP:8,Rest/binary>>,
  +                                                 add_pos(Pos,4)),
  +    NewParsed = [add_line(#switch_case{
  +        label=default,
  +        code_block=[]
  +    }, Pos)|switch_case_block(Parsed)],
  +    code(Rest0, copy_level(Pos, add_pos(Pos0,1)), NewParsed);
   code(<<E:8,C:8,H:8,O:8,SP:8,Rest/binary>>, Pos, Parsed)
           when ?OR(E,$e,$E) andalso ?OR(C,$c,$C) andalso ?OR(H,$h,$H)
           andalso ?OR(O,$o,$O) andalso ?OR(SP,32,$() ->
  
positive.code:     end,
      {Rest3, copy_level(Pos, Pos3), [For|Parsed]}.
  
  
  st_for(<<SP:8,Rest/binary>>, Pos, Parsed) when ?IS_SPACE(SP) ->
      st_for(Rest, add_pos(Pos,1), Parsed);
  
negative.code:         false_block = ElseExp
      },
      {Rest1, copy_level(Pos, Pos1), IfBlock};
  expression(<<":",_/binary>> = Rest, {switch_block,_,_}=Pos, [Exp]) ->
      {Rest, Pos, add_op('end', [Exp])};
  expression(<<>>, Pos, _Parsed) ->
      throw_error(eparse, Pos, <<>>).
  
  