anchor.diff:      ;
   
   set
  -    : SET SPACE+ assign (',' assign)*
  +    : (SET1 | SET2) SPACE+ assign (',' assign)*
       ;
   
   assign
  
positive.code:     ;
  
  commandname
      : (BREAK | CLOSE | DO | ELSE | FOR | GOTO | HALT | HANG | IF | JOB
        | KILL | LOCK | MERGE | NEW | OPEN | QUIT | READ | SET | TCOMMIT
        | TRESTART | TROLLBACK | TSTART | USE | VIEW | WRITE1 | WRITE2 | XECUTE)
      ;
  
  arglist
  
negative.code:     : FOR SPACE+ term EQUALS term COLON term SPACE* (command SPACE?)* COLON (term (LT | GT) term)
      ;
  
  write
      : (WRITE1 | WRITE2) SPACE* arglist
      ;
  
  quit
      : QUIT
      ;
  
  BREAK
      : B R E A K
      ;
  