anchor.diff:                  i++;
               }
           }
  +        // strip trailing underscores (from trailing blanks)
  +        boost::trim_right_if(buf, boost::is_any_of("_"));
           return buf;
       }
   }
  
positive.code: }
  
  @parser::members {
      // converts varname into a string formatted as a variable name
      // (lower_case_with_underscores)
      std::string newVarString(pANTLR3_STRING varname) {
  
negative.code: 
  atom
      :   NAME
          -> VARIABLENAME[$NAME, newVarString($NAME.text).c_str()]
      |   INT
      |   FLOAT
      |   LBRACKET! expression RBRACKET!
  