anchor.diff:    appendChunk( block, object_decl );
     appendChunk( block, type_decl );
     appendChunk( block, types );
  +  appendChunk( block, exceptions );
     appendChunk( block, services );
     appendChunk( block, terminators );
     appendChunk( block, relationships );
  
positive.code:                               : objectDefinitionBegin { begin = $objectDefinitionBegin.text; }
                                  (attributeDefinition { addToChunk( attrs, $attributeDefinition.text ); }
                                  | identifierDefinition { addToChunk( ids, $identifierDefinition.text ); }
                                  | objectServiceDeclaration { addToChunk( services, $objectServiceDeclaration.text ); }
                                  | objectFunctionDeclaration { addToChunk( services, $objectFunctionDeclaration.text ); }
                                  | eventDefinition { addToChunk( events, $eventDefinition.text ); }
                                  | stateDeclaration { addToChunk( states, $stateDeclaration.text ); }
                                  | transitionTable { addToChunk( trans_tables, $transitionTable.result ); })*
  
negative.code: terminatorDefinitionEnd       : END TERMINATOR? SEMI pragmaList                           
                                ;
  
  terminatorServiceDeclaration  
  returns[String result]
  @after {
      Matcher m = Pattern.compile( "public|private" ).matcher( $text );
      if ( !m.find() ) {
          $result = "public " + $text;    // if there is no public or private modifier, it is public
      }
      else {
          $result = $text;
      }
  }
                                : serviceVisibility SERVICE serviceName 
                                    parameterList SEMI pragmaList                           
                                ;
  
  terminatorFunctionDeclaration 
  returns[String result]
  @after {
      Matcher m = Pattern.compile( "public|private" ).matcher( $text );
      if ( !m.find() ) {
          $result = "public " + $text;    // if there is no public or private modifier, it is public
      }
      else {
          $result = $text;
      }
  }
                                : serviceVisibility FUNCTION serviceName 
                                    parameterList RETURN returnType 
                                    SEMI pragmaList                                         
                                ;
  