/** This program demonstrates how to write a transformer that turns Frink expressions into something that you can cut-and-paste into Java code. Instead of UnitMath, you may change this to something like BigInteger or BigDecimal. At the moment, this doesn't turn Frink's square brackets into Java's parentheses, though. */ symbolicMode[true] transformations UnitMath { _a _b <-> UnitMath.multiply[_a, _b] _a + _b <-> UnitMath.add[_a, _b] } /*equations = parseToExpression[""" [a = n1.a n2.a + n2.b n1.c, // a b = n2.a n1.b + n2.b n1.d, // b c = n1.a n2.c + n1.c n2.d, // c d = n1.b n2.c + n1.d n2.d, // d e = n1.a n2.e + n1.c n2.f + n1.e, // e f = n1.b n2.e + n1.d n2.f + n1.f] // f """]*/ equations = parseToExpression[""" [xp = a x + c y + e, yp = b x + d y + f] """] println[join[";\n",transformExpression[equations]]]