public String interpret(Symtab st) {
		String result = "";
		if (oa != null) {
			//SymtabEntry id1Entry = st.lookup(oa.getID1().toString());
			//struct interpretation
	    	if (!oa.getObjectType(st).equals("message")) {
	    		result += oa.toString() + " = ";
	    		result += parlist.interpret();
	    		result += ";\n";
	    	//message interpretation
	    	} else {
	    		if (oa.oa == null) {
	    			result += oa.getID1() + " = " + oa.getID1() + "." + "replace(\"*" + oa.getID2() + "*\", ";
	    			result += parlist.interpretWC(st);
	    			result += ");\n";
	    		} else {
	    			result += oa.oa.toString() + " = " + oa.oa.toString() + "." + "replace(\"*" + oa.getID2() + "*\", ";
	    			result += parlist.interpretWC(st);
	    			result += ");\n";
	    		}
	    	}
		} else {
			String type = st.lookup(ident.toString()).getType();
			if (parlist != null) {
				if (st.lookup(type.toString()) == null) {
					result += ident.toString() + " = ";
					result += parlist.interpret();
					result += ";\n";
				} else {
					result += ident.toString() + " = new "
							+ type.toString() + "(";
					result += parlist.interpret();
					result += ");\n";
				}
			}
		}
		return result;
	}