From 4f2d217fedde523ed39ed83ba5a228370f646d30 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Fri, 6 Apr 2018 13:41:14 +0200 Subject: [PATCH] exo6: add UML class diagram for the arithmetic expression evaluator. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- exo6/design_arithmetic.uxf | 343 +++++++++++++++++++++++++++++++++++++ 1 file changed, 343 insertions(+) create mode 100644 exo6/design_arithmetic.uxf diff --git a/exo6/design_arithmetic.uxf b/exo6/design_arithmetic.uxf new file mode 100644 index 0000000..9cf878c --- /dev/null +++ b/exo6/design_arithmetic.uxf @@ -0,0 +1,343 @@ + + 10 + + UMLClass + + 590 + 60 + 100 + 60 + + Expression +-- +-- +/+evaluer()/ + + + + + UMLClass + + 380 + 200 + 100 + 30 + + Terme + + + + UMLClass + + 870 + 200 + 100 + 30 + + Op-add + + + + UMLClass + + 280 + 290 + 100 + 30 + + Facteur + + + + UMLClass + + 770 + 290 + 100 + 50 + + Op+ +-- +-- ++evaluer():gauche.evaluer() + droite.evaluer() + + + + UMLClass + + 480 + 290 + 100 + 30 + + Op-mul + + + + UMLClass + + 970 + 290 + 100 + 50 + + Op- +-- +-- ++evaluer():gauche.evaluer() - droite.evaluer() + + + + UMLClass + + 10 + 470 + 130 + 80 + + Chiffre +-- +-c:int <- {0,...,9} +-- ++evaluer():int + + + + UMLClass + + 170 + 470 + 180 + 80 + + Variable +-- +-vMap:Map<key, value> +-- ++evaluer():char + + + + UMLClass + + 380 + 470 + 190 + 80 + + Expression parenthesée +-- +-- ++evaluer():exp.evaluer() + + + + UMLClass + + 410 + 370 + 100 + 50 + + Op* +-- +-- ++evaluer():gauche.evaluer() * droite.evaluer() + + + + UMLClass + + 550 + 370 + 100 + 50 + + Op\ +-- +-- ++evaluer():gauche.evaluer() / droite.evaluer() + + + + Relation + + 630 + 110 + 30 + 80 + + lt=<<- + 10.0;10.0;10.0;60.0 + + + Relation + + 420 + 160 + 520 + 60 + + lt=- + 10.0;40.0;10.0;10.0;500.0;10.0;500.0;40.0 + + + Relation + + 680 + 80 + 390 + 150 + + lt=<- +droite + 10.0;10.0;330.0;10.0;330.0;130.0;290.0;130.0 + + + Relation + + 470 + 190 + 420 + 40 + + lt=<- +gauche + 10.0;20.0;400.0;20.0 + + + Relation + + 420 + 220 + 30 + 60 + + lt=<<- + 10.0;10.0;10.0;40.0 + + + Relation + + 320 + 250 + 230 + 60 + + lt=- + 10.0;40.0;10.0;10.0;210.0;10.0;210.0;40.0 + + + Relation + + 370 + 280 + 130 + 40 + + lt=<- +gauche + 10.0;20.0;110.0;20.0 + + + Relation + + 470 + 210 + 210 + 110 + + lt=<- +droite + 10.0;10.0;150.0;10.0;150.0;90.0;110.0;90.0 + + + Relation + + 910 + 220 + 30 + 60 + + lt=<<- + 10.0;10.0;10.0;40.0 + + + Relation + + 810 + 250 + 230 + 60 + + lt=- + 10.0;40.0;10.0;10.0;210.0;10.0;210.0;40.0 + + + Relation + + 520 + 310 + 30 + 60 + + lt=<<- + 10.0;10.0;10.0;40.0 + + + Relation + + 450 + 340 + 170 + 50 + + lt=- + 10.0;30.0;10.0;10.0;150.0;10.0;150.0;30.0 + + + Relation + + 560 + 60 + 580 + 470 + + lt=<- +exp + 130.0;10.0;540.0;10.0;540.0;450.0;10.0;450.0 + + + Relation + + 60 + 430 + 430 + 60 + + lt=- + 10.0;40.0;10.0;10.0;410.0;10.0;410.0;40.0 + + + Relation + + 320 + 310 + 30 + 150 + + lt=<<- + 10.0;10.0;10.0;130.0 + + + Relation + + 250 + 430 + 30 + 60 + + lt=- + 10.0;10.0;10.0;40.0 + + -- 2.34.1