static Lisp snlQuestionMarksToBack(Lisp tree) { if (tree == null || tree.size() == 0) ret tree; if (tree.isA("<") && tree.get(0).is("?", ".")) ret lisp("* " + tree.get(0).head, snlQuestionMarksToBack(tree.get(1))); // recurse Lisp lisp = new Lisp(tree.head); for (Lisp child : tree) lisp.add(snlQuestionMarksToBack(child)); ret lisp; }