# Calcul de l'expression E = [(a+b)*(a-b)]+[(b+1)*(b-1)] # # On simplifie d'abord l'expression. # # The dreaded 'identités remarquables'... # (a+b)*(a-b) = a^2 - b^2 # (b-1)*(b+1) = b^2 - 1^2 = b^2 - 1 # En caculant on obtient au final pour E l'expression simplifiée suivante # a^2 - 1 # # # Arbre syntaxique de l'expression simplifiée. # # -(1) # *(2) Cons 1 (5) # Var a(3) Var a (4) # gestion des variables a et b PUSHI 0 # a (habite à l'adresse 0) # PUSHI 0 # b est inutile maintenant # demander à l'utilisateur les valeurs de a et pas de b qui ne sert à rien READ STOREG 0 # READ # STOREG 1 # gestion du calcul de l'expression. PUSHG 0 # (3) PUSHG 0 # (4) MUL # (2) PUSHI 1 # (5) SUB # (1) # écrire le résultat et enlever le résultat de la pile WRITE POP ### suppression des variables POP HALT