anchor.diff:      | expr ('>'|'<'|'>='|'<=') expr
       | dotRef
       | NUMBER
  +    | STRING
  +    | arrayExpr
  +    | cellExpr
  +    | '(' expr ')'
       ;
   
   fragment
  
positive.code:     : 'while' expr endStat statBlock 'end'
      ;
  
  stat
      : dotRef '=' expr
      | ifStat
      | whileStat
      | ID
      | NL
      ;
  
  expr
  
negative.code: ID  : LETTER (LETTER|DIGIT|'_')* ;
  
  NUMBER : DIGIT+ ;
  
  STRING
      : '\'' (ESC|.)*? '\'' 
      ;
  
  fragment
  ESC : '\'\'' ;
  