// Path: src/chap7/ClosureEvaluator.java
// @Require(FuncEvaluator.class)
// @Reviser public class ClosureEvaluator {
//     @Reviser public static class FunEx extends Fun {
//         public FunEx(List<ASTree> c) { super(c); }
//         public Object eval(Environment env) {
//             return new Function(parameters(), body(), env);
//         }
//     }
// }


import javassist.gluonj.util.Loader;
import chap7.ClosureEvaluator;
package chap8;

public class NativeRunner {
    public static void main(String[] args) throws Throwable {
        Loader.run(NativeInterpreter.class, args, NativeEvaluator.class,
// Path: src/chap7/ClosureEvaluator.java
// @Require(FuncEvaluator.class)
// @Reviser public class ClosureEvaluator {
//     @Reviser public static class FunEx extends Fun {
//         public FunEx(List<ASTree> c) { super(c); }
//         public Object eval(Environment env) {
//             return new Function(parameters(), body(), env);
//         }
//     }
// }


// Path: src/chap8/NativeRunner.java
import javassist.gluonj.util.Loader;
import chap7.ClosureEvaluator;

package chap8;

public class NativeRunner {
    public static void main(String[] args) throws Throwable {
        Loader.run(NativeInterpreter.class, args, NativeEvaluator.class,
                   ClosureEvaluator.class);