public void run() throws IOException {
		PortWriter w = new PortWriter(new OutputStreamWriter(System.out));
		Reader reader = new Reader("=>");	// 异常恢复以后，reader状态需要重置
		while (true) {
			try {
				Expr sexp = reader.Read();
				Expr result = sexp.eval(_ctx);
				if (result != Util.VOID) {
					result.write(w);
					w.flush();
					System.out.println("");
				}
			} catch (RuntimeError e) {
				System.out.println(e.getMessage());
				run();
			}
		}
	}