关于那个没有实现的InterfaceToTester 接口,其中E文是这样的:
In your final presentation, the second half of your demonstration will involve the testing of your program by an automated tester. To prepare you for this, we're giving you the auto-tester program. Please follow the instructions below: 
Download the zip file containing all the neccessary files. After downloading, unzip the file. You will be able to see these 4 files: 
AutoTester.jar
This jar file contains the class files necessary for running the auto-tester. 
Wrapper.java
This file specifies a class called Wrapper which you need to implement i.e. write code, to allow the auto-tester to talk to your SPA. 
trial.txt
A sample source program (in SIMPLE) for you to test your Wrapper implementation. 
trialcase.txt
A set of queries to go with the sample source program. Note that this is just a sample set of queries. The source program and queries used in the final presentation will be more complicated than this ! 
To hook up to the auto-tester, you need to modify Wrapper.java. The Wrapper class implements the interface called InterfaceToTester. The specification of the interface is as follows: 
// This file contains the interface operations to the AutoTester.
// You need to write a class call Wrapper that implements this interface.import java.util.Vector;public interface InterfaceToTester {  /**
   * In order to test your SPA program, you need to be given the source
   * file. The AutoTester will use this method to pass you the full
   * pathname of the source file. In your implementation of this method,
   * you should write code that will invoke your SPA to parse the source
   * file.
   * @param filename full pathname of the SIMPLE source file
   * @exception throw any exception that has occurred during parsing
   */
  public void parse(String filename) throws Exception;  /**
   * Once the parsing is completed, the AutoTester will invoke this
   * method once for each query that your SPA program will evaluate.
   * In your implementation of this method, you should write code
   * that will invoke your SPA to evaluate the query.
   *
   * The query will be passed as a single string. For example,
   * "assign a; Select a such that Parent(3, a);". A more complex
   * one would be 
   * "variable v; stmt s1, s2; Select s1 such that Follows(s1, s2)
   *  and Modifies(s1, v);". Note that no matter how long the query
   * will be, it will always be passed as a single string. You can
   * manipulate this string according to your own needs. For example,
   * if your program expects the query to come in two lines (the
   * first is declarations while the second is the actual query),
   * you can do the splitting of the query in this method before
   * passing them to your SPA program.
   *
   * Once your SPA has evaluated the query, you need to pass the 
   * results back in a vector. Each element of the vector indicates 
   * 1 result. Each element has to be a String object. For example,
   * let's say the results is 1, 2, 3. You need to convert these 
   * integers to String and store them in the Vector. Order is not
   * important (so you don't need to sort the results, the AutoTester
   * will handle this). But case is important e.g. if the results is
   * a set of procedure names "First", "Second", make sure you don't
   * change the case. If your evaluation returns a boolean result,
   * ensure it returns "true" or "false" (in lowercase).
   * If your evaluation returns no result, just 
   * return an empty Vector. If the results are tuples e.g. 1 2, 2 3,
   * then you store each tuple result as a single string with the
   * individual element of the tuple separated by a space e.g. the
   * Vector for the preceding tuple results will contain two String
   * Objects. The first is "1 2" and the second is "2 3".
   *
   * @param query the query string
   * @return a Vector containing the results. Each element must be
   *         a String object. Return an empty Vector if the evaluation
   *         returns no results.
   * @exception throw any exception that occurs during evaluation
   */
  public Vector evaluate(String query) throws Exception;
}Basically, there are two methods you need to implement. The first is method "parse". At the start of the testing process, the auto-tester will invoke the parse method of the Wrapper class, passing it the name of a SIMPLE source file for parsing. You need to write code that will invoke your own parser to parse this file. Upon completion of the parsing, the auto-tester will repeatedly invoke the second method "evaluate". It passes the PQL query as a single string. Your job here is to write the necessary code that will pass the query to your evaluator. After processing the query, the method will return the answers in a Vector. 
Once you finish implementing the Wrapper class, compile the Wrapper.java file. Before that, you must make sure that your classpath is set to include the AutoTester.jar file. Let's say you put your AutoTester.jar file in C:\CS3214s. Then, set your classpath as follows: 
set CLASSPATH=whatever_your_current_classpath;C:\CS3214s\AutoTester.jar

Now, you are ready to run the auto-tester. The auto-tester accepts three arguments. The first is the name of the file containing the SIMPLE source. The second is the name of the file containing the queries. The third is the output file to store the results of the testing. To try out the auto-tester, do the following: 
java AutoTester trial.txt trialcase.txt output.txt
Once the testing is completed, you can view the results of the test from output.txt.   On the day of your final presentation, make sure your SPA can communicate with the auto-tester as described above. What we will do is to give you a different set of trial.txt and trialcase.txt and you will run the auto-tester to show us the results of the tests.It is difficult for me to anticipate whatever that could occur during the testing. As such, I strongly encourage feedback from you all. Please email me if you encountered any problems regarding the auto-tester. 我尤其不明白第二个要实现函数public Vector evaluate(String query) throws Exception;
是做什么的?他好像要测试的文件是一些二进制文件,不是java源程序?这个AutoTest是怎么样读进遥测试的文件,然后自动测试的呢?能自动为要测试的源文件生成测试文件么?