anchor.diff:  
   
   statement
  -// A list of statements in curly braces -- start a new scope!
  -    :
  -	//(assertCondition)*
  -	
  -	(
  -	compoundStatement
  +
  +  :
  +
  +    // A list of statements in curly braces -- start a new scope!    
  +    compoundStatement
   
   	// class definition
       |	classDefinition
  
positive.code:       lc:LCURLY
        // include the (possibly-empty) list of statements
        (statement)*
  	    //[jpschewe:20000305.1341CST] FIX still need to fix this
      //| (assertCondition)+
        rc:RCURLY
      )
      {
  
negative.code: 
      // Next we have a series of zero or more import statements with
      // intermingled javadoc comments
      ( /* (invariantCondition)* */ importDefinition )*
      {
        clearInvariants();
      }
  
      // Wrapping things up with any number of class or interface definitions
      // with their corresponding invariants
       ( (invariantCondition)* typeDefinition )*
  
      EOF
    ;
  
  invariantCondition
    : JAVADOC_OPEN ( iv:INVARIANT_CONDITION { addInvariant(iv); } | PRE_CONDITION | POST_CONDITION | ASSERT_CONDITION )* JAVADOC_CLOSE
    ;
  
  