anchor.diff:      ;
   
   predicate 
  -    : atom | atom '(' termlist ')'
  +    : atom
  +    | atom '(' termlist ')'
       ;
   
   termlist 
  -    : term | termlist ',' term
  +    : term ( ',' term )*
       ;
   
   term 
  -    : numeral | atom | variable | structure
  +    : VARIABLE
  +    | atom
  +    | integer
  +    | FLOAT
  +    | structure
       ;
   
   structure 
  
positive.code: grammar prolog;
  
  program 
      : clauselist query?
      ;
  
  clauselist 
  
negative.code:     ;
  
  clause 
      : (predicate '.')
      | (predicate ':-') (predicatelist '.')
      ;
  
  predicatelist 
  