import java.util.Stack; public class FunctionTraduit { public static void main(String []args) { int []memoire = new int[10000]; Stack<Integer> pileDAppel = new Stack<Integer>(); int instruction = 1; while (true) { System.err.println(">>>>>>Instruction à exécuter "+instruction); switch (instruction) { case 1: System.out.println("Début"); instruction++; break; case 2: // préparation de l'appel et de son retour pileDAppel.push(instruction+1); instruction = 7; break; case 3: System.out.println("Milieu"); instruction++; break; case 4: // préparation de l'appel et de son retour pileDAppel.push(instruction+1); instruction = 7; break; case 5: System.out.println("Fin"); instruction++; break; case 6: System.exit(0); case 7: // début de f(); System.out.println("Je suis dans f()"); instruction++; break; case 8: // revenir au point indiqué au moment de l'appel // ce point est indiqué en sommet de la pile instruction = pileDAppel.pop(); break; } } } }