1. A program processing device for inputting therein a parallel processing program with a thread description added thereto; partitioning the program into threads; and generating execution codes for a multi-processor system having a plurality of processors, using the threads, the program processing device comprising: a storage unit; and a processing unit, the processing unit comprising: a syntax analysis unit for identifying a starting point and an end point of each thread in the parallel processing program inputted in the storage unit, using a reserved keyword or a symbol; and generating an intermediate language, in which a thread attribute of the each thread is added to each operation instruction included in a thread area specified by the starting point and the end point; a data dependency extraction unit for inputting therein the intermediate language; extracting an instruction block input/output data from the intermediate language; and generating, based on the instruction block input/output data, single data dependency edge information including information on a single data dependency, which is a dependency of a data generated or referenced by a single operation instruction, information on a data structure dependency, which is a dependency of a data between instructions acting on the data structure, and information on a pointer alias data dependency, which is a dependency of a data between instructions acting on a pointer reference data; an inter-thread data dependency extraction unit for inputting therein the intermediate language and the data dependency edge information; extracting, from the intermediate language, an data dependency edge for connecting a thread with another thread, and a thread output data generation instruction and a thread input reference instruction each corresponding to the data dependency edge, based on the data dependency edge information; and generating inter-thread data dependent instruction pair information; a pointer communication auxiliary instruction generation unit for inputting therein the intermediate language; extracting a pointer data from the data dependency edge for connecting between different threads; inserting a pointer alias ID computing instruction just prior to an instruction for defining the pointer data of the intermediate language; and generating a first program; an inter-thread data communication instruction insertion unit for inputting therein the first program and the inter-thread data dependent instruction pair information; inserting an inter-thread data transfer instruction just subsequent to the thread output data generation instruction in the first program, based on the inter-thread data dependent instruction pair information; inserting an inter-thread data reception synchronization instruction just prior to the thread input data reference instruction in the first program, based on the inter-thread data dependent instruction pair information; inserting a thread start-up instruction at a branch instruction, on which a thread of interest is control-dependent, or at a function entrance; and generating a second program; and a program partition/code generation unit for inputting therein the second program; partitioning the second program into threads, based on the thread attribute of each instruction; and converting the each thread into an execution code.