I have a relatively complex first order logic language, which I'd like to convert / generate into a simpler language, which then can be textgen'd into prolog code.
I have a Constant in my input language, and an Atom in my output language. And I simply want to convert this constant into an atom in the sense that the name of the atom should be the name of the constant.
Constant in my input language (ADeclarable is a simple abstract concept which implements INamedConcept):
Atom in my other language:
And the reduction rule:
The problem is that I can't figure out how to insert a property macro (which is what I need, I think). Is a reduction rule even the right type of rule for this? It's frustrating because in the Smodel language I'd just create a new atom node, say atom.name = constant.name and be done with it...
TL;DR: My question: How can I set a property in the output node to a property from the input node?