anchor.diff:  
   
   test_fsm(Filename) ->
  -  io:format("In test_fsm~n"),
     ParseResult = scribble_lexer:parse(Filename),
     case ParseResult of
       {error, file_open_error, Error} ->
  
positive.code: par_transition(ToID, NestedFSMIDs) ->
    {par_transition, ToID, NestedFSMIDs}.
  
  %%% State creation functions: Standard state, and a state "containing" nested FSMs
  standard_state() -> standard_state.
  %par_state(NestedFSMIDs) -> {par_state, NestedFSMIDs}.
  
negative.code: 
  instruction_size({rec, _, Block}) ->
    block_size(Block);
  instruction_size({local_initiates, _, SN, _, SuccessBlock, HandleBlocks}) ->
    HandleBlocksSize = lists:foldl(fun(HB = {handle_block, _, Block}, Sum) ->
                                       Sum + initiates_size(Block) end, 0, HandleBlocks),
    SuccessBlockSize = initiates_size(SuccessBlock),
    HandleBlocksSize + SuccessBlockSize + 1;
  instruction_size({choice, _, Choices}) ->
    lists:foldl(fun(ChoiceBlock, Sum) ->
                Sum + (block_size(ChoiceBlock)) end, 0, Choices);
  instruction_size(Other) -> 0.
  
  initiates_size([]) -> 0;
  initiates_size([{continue, _}|_]) -> 0;
  initiates_size([X]) -> 1 + instruction_size(X);
  initiates_size([X|XS]) -> 1 + block_size([X|XS]).
  
  % add_state: Takes FSMState, returns (new state ID, new FSMState)
  add_state(State, FSMState) ->
  