prod1 = Production(ul.terminatorKLabel, Sort(ul.sort.name() + "#Terminator", ul.sort.params()), Seq(Terminal("")),
newAtts.remove("format").add(Constants.ORIGINAL_PRD, Production.class, ul.pTerminator));
prod2 = Production(ul.klabel, Sort("Ne#" + ul.sort.name(), ul.sort.params()),
Seq(NonTerminal(ul.childSort), Terminal(ul.separator), NonTerminal(Sort("Ne#" + ul.sort.name(), ul.sort.params()))),
newAtts.add(Constants.ORIGINAL_PRD, Production.class, ul.pList));
prod3 = Production(ul.klabel, Sort("Ne#" + ul.sort.name(), ul.sort.params()),
Seq(NonTerminal(ul.childSort), Terminal(""), NonTerminal(Sort(ul.sort.name() + "#Terminator", ul.sort.params()))),
newAtts.add(Constants.ORIGINAL_PRD, Production.class, ul.pList));
prod4 = Production(ul.sort, Seq(NonTerminal(Sort("Ne#" + ul.sort.name(), ul.sort.params()))));
prod5 = Production(ul.sort, Seq(NonTerminal(Sort(ul.sort.name() + "#Terminator", ul.sort.params()))));
res.add(prod3);
res.add(prod4);
res.add(SyntaxSort(Sort(ul.sort.name() + "#Terminator", ul.sort.params())));
res.add(SyntaxSort(Sort("Ne#" + ul.sort.name(), ul.sort.params())));
if (!ul.nonEmpty) {
res.add(prod5);