anchor.diff:  
   options {
   	superClass=HBaseParser;
  -	backtrack=true;
   }
   
   tokens {
  
positive.code: 
  // TODO Deal with LBRACE/RBRACE here
  booleanExpr returns [BooleanValue retval]
  	: b=booleanLiteral				{retval = $b.retval;}
  	| LBRACE e=orExpr RBRACE			{retval = new BooleanPredicate($e.retval);}
  	| LBRACE e=orExpr QMARK b1=orExpr COLON b2=orExpr RBRACE	
  
negative.code: 							{retval = new LikeStmt($s1.retval, ($n.text != null), $s2.retval);};
  
  inStmt returns [PredicateExpr retval]
  options {backtrack=true;}	
  	: a3=dateExpr n=not? keyIN LPAREN d=dateItemList RPAREN			
  							{retval = new DateInStmt($a3.retval, ($n.text != null), $d.retval);} 
  	| a1=numericExpr n=not? keyIN LPAREN i=intItemList RPAREN			
  