An operator definition file 102 and the like included in a source program
101 and a compiler 100 that translates the source program 101 into a
machine language program 105 are provided. The operator definition file
102 includes definitions of various fixed point type operators by class
definitions. The compiler 100 can generate effectively advanced and
specific instructions that a processor executes and make improvements
through expanding functions and the like without repeating frequently
upgrading of the version of the compiler itself. The compiler 100 is made
up of an intermediate code generation unit 121 that generates
intermediate codes, a machine language instruction substitution unit 122
that substitutes the intermediate codes referring to classes defined by
the operator definition file 102 with machine language instructions and
an optimization unit 130 that performs optimization targeting the
intermediate codes including the substituted machine language
instructions.