anchor.diff:  	literal # vsLiteral
   	| midStmt # vsMid
   	| NEW WS valueStmt # vsNew
  -	| implicitCallStmt_Value # vsValueCalls
  +	| implicitCallStmt_Value_InStmt # vsValueCalls
   	| typeOfStmt # vsTypeOf
   	| LPAREN WS? valueStmt (WS? ',' WS? valueStmt)* RPAREN # vsStruct
  -	| implicitCallStmt_Value WS? ASSIGN WS? valueStmt # vsAssign
  +	| implicitCallStmt_Value_InStmt WS? ASSIGN WS? valueStmt # vsAssign
   	| valueStmt WS? PLUS WS? valueStmt # vsAdd
   	| PLUS WS? valueStmt # vsPlus
   	| ADDRESSOF WS valueStmt # vsAddressOf
  
positive.code: ;
  
  moduleBody : 
      moduleBodyElement (NEWLINE+ moduleBodyElement)*
  ;
  
  moduleBodyElement : 
  
negative.code: 
  moduleBlock : block;
  
  attributeStmt : ATTRIBUTE WS implicitCallStmt_Value_InStmt WS? EQ WS? literal (WS? ',' WS? literal)*;
  
  block : blockStmt (NEWLINE+ WS? blockStmt)*;
  
  