/** * The algorithm in Appel is presented in partial tail-recursion * form. Obviously, that's not efficient in java, so this function * serves as the dispatcher instead. */ private void handleTailRecursion() { while (nextFunction != NextFunction.DONE) { switch (nextFunction) { case LIVE_IN_AT_STATEMENT: nextFunction = NextFunction.DONE; liveInAtStatement(); break; case LIVE_OUT_AT_STATEMENT: nextFunction = NextFunction.DONE; liveOutAtStatement(); break; case LIVE_OUT_AT_BLOCK: nextFunction = NextFunction.DONE; liveOutAtBlock(); break; default: } } }
/** * The algorithm in Appel is presented in partial tail-recursion * form. Obviously, that's not efficient in java, so this function * serves as the dispatcher instead. */ private void handleTailRecursion() { while (nextFunction != NextFunction.DONE) { switch (nextFunction) { case LIVE_IN_AT_STATEMENT: nextFunction = NextFunction.DONE; liveInAtStatement(); break; case LIVE_OUT_AT_STATEMENT: nextFunction = NextFunction.DONE; liveOutAtStatement(); break; case LIVE_OUT_AT_BLOCK: nextFunction = NextFunction.DONE; liveOutAtBlock(); break; default: } } }
/** * The algorithm in Appel is presented in partial tail-recursion * form. Obviously, that's not efficient in java, so this function * serves as the dispatcher instead. */ private void handleTailRecursion() { while (nextFunction != NextFunction.DONE) { switch (nextFunction) { case LIVE_IN_AT_STATEMENT: nextFunction = NextFunction.DONE; liveInAtStatement(); break; case LIVE_OUT_AT_STATEMENT: nextFunction = NextFunction.DONE; liveOutAtStatement(); break; case LIVE_OUT_AT_BLOCK: nextFunction = NextFunction.DONE; liveOutAtBlock(); break; default: } } }
/** * The algorithm in Appel is presented in partial tail-recursion * form. Obviously, that's not efficient in java, so this function * serves as the dispatcher instead. */ private void handleTailRecursion() { while (nextFunction != NextFunction.DONE) { switch (nextFunction) { case LIVE_IN_AT_STATEMENT: nextFunction = NextFunction.DONE; liveInAtStatement(); break; case LIVE_OUT_AT_STATEMENT: nextFunction = NextFunction.DONE; liveOutAtStatement(); break; case LIVE_OUT_AT_BLOCK: nextFunction = NextFunction.DONE; liveOutAtBlock(); break; default: } } }
/** * The algorithm in Appel is presented in partial tail-recursion * form. Obviously, that's not efficient in java, so this function * serves as the dispatcher instead. */ private void handleTailRecursion() { while (nextFunction != NextFunction.DONE) { switch (nextFunction) { case LIVE_IN_AT_STATEMENT: nextFunction = NextFunction.DONE; liveInAtStatement(); break; case LIVE_OUT_AT_STATEMENT: nextFunction = NextFunction.DONE; liveOutAtStatement(); break; case LIVE_OUT_AT_BLOCK: nextFunction = NextFunction.DONE; liveOutAtBlock(); break; default: } } }
/** * The algorithm in Appel is presented in partial tail-recursion * form. Obviously, that's not efficient in java, so this function * serves as the dispatcher instead. */ private void handleTailRecursion() { while (nextFunction != NextFunction.DONE) { switch (nextFunction) { case LIVE_IN_AT_STATEMENT: nextFunction = NextFunction.DONE; liveInAtStatement(); break; case LIVE_OUT_AT_STATEMENT: nextFunction = NextFunction.DONE; liveOutAtStatement(); break; case LIVE_OUT_AT_BLOCK: nextFunction = NextFunction.DONE; liveOutAtBlock(); break; default: } } }
/** * The algorithm in Appel is presented in partial tail-recursion * form. Obviously, that's not efficient in java, so this function * serves as the dispatcher instead. */ private void handleTailRecursion() { while (nextFunction != NextFunction.DONE) { switch (nextFunction) { case LIVE_IN_AT_STATEMENT: nextFunction = NextFunction.DONE; liveInAtStatement(); break; case LIVE_OUT_AT_STATEMENT: nextFunction = NextFunction.DONE; liveOutAtStatement(); break; case LIVE_OUT_AT_BLOCK: nextFunction = NextFunction.DONE; liveOutAtBlock(); break; default: } } }
/** * The algorithm in Appel is presented in partial tail-recursion * form. Obviously, that's not efficient in java, so this function * serves as the dispatcher instead. */ private void handleTailRecursion() { while (nextFunction != NextFunction.DONE) { switch (nextFunction) { case LIVE_IN_AT_STATEMENT: nextFunction = NextFunction.DONE; liveInAtStatement(); break; case LIVE_OUT_AT_STATEMENT: nextFunction = NextFunction.DONE; liveOutAtStatement(); break; case LIVE_OUT_AT_BLOCK: nextFunction = NextFunction.DONE; liveOutAtBlock(); break; default: } } }