anchor.diff:  WS               : [ \t\r\n\f]+ -> channel(HIDDEN) ;
   
   BLOCK_COMMENT    : '/*' .*? ('*/' | EOF)    -> channel(HIDDEN);
  -LINE_COMMENT     : '//' ~[\r\n]*            -> channel(HIDDEN);+LINE_COMMENT     : '//' ~[\r\n]*            -> channel(HIDDEN);
  
positive.code: SEMI            : ';';
  COMMA           : ',';  
  DOT             : '.';
  NOT             : '¬'; 
  FUNCTIONAL      : 'ˢ';    
  
  // -- Common lexing rules with Crsx.g4.
  
negative.code:  * Copyright (c) 2015 IBM Corporation.
   *
   * This is the Crsx Core grammar specification.
   *
   %MS: What does the c- in front of every left hand side stand for?
        c-ore? Maybe explain here, so that it is easier for reader.
        Or is it even possible to drop the "c"?
   *
   */
  
  /* 
  %MS: I commented directly above the respective line and 
       always start with '%MS'
       When I write ANTLR code in the comments I use to distinguish 'antlr'.
       From our (GM and I) perspective we have three big questions:
       1. the definition of 'cterm' --- see comment of 'cterm'
       2. intutions for the 'ckv' production 
       3. to get rid of (potential) redundancies
          * inlining, when sensible 
          * distinction between 'cform' and 'csort' --- see comment of 'cform'
  */
  
  grammar Core;
  
  // -- Top-level declarations
  