anchor.diff:  							{retval = new AttribMapping(new KeyInfo($key.text, $w.retval), $fm.retval);};
   	
   pred returns [StatementPredicate retval]
  +options {memoize=true;}	
   	: keyIF  b=exprValue 				{retval = new StatementPredicate($b.retval);};
   
   	
  
positive.code: 	| sel=selectStatement				{retval = new InsertSelectValues($sel.retval);};
  			
  selectStatement returns [SelectStatement retval]
  	: keySELECT c=selectElems keyFROM keyMAPPING? t=simpleId (keyWITH w=withClause)?
  							{retval = new SelectStatement($c.retval, $t.text, $w.retval);};
  							
  familyDefinitionList returns [List<FamilyDefinition> retval]
  
negative.code: 	: a1=familyProperty {retval.add($a1.retval);} (COMMA a2=familyProperty {retval.add($a2.retval);})*;
  	
  familyProperty returns [FamilyProperty retval]
  options {memoize=true;}	
  	: keyMAX_VERSIONS COLON v=exprValue		{retval = new MaxVersionsProperty($v.retval);}
  	| keyBLOOM_FILTER COLON v=exprValue		{retval = new BloomFilterProperty($v.retval);}
  	| keyBLOCK_SIZE COLON v=exprValue		{retval = new BlockSizeProperty($v.retval);}
  