anchor.diff:  	:	returnStatement
   	| identifierDeclaration
   	| exp=expression
  -	{ $Block::block.statements().$plus$eq($exp.exp); }
  +	{ $Block::block.statements().\$plus\$eq($exp.exp); }
   	;
   
   returnStatement
   	: ^('return' ex=expression)
  -	{ $Block::block.statements().$plus$eq(new ReturnExpression($ex.exp)); }
  +	{ $Block::block.statements().\$plus\$eq(new ReturnExpression($ex.exp)); }
   	;
   
   identifierDeclaration
   	:	^(VAR t=TypeIdentifier (^('=' v=VariableIdentifier exp=expression) | v=VariableIdentifier))
   	{ IdentifierDeclaration identifierDeclaration = new IdentifierDeclaration($t.text, $v.text);
  -		$Block::block.statements().$plus$eq(identifierDeclaration);
  +		$Block::block.statements().\$plus\$eq(identifierDeclaration);
   	  if ($exp.exp != null) {
  -	    identifierDeclaration.initialValue_$eq(new scala.Some($exp.exp));
  +	    identifierDeclaration.initialValue_\$eq(new scala.Some($exp.exp));
   	  }
     }
   	;
   	
   assignment
   	: ^('=' lhs=expression rhs=expression)
  -	{ $Block::block.statements().$plus$eq(new AssignmentExpression($lhs.text, $rhs.text)); }
  +	{ $Block::block.statements().\$plus\$eq(new AssignmentExpression($lhs.text, $rhs.text)); }
   	;
   
   expression returns [Expression exp]
  
positive.code: classDeclaration
  @init {	
    ClassDefinition classDef = new ClassDefinition();
  	$SourceFile::file.classDef_$eq(classDef);
  	paraphrases.push("in class definition");
  }
  @after {
  
negative.code: 	  if ($exp != null) {
    	  for (Object item : $exp) {
  	      Expression expression = ((expression_return)item).exp;
  	      $args.\$plus\$eq(expression);
  	    }
  	  }
  	}
  