anchor.diff:     ;
   
   parms
  -   : (parm (',' parm)*)?
  +   : (parm (',' parm)*)
      ;
   
   parm
  
positive.code:    ;
  
  equates
     : idn '=' 'equates' (parms where?)? equate equate* 'end' idn
     ;
  
  guardian
  
negative.code:    : IDENTIFIER
     ;
  
  INT_LITERAL
     : DIGIT+
     ;
  
  REAL_LITERAL
     : DIGIT+ '.' DIGIT+
     ;
  
  CHAR_LITERAL
     : '\'' .*? '\''
     ;
  
  STRING_LITERAL
     : '"' .*? '"'
     ;
  
  IDENTIFIER
     : [a-zA-Z] [a-zA-Z0-9]+
     ;
  
  DIGIT
     : [0-9]
     ;
  