anchor.diff:  grammar nesC;
   
   options {
  -    backtrack = true;      // Quick and dirty. Should try to remove eventually.
  -    memoize   = true;      // Quick and dirty. Should try to remove eventually.
  +    // backtrack = true;      // Quick and dirty. Should try to remove eventually.
  +    // memoize   = true;      // Quick and dirty. Should try to remove eventually.
       output    = AST;
   }
   
  
positive.code: argument_expression_list
      :    assignment_expression (','! assignment_expression)*;
      
  unary_expression
      :    '++' unary_expression -> ^(PRE_INCREMENT unary_expression)
      |    '--' unary_expression -> ^(PRE_DECREMENT unary_expression)
  
negative.code: // declarations and the interface|component. This null token is awkward.
  //
  nesC_file
      :    translation_unit? large_scale_construct
               -> ^(FILE translation_unit? large_scale_construct);
  
  large_scale_construct
      :    interface_definition
      |    component;
  
  // This is deprecated. The nesC 1.2 manual doesn't even discuss the semantics of 'includes'
  // include_statement
  