return "@"+exp.nameClass.toString()+"<"+exp.exp.visit(this)+">";
}
private Object optional( Expression exp ) {
if( exp instanceof OneOrMoreExp ) {
OneOrMoreExp ome = (OneOrMoreExp)exp;
if( isComplex(ome.exp) ) return "("+ome.exp.visit(this)+")*";
else return ome.exp.visit(this)+"*";
} else {
if( isComplex(exp) ) return "("+exp.visit(this)+")?";
else return exp.visit(this)+"?";