A computer program for constructing a 2 N -branch nodeless Huffman tree and compressing an object file, that causes a computer to execute: tabulating a number of character data types for each compression code length derived from an occurrence probability corresponding to an appearance rate of each character data appearing in the object file, wherein the number of character data types is the number of types of single characters, basic words and reserved words; determining an upper limit length N of compression code length assigned to the character data, among compression code lengths from a minimum compression code length to a maximum compression code length, which is higher than an integer K, and based on the total number of character data types, wherein the upper limit length N is K bits if the total number of character data types is greater than 2 K-1 and equal to or less than 2 K; correcting the number of character data types tabulated at the tabulating for the upper limit length N determined at the determining, to the sum of the numbers of character data types for the compression code lengths equal to or greater than the upper limit length N and less than or equal to the maximum compression code length; generating a leaf structure by correlating character data, a compression code length thereof and a compression code having the compression code length; generating, for each leaf, a pointer to the leaf connecting the compression code to a bit string representative of a branch number; constructing a 2 N -branch nodeless Huffman tree using the pointers as a root, with a maximum branch number defined as the upper limit length N and leaves that are compression codes having compression code lengths corresponding to respective occurrence probabilities of the character data, based on the numbers of character data types for the respective compression code lengths after the correction at the correcting; and compressing the object file using the 2 N -branch nodeless Huffman tree. tabulating a number of character data types for each compression code length derived from an occurrence probability corresponding to an appearance rate of each character data appearing in the object file, wherein the number of character data types is the number of types of single characters, basic words and reserved words; determining an upper limit length N of compression code length assigned to the character data, among compression code lengths from a minimum compression code length to a maximum compression code length, which is higher than an integer K, and based on the total number of character data types, wherein the upper limit length N is K bits if the total number of character data types is greater than 2 K-1 and equal to or less than 2 K; correcting the number of character data types tabulated at the tabulating for the upper limit length N determined at the determining, to the sum of the numbers of character data types for the compression code lengths equal to or greater than the upper limit length N and less than or equal to the maximum compression code length; generating a leaf structure by correlating character data, a compression code length thereof and a compression code having the compression code length; generating, for each leaf, a pointer to the leaf connecting the compression code to a bit string representative of a branch number; constructing a 2 N -branch nodeless Huffman tree using the pointers as a root, with a maximum branch number defined as the upper limit length N and leaves that are compression codes having compression code lengths corresponding to respective occurrence probabilities of the character data, based on the numbers of character data types for the respective compression code lengths after the correction at the correcting; and compressing the object file using the 2 N -branch nodeless Huffman tree.