TP-metaprogrammation-test/expressions.dot
2021-12-03 15:52:36 +01:00

122 lines
7 KiB
Plaintext
Executable file

#!/usr/local/bin/dot
#
# Class diagram
# Generated by UMLGraph version R5_7_2-23-gd0ede4 (http://www.spinellis.gr/umlgraph/)
#
digraph G {
edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10];
node [fontname="Helvetica",fontsize=10,shape=plaintext];
nodesep=0.25;
ranksep=0.5;
// VisiteurExpression<R>
c0 [label=<<table title="VisiteurExpression" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p">
<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> VisiteurExpression&lt;R&gt; </td></tr>
</table></td></tr>
</table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
// AccesVariable
c1 [label=<<table title="AccesVariable" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p">
<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> AccesVariable </td></tr>
</table></td></tr>
</table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
// Addition
c2 [label=<<table title="Addition" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p">
<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> Addition </td></tr>
</table></td></tr>
</table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
// AfficheurInfixe
c3 [label=<<table title="AfficheurInfixe" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p">
<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> AfficheurInfixe </td></tr>
</table></td></tr>
</table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
// Constante
c4 [label=<<table title="Constante" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p">
<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> Constante </td></tr>
</table></td></tr>
</table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
// ExemplesAffichage
c5 [label=<<table title="ExemplesAffichage" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p">
<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> ExemplesAffichage </td></tr>
</table></td></tr>
</table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
// ExpressionBinaire
c6 [label=<<table title="ExpressionBinaire" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p">
<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> ExpressionBinaire </td></tr>
</table></td></tr>
</table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
// Expression
c7 [label=<<table title="Expression" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p">
<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> Expression </td></tr>
</table></td></tr>
</table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
// ExpressionUnaire
c8 [label=<<table title="ExpressionUnaire" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p">
<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> ExpressionUnaire </td></tr>
</table></td></tr>
</table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
// Multiplication
c9 [label=<<table title="Multiplication" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p">
<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> Multiplication </td></tr>
</table></td></tr>
</table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
// Negation
c10 [label=<<table title="Negation" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p">
<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> Negation </td></tr>
</table></td></tr>
</table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
// OperateurBinaire
c11 [label=<<table title="OperateurBinaire" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p">
<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> OperateurBinaire </td></tr>
</table></td></tr>
</table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
// OperateurUnaire
c12 [label=<<table title="OperateurUnaire" border="0" cellborder="1" cellspacing="0" cellpadding="2" port="p">
<tr><td><table border="0" cellspacing="0" cellpadding="1">
<tr><td align="center" balign="center"> &#171;interface&#187; </td></tr>
<tr><td align="center" balign="center"> OperateurUnaire </td></tr>
</table></td></tr>
</table>>, URL="null", fontname="Helvetica", fontcolor="black", fontsize=10.0];
//AccesVariable implements Expression
c7:p -> c1:p [dir=back,arrowtail=empty,style=dashed];
//Addition implements OperateurBinaire
c11:p -> c2:p [dir=back,arrowtail=empty,style=dashed];
//AfficheurInfixe implements VisiteurExpression<R>
c0:p -> c3:p [dir=back,arrowtail=empty,style=dashed];
//Constante implements Expression
c7:p -> c4:p [dir=back,arrowtail=empty,style=dashed];
//ExpressionBinaire implements Expression
c7:p -> c6:p [dir=back,arrowtail=empty,style=dashed];
// ExpressionBinaire HAS Expression
c6:p -> c7:p [taillabel="1", label="", headlabel="gauche", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=ediamond, dir=both];
// ExpressionBinaire HAS Expression
c6:p -> c7:p [taillabel="1", label="", headlabel="droite", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=ediamond, dir=both];
// ExpressionBinaire COMPOSED OperateurBinaire
c6:p -> c11:p [taillabel="1", label="", headlabel="operateur", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=diamond, dir=both];
//ExpressionUnaire implements Expression
c7:p -> c8:p [dir=back,arrowtail=empty,style=dashed];
// ExpressionUnaire HAS Expression
c8:p -> c7:p [taillabel="1", label="", headlabel="operande", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=ediamond, dir=both];
// ExpressionUnaire COMPOSED OperateurUnaire
c8:p -> c12:p [taillabel="1", label="", headlabel="operateur", fontname="Helvetica", fontcolor="black", fontsize=10.0, color="black", arrowhead=none, arrowtail=diamond, dir=both];
//Multiplication implements OperateurBinaire
c11:p -> c9:p [dir=back,arrowtail=empty,style=dashed];
//Negation implements OperateurUnaire
c12:p -> c10:p [dir=back,arrowtail=empty,style=dashed];
}