Hello, I couldn't find anything about this (important) subject in the archives. My problem is that I want to use an ADF with a single argument and that argument should not be a terminal but a function; i.e. a subtree. I'm sure ECJ has this functionality. However, I've been trying for half a day now without succes. The problem, as far as I understand it, is hardcoded into ECJ. More specifically in the class ADFArgument: // make sure we don't have any children... if (children.length!= 0) state.output.error("Incorrect number of children for ADF Argument terminal -- should be 0. Check the constraints.",base,def); These lines of code checks whether the argument has 0 children, i.e. it checks whether the argument is a terminal. I've tried removing these lines of code however I run into other problems. Anyone can help me? Best regards, Eric.