anchor.diff:     ;
   
   line
  -   : chowncommand
  +   : command
  +   | action
  +   ;
  +
  +command
  +   : bootcommand
  +   | chowncommand
      | createcommand
      | describecommand
      | digcommand
  +   | dumpcommand
      | failcommand
      | findcommand
      | linkcommand
      | lockcommand
      | namecommand
  +   | newpassswordcommand
      | ofailcommand
      | opencommand
      | osuccesscommand
  +   | passwordcommand
  +   | pcreatecommand
      | setcommand
  +   | shutdowncommand
  +   | statscommand
      | successcommand
  +   | teleportcommand
  +   | toadcommand
      | unlinkcommand
      | unlockcommand
  +   | wallcommand
  +   ;
  +
  +bootcommand
  +   : '@boot' player
      ;
   
   chowncommand
  
positive.code:    : '@osuccess' object ('=' message)?
     ;
  
  setcommand
     : '@set' object '=' '!'? flag
     ;
  
  successcommand
     : '@success' object ('=' message)?
     ;
  
  unlinkcommand
     : '@unlink' dir
     ;
  
negative.code:    : '@dig' name
     ;
  
  dumpcommand
     : '@dump'
     ;
  
  failcommand
     : '@fail' name ('=' description)?
     ;
  