Suppose we have the following program:
We cannot currently construct Metamorpher terms to match this program using the Ruby builder:
require "metamorpher"
built = Metamorpher.builder.build("net * VAT") # => send(send(, net), *, VAT)
built.children.last # => VAT
built.children.last.class #= > Metamorpher::Terms::Variable
This is because all uppercase constants are treated as variables, but in this case we wish to treat VAT as a literal.