anchor.diff:  
   commandStmt returns [ConnectionCmd retval]
   options {backtrack=true;}	
  -	: keyDROP keyTABLE t=ID 		 	{retval = new DropCmd($t.text);}
  -	| keyDISABLE keyTABLE t=ID 		 	{retval = new DisableCmd($t.text);}
  -	| keyENABLE keyTABLE t=ID 		 	{retval = new EnableCmd($t.text);}
  -	| keyDESCRIBE keyTABLE t=ID 			{retval = new DescribeCmd($t.text);}
  +	: keyDROP keyTABLE t=simpleName 		{retval = new DropCmd($t.text);}
  +	| keyDISABLE keyTABLE t=simpleName 		{retval = new DisableCmd($t.text);}
  +	| keyENABLE keyTABLE t=simpleName 		{retval = new EnableCmd($t.text);}
  +	| keyDESCRIBE keyTABLE t=simpleName 		{retval = new DescribeCmd($t.text);}
   	| keySHOW keyTABLES 		 		{retval = new ShowCmd();}
  -	| keySET i=ID EQ? v=QUOTED	 		{retval = new SetCmd($i.text, $v.text);}
  +	| keySET i=simpleName EQ? v=QUOTED	 	{retval = new SetCmd($i.text, $v.text);}
   	| cr=createStmt					{retval = $cr.retval;}
   	| del=deleteStmt		 		{retval = $del.retval;}
   	;
  
positive.code: 	: c1=selectElem {retval.add($c1.retval);} (COMMA c2=selectElem {retval.add($c2.retval);})*;
  
  selectElem returns [SelectElement retval]
  	: c=valExpr (keyAS i=ID)?			{$selectElem.retval = ExprSelectElement.newExprElement($c.retval, $i.text);}
  	| f=familyRef					{$selectElem.retval = FamilySelectElement.newFamilyElement($f.text);}
  	;
  
  
negative.code: 							{retval = new DelegateBetweenStmt($s1.retval, ($n.text != null), $s2.retval, $s3.retval);}
  	| s1=valExpr n=keyNOT? keyIN LPAREN l=valueItemList RPAREN			
  							{retval = new DelegateInStmt($s1.retval, ($n.text != null), $l.retval);} 
  	| s1=valExpr keyIS (n=keyNOT)? keyNULL		{retval = new DelegateNullCompare(($n.text != null), $s1.retval);}	
  	;
  
  valueItemList returns [List<GenericValue> retval]
  