Deux usages des arbres
-1-INF 421 — 06 Luc MarangetDeux usages des arbresLuc.Maranget@inria.frhttp://www.enseignement.polytechnique.fr/profs/informatique/Luc.Maranget/421/-2-Deux exemples d’arbres◮ Les arbres-termes :Le calcul propositionnel.◮ Les arbres structurants :Diviser le plan en quatre (et puis enquatre, et puis...)-3-Un grand classiqueUne expression bool´eenne e (ou proposition) est :◮ Vrai ou faux, T ou F,◮ Une variable x ,...x ,0 N−1◮ La n´egation ¬(e),◮ Une conjonction (e ∧e ), une disjonction (e ∨e ).1 2 1 2Note :◮ Conceptuellement c’est aussi simple que les expressionsarithm´etiques.◮ Techniquement, il y a un peu plus de sortes de termes.-4-La classe des propositionsSelon le principe d’un champ ( nature ).class Prop {final static int FALSE=0, TRUE=1, VAR=2, NOT=3, OR=4, AND=5 ;int nature ; int asVar ; Prop left, right ;private Prop (int nature) { this.nature = nature ; }private Prop (int nature, int asVar) {this.nature = nature ; this.asVar = asVar ;}private Prop (int nature, Prop left) {this.nature = nature ; this.left = left ;}private Prop (int nature, Prop left, Prop right) {this.nature = nature ; this.left = left ; this.right = right ;}}-5-Construction des termesIl devient hasardeux de se fier aux constructeurs. Des d´etails, li´es `ala r´ealisation concr`ete prennent trop d’importance.On utilisera plutˆot des m´ethodes statiques bien nomm´ees.static Prop mkTrue() { return new Prop(TRUE) ; }static Prop mkVar(int no) { return new ...