Source to source translation is a very useful part in modern advanced compiler. It translates one programing language to another, which is equal in semantic and can be compiled again. Currently, source to source translation model of the latest Open64 version 5.0 is not consummate. It has to deal with the following two problems in source to source translation model. One problem is now it can't support dynamic array translation in Fortran90, the other problem is intermediate representation contains pseudo-register after aggressive optimizing. After translation process and intermediate representation were researched, information preservation mechanism was introduced to solve the translation problem of dynamic array and pseudo-register. Test results prove that the method can greatly improve the robustness of the source to source translation in Open64.