print("gdn_send(" + INT_HEADER_WORD + ");\n"); print("gdn_send(");
print("print_int(");
    public void visitPrintStatement(SIRPrintStatement self,                                    JExpression exp)    {	CType type = null;		try {	    type = exp.getType();	}	catch (Exception e) {	    System.err.println("Cannot get type for print statement");	    type = CStdType.Integer;	}	    	if (type.equals(CStdType.Boolean))	    {		Utils.fail("Cannot print a boolean");	    }	else if (type.equals(CStdType.Byte) ||		 type.equals(CStdType.Integer) ||		 type.equals(CStdType.Short))	    {		//print("print_int(");		print("gdn_send(" + INT_HEADER_WORD + ");\n");		print("gdn_send(");		exp.accept(this);		print(");");	    }	else if (type.equals(CStdType.Char))	    {		//print("print_int(");		print("gdn_send(" + INT_HEADER_WORD + ");\n");		print("gdn_send(");		exp.accept(this);		print(");");	    }	else if (type.equals(CStdType.Float))	    {		//print("print_float(");		print("gdn_send(" + FLOAT_HEADER_WORD + ");\n");		print("gdn_send(");		exp.accept(this);		print(");");	    }        else if (type.equals(CStdType.Long))	    {		//print("print_int(");		print("gdn_send(" + INT_HEADER_WORD + ");\n");		print("gdn_send(");		exp.accept(this);		print(");");	    }       else	    {		System.out.println("Unprintatble type");		print("print_int(");		exp.accept(this);		print(");");		//Utils.fail("Unprintable Type");	    }    }