public class ProgSimpleWhileTraduit { public static int insCourante; public static int []memoire = new int[1000]; // Table des symboles // x : 0 public static void main(String []args) { insCourante = 1; while (true) { System.err.println("ins="+insCourante); switch(insCourante) { case 1: memoire[0] = 0; // traduction de x=0 insCourante += 1; break; // passage à l'instruction suivante case 2: if (memoire[0]<10) { // évaluation du test et branchements insCourante = 3; // vers la première instruction du corps } else { insCourante = 4; // sort de la boucle } break; case 3: memoire[0] += 1; // traduction x += 1 insCourante = 2; break; // retour ne début de boucle case 4: System.out.println("x="+memoire[0]); insCourante += 1; break; case 5: System.exit(0); // arrêt de la machine } } } }