anchor.diff:  DESC;
   DESC_SELF;
   ALL;
  +EQ_TO;
  +SC_OF;
   }
   
   @header {
  
positive.code: SCTID 
    : '-'? NONZERO DIGIT*;
  
  fragment DIGIT
    : '0'..'9'
    ;
  
negative.code:   : query 
    ;
  
  axiom
    : EQ_TO expression -> ^(EQ_TO expression)
    | SC_OF expression -> ^(SC_OF expression)
    | expression
    ;
    
  expression
    : concept ('+' concept)* -> ^(TOP_AND ^(GENUS concept+)) 
    | concept ('+' concept)* (':' refinements) -> ^(TOP_AND ^(GENUS concept+) ^(DIFF refinements))
    ;
      
  concept
    : SCTID 
    | SCTID TERM -> ^(SCTID TERM)
  