anchor.diff:  			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]";
  +					$name = "var temp = " + $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]";
   			}
  
positive.code: }
  	:	stat a=block
  		{$name = $stat.name + $a.name;}
  	|	{$name = "";}
  	;
  
  stat returns [String name]
  
negative.code: 	name = null;
  }
  	:	'while' '(' expr ')' '{' block '}'
  		{
  			tabs.addTab();
  			$name = "while(" + $expr.name + ") {\n" + tabs.tab()  + $block.name + tabs.tab() + "}";
  			
  		}
  	;
  
  block returns [String name]
  