anchor.diff:  fragment LETTER    : [a-zA-Z];
   
   TYPEINT  : 'int';
  +TYPEFLOAT  : 'float';
  +TYPEBOOLEAN : 'boolean';
   
  +IF     : 'if';
  +ELSE   : 'else';
   RETURN : 'return';
   
   LP        : '(';
  
positive.code: paramTypeList : paramType (',' paramType)*
                ;
  
  paramType : type ID
            ;
  
  block : '{' stat* '}'
  
negative.code:          ;
  
  stat : varDecl
       | ifElseStat
       | returnStat
       | assignStat
       | exprStat
       ;
  
  expr : ID '(' exprList? ')'                      
       | op=('+' | '-') expr                       
       | '!' expr                                  
       | expr op=('<' | '>' | '<=' | '>=') expr    
       | expr op=('*' | '/') expr                  
       | expr op=('+' | '-') expr                  
       | expr op=("&&"|"||") expr                  
       | expr op=("=="|"!=") expr                 
       | ID                                        
       | INT                                       
       | FLOAT                                     
       | BOOLEAN                                  
       | '(' expr ')'                             
       ;
  