GraphvizでUML
なんか課題でUML書きたかった。
eps形式で出せる。
digraph uml{ node [shape=record]; graph [labeljust = r]; MathExpressionInterface [label = <{<<Interface>> <BR/> MathExpressionInterface | |+int evaluate()}>]; MathExpression [label = <{<I>MathExpression</I> | | }>]; IntegerConstant [label =<{IntegerConstant |+int number |+String toString()}>]; BinaryOperator [label=<{<I>BinaryOperator</I> |+String opSymbol<BR/> +MathExpression left,right |+int evaluate(int,int)<BR/> +String toString()}>]; Plus [label=<{Plus||}>]; Minus [label=<{Minus||}>]; Mult [label=<{Mult||}>]; Div [label=<{Div||}>]; UnaryOperator [label=<{<I>UnaryOperator</I> |+String opSymbol<BR/> +MathExpression argument |+int evaluate(int)<BR/> +String toString()}>]; Prime [label=<{Prime |+int maxIndex<BR/> +ArrayList<Integer> primes |}>]; Fibonacci [label=<{Fibonacci |+int maxIndex<BR/> +int fiblen<BR/> +ArrayList<Integer> fibonacci |}>]; NaryOperator [label=<{<I>NaryOperator</I> |+String opSymbol<BR/> +ArrayList<MathExpression> arguments |+int evaluate(ArrayList<Integer>)<BR/> +String toString()}>]; Max [label=<{Max||}>]; Min [label=<{Min||}>]; Average [label=<{Average||}>]; Gcd [label=<{Gcd | |+int gcd(int,int)<BR/> +int gcd(ArrayList<Integer>) }>]; Lcm [label=<{Lcm | |+int lcm(int,int)<BR/> +int lcm(ArrayList<Integer>) }>]; MathExpressionInterface -> MathExpression; MathExpression -> IntegerConstant; MathExpression -> BinaryOperator; BinaryOperator -> Plus; BinaryOperator -> Minus; BinaryOperator -> Mult; BinaryOperator -> Div; MathExpression -> UnaryOperator; UnaryOperator -> Prime; UnaryOperator -> Fibonacci; MathExpression -> NaryOperator; NaryOperator -> Max; NaryOperator -> Min; NaryOperator -> Average; NaryOperator -> Gcd; NaryOperator -> Lcm; }
左揃えとかにしたいんだけど、よくわからんかった。