Program converting methods, apparatus and systems including a code
analysis unit for performing lexical and syntactic analyses of a source
code of an execution program, an optimization unit for transforming this
execution program, and an output code generation unit for converting the
transformed execution program into a machine language code. In addition,
this optimization unit detects a calling procedure and a called procedure
in a procedure call of this execution program analyzed by the code
analysis unit, guards an evaluation of an argument described in the
called procedure under a predetermined evaluation condition, and
transforms the execution program so that the evaluation is performed when
referring to this argument.