anchor.diff:              ;
   
   // while statement
  -while_stmt  :   WHILE^ n_expr LB! block_instructions RB!
  +while_stmt  :   WHILE^ LP! n_expr RP! LB! block_instructions RB!
  +            ;
  +            
  +// for statement
  +for_stmt  :   FOR^ LP! assign ';' n_expr ';' assign RP! LB! block_instructions RB!
               ;
   
   // Return statement with an expression
  
positive.code: 	;
  
  duration: INT 
      | '(' num_expr ')'
      ;
  
  polifon : 'Poli' ID LB! ((VOICE ID)? (melodia '|'!))* RB!
          ;
  
  speed	:	'Speed' n_expr;
  
negative.code: THEN    : 'then' ;
  ELSE    : 'else' ;
  WHILE   : 'while' ;
  FOR		: 'for'	;
  RETURN  : 'return';
  NOTA: ('C' | 'D' | 'E' | 'F' | 'G' | 'A' | 'B') ('0'..'9')? ('#' | 'b')? 
      |'Z'
  