anchor.diff:  	name = null;
   }
   	:	'while' '(' expr ')' '{' block '}'
  -		{$name = "while(" + $expr.name + ")\n\t{\n" + $block.name + "\t}";}
  +		{
  +			tabs.addTab();
  +			$name = "while(" + $expr.name + ") {\n" + tabs.tab()  + $block.name + tabs.tab() + "}";
  +			
  +		}
   	;
   
   block returns [String name]
  
positive.code: 			int k  = FunctionName.indexOf($ID.text);
  			int index = 0;
  			boolean isPub = true;
  			boolean isFound = false;
  			for(Function i : FunctionList)
  			{
  				if(i.name.equals($ID.text+ "_" + $callParameter.paranum))
  				{
  					isPub = i.flag;
  					isFound = true;
  					break;
  				}
  				index++;
  			}
  			if(!isFound)
  			{
  				if(!FunctionError.contains($ID.text+ "_" + $callParameter.paranum))
  					FunctionError.add($ID.text+ "_" + $callParameter.paranum);
  			}
  			if ((k >= 0) && (FunctionType.get(k) == "int&"))
  			{
  				if(isPub)
  					$name = "var temp = this." + $ID.text + "_" + $callParameter.paranum + "(" + $callParameter.name + ");\n" + "\t"+ $callParameter.temp1 + "= temp[0];\n" + "\t" +$callParameter.temp2 + "= temp[1]";
  				else
  					$name = "var temp = " + $ID.text + "_" + $callParameter.paranum + "(" + $callParameter.name + ");\n" + "\t"+ $callParameter.temp1 + "= temp[0];\n" + "\t" +$callParameter.temp2 + "= temp[1]";
  			}
  
negative.code: 			{
  				if(isPub)
  				{
  					$name = "" + $ID.text + "_" + $callParameter.paranum + "(" + $callParameter.name + ")";
  				}
  				else
  				{
  