import java.io.*;
import javax.swing.*;
import javax.tools.*;
import java.util.*;

class functiongenerator extends Thread
 {
  String fonksiyon;
  String dosyaismi;
  public functiongenerator(String dosyaismi,String fonksiyon)
  {this.fonksiyon=fonksiyon;
  this.dosyaismi=dosyaismi;
  }
  public functiongenerator(String fonksiyon)
  {this.fonksiyon=fonksiyon;
   dosyaismi="fa";
  }
 public  String createfunction()
 {String isim=dosyaismi+".java";
 String s="";
 try {PrintWriter fout=new PrintWriter(new BufferedWriter(new FileWriter(isim))); 
 s+="class "+dosyaismi+" extends f_x\n";
 s+=" {\n";
 s+=" public double func (double x)\n";
 s+="{ double y="+fonksiyon+";\n";
 s+=" return y;\n";
 s+="}\n";
 s+="}\n";
 fout.println(s);
 fout.close();
 }
 catch(IOException e1) {System.err.println("girdi hatası.");} 
 catch(NumberFormatException e2){};
 JavaCompiler javac = ToolProvider.getSystemJavaCompiler();
 int rc = javac.run(null, null, null,isim);
 return s;
}

 protected void finalize() throws Throwable
 {super.finalize();}

 }
