anchor.diff:     : '<'
      ;
   
  +
   GTE
  -   : '>+'
  +   : '>='
      ;
   
   
   LTE
  -   : '<+'
  +   : '<='
      ;
   
   
  
positive.code:    ;
  
  ifblock
     : 'if' condition statement+ ('else' statement)? 'endif'
     ;
  
  whileblock
     : 'while' condition statement+
     ;
  
  doblock
     : 'do' statement+ 'while' condition
     ;
  
  assignblock
  
negative.code: atom
     : id
     | str
     | prop
     | integer
     ;
  
  command
     : prop ':' function
     ;
  
  function
     : verb ('(' expressionlist ')')?
     ;
  
  prop
     : obj ('.' property)*
     ;
  
  str
  