anchor.diff:  /*
    * Copyright (c) 2015 IBM Corporation.
    *
  - * This is the Crsx Core grammar specification.
  + * This is the TranScript Core grammar specification.
    *
  - * To avoid conflicts with the Crsx grammar,
  + * To avoid conflicts with the TransScript grammar,
    * every production starts with a 'c' for 'c'ore
    */
  -
  -/* 
  -%MS: Comments are directly above the respective line and 
  -              start with %MS or %LV
  -              and ANTLR code is distinguished by: 'antlr'.
  -*/
  -
  -
  -/* Open:
  -   Map <- depends on plank to stabilize
  -   cform <-  MS: think through, comment
  -   properties for (term) variables
  -   As Sort, inline sort annotation for easier Code Generation
  -*/
   
   grammar Core;
   
  
positive.code:     : cdecl+
      ;
  
  /*
     note: allow only Z() to be easier machine readable and for plank compatibility
     %LV: I found a way for easy human-readable and easy machine readable. Plan compatibility is lost but only on a detail 
          Z() is not allowed. Z is allowed. ⟦ ... ##cforms*  ... ⟧ is allowed.
   */
  cdecl
      : DATA  csortvars? CONSTRUCTOR cforms                   /* Data sort declaration */
      | EXTERN? FN csortvars? csort CONSTRUCTOR csorts?       /* Function sort declaration */
      | RULE  cterm ARROW cterm                               /* Rule declaration */
      | IMPORT MODULE CONSTRUCTOR                             /* Import module declaration */
      | IMPORT GRAMMAR CONSTRUCTOR                            /* Import grammar declaration */
      ;
  
  // -- Sorts
  
  
negative.code: DOT             : '.';
  NOT             : '¬';
  
  // -- Common lexing rules with TransScript.g4.
  //    Cannot extract these rules yet as the antlr meta parser generator does not support modular grammars yet 
  
  CONSTRUCTOR     : StartConstructorChar ConstructorChar* // '$' is for internal use only.
  