Compiling system, debugging system and program development system
AssigneeMatsushita Electric Industrial Co., Ltd.
InventorsTaketo HEISHI, Ryoko MIYACHI, Shohei MICHIMOTO, Teruo KAWABATA, Yasuhiro YAMAMOTO
Life of this patent
Estimating the term…
Abstract
A compiling system which translates a source program written in a high-level language into a machine language program, and includes a source level optimizer which converts an original source S program into an optimized source program by optimizing the original source program at the source program level, a compiler which converts the optimized source program into the machine language program, and a final debug information selection generation unit which generates final debug information which indicates a corresponding relationship between the original source program and the machine language program.
Claims29
A compiling system for translating a source program into a machine language program, said system comprising:
- a source program conversion unit operable to convert a first source program written in a high-level language into a second source program written in the high-level language, by optimizing the first source program at the source program level;
- a compiling unit operable to convert the second source program into a machine language program;
- and
- a debug information generation unit operable to generate first debug information which indicates a corresponding relationship between the first source program and the machine language program, by referring to a corresponding relationship between the first source program and the second source program and a corresponding relationship between the second source program and the machine language program.
A debugging system for supporting debugging of a machine language program, said system comprising:
- a program execution unit operable to execute a machine language program which is obtained by compiling a second source program written in a high-level language, the second source program being obtained by optimizing a first source program written in the high-level language;
- and
- a debug support unit operable to receive first debug information which indicates a corresponding relationship between the first source program and the machine language program and second debug information which indicates a corresponding relationship between the second source program and the machine language program, by referring to a corresponding relationship between the first source program and the second source program and the corresponding relationship between the second source program and the machine language program, and to support debugging of the machine language program by a user based on the first debug information, the second debug information, and the result of the execution obtained by said program execution unit.
A program development system for developing a machine language program from a source program, said program development system comprising:
- a compiling system for converting a source program into a machine language program;
- and
- a debugging system for supporting debugging of the machine language program,
- wherein said compiling system includes:
- a source program conversion unit operable to convert a first source program written in a high-level language into a second source program written in the high-level language, by optimizing the first source program at the source program level;
- a compiling unit operable to convert the second source program into a machine language program;
- and
- a debug information generation unit operable to generate first debug information which indicates a corresponding relationship between the first source program and the machine language program, by referring to a corresponding relationship between the first source program and the second source program and a corresponding relationship between the second source program and the machine language program, and
- said debugging system includes:
- a program execution unit operable to execute the machine language program which is obtained by compiling the second source program written in the high-level language, the second source program being obtained by optimizing the first source program written in the high-level language;
- and
- a debug support unit operable to receive first debug information which indicates a corresponding relationship between the first source program and the machine language program and second debug information which indicates a corresponding relationship between the second source program and the machine language program, by referring to a corresponding relationship between the first source program and the second source program and the corresponding relationship between the second source program and the machine language program, and to support debugging of the machine language program by a user based on the first debug information, the second debug information, and the result of the execution obtained by said program execution unit,
- said debugging system further includes
- an execution log output unit operable to output an execution log obtained when said program execution unit executes the machine language program,
- said program development system further comprises
- a profiling unit operable to analyze the execution log outputted by said debugging system, and to output profile information which gives a hint on optimization in said compiling system, and
- said source program conversion unit of said compiling system is operable to optimize the first source program based on the profile information.
A compiling method for translating a source program into a machine language program, said method comprising:
- converting a first source program written in a high-level language into a second source program written in the high-level language, by optimizing the first source program at the source program level;
- converting the second source program into a machine language program;
- and
- generating first debug information which indicates a corresponding relationship between the first source program and the machine language program, by referring to a corresponding relationship between the first source program and the second source program and a corresponding relationship between the second source program and the machine language program.
A debug support method for supporting debugging of a machine language program, said method comprising:
- executing a machine language program which is obtained by compiling a second source program written in a high-level language, the second source program being obtained by optimizing a first source program written in the high-level language;
- and
- receiving first debug information which indicates a corresponding relationship between the first source program and the machine language program and second debug information which indicates a corresponding relationship between the second source program and the machine language program, by referring to a corresponding relationship between the first source program and the second source program and the corresponding relationship between the second source program and the machine language program, and supporting debugging of the machine language program by a user based on the first debug information, the second debug information, and the result of the execution obtained in said executing of the machine language program.
A program development method for developing a machine language program from a source program, said program development method comprising:
- a compiling method;
- and
- a debug support methods
- wherein said compiling method is a compiling method for translating a source program into a machine language program, and includes:
- converting a first source program written in a high-level language into a second source program written in the high-level language, by optimizing the first source program at the source program level;
- converting the second source program into a machine language program;
- and
- generating first debug information which indicates a corresponding relationship between the first source program and the machine language program, by referring to a corresponding relationship between the first source program and the second source program and a corresponding relationship between the second source program and the machine language program,
- said debug support method is a debug support method for supporting debugging of the machine language program, and includes:
- executing the machine language program which is obtained by compiling the second source program written in the high-level language, the second source program being obtained by optimizing the first source program written in the high-level language;
- and
- receiving first debug information which indicates the corresponding relationship between the first source program and the machine language program and second debug information which indicates the corresponding relationship between the second source program and the machine language program, by referring to the corresponding relationship between the first source program and the second source program and the corresponding relationship between the second source program and the machine language program, and supporting debugging of the machine language program by a user based on the first debug information, the second debug information, and the result of the execution obtained in said executing of the machine language program,
- said debug support method further includes
- outputting an execution log obtained when the machine language program is executed,
- said program development system further comprises
- analyzing the execution log, and outputting profile information which gives a hint on optimization in said compiling method, and
- in said converting of the first source program into the second source program in said compiling method, the first source program is optimized based on the profile information.
A program for translating a source program into a machine language program, said program causing a computer to execute:
- converting a first source program written in a high-level language into a second source program written in the high-level language, by optimizing the first source program at the source program level;
- converting the second source program into a machine language program;
- and
- generating first debug information which indicates a corresponding relationship between the first source program and the machine language program, by referring to a corresponding relationship between the first source program and the second source program and a corresponding relationship between the second source program and the machine language program.
A program for supporting debugging of a machine language program, said program causing a computer to execute:
- executing a machine language program which is obtained by compiling a second source program written in a high-level language, the second source program being obtained by optimizing a first source program written in the high-level language;
- and
- receiving first debug information which indicates a corresponding relationship between the first source program and the machine language program and second debug information which indicates a corresponding relationship between the second source program and the machine language program, by referring to a corresponding relationship between the first source program and the second source program and the corresponding relationship between the second source program and the machine language program, and supporting debugging of the machine language program by a user based on the first debug information, the second debug information and the result of the execution obtained in said executing of the machine language program.
A development program for developing a source program from a machine language program, said development program causing a computer to execute:
- a program for translating a source program into a machine language program;
- and
- a program for supporting debugging of the machine language program,
- wherein said program for translating the source program into the machine language program causes the computer to execute:
- converting a first source program written in a high-level language into a second source program written in the high-level language, by optimizing the first source program at the source program level;
- converting the second source program into the machine language program;
- and
- generating first debug information which indicates a corresponding relationship between the first source program and the machine language program, by referring to a corresponding relationship between the first source program and the second source program and a corresponding relationship between the second source program and the machine language program,
- said program for supporting debugging of the machine language program causes the computer to execute:
- executing the machine language program which is obtained by compiling the second source program written in the high-level language, the second source program being obtained by optimizing the first source program written in the high-level language;
- and
- receiving first debug information which indicates the corresponding relationship between the first source program and the machine language program and second debug information which indicates a corresponding relationship between the second source program and the machine language program, by referring to the corresponding relationship between the first source program and the second source program and the corresponding relationship between the second source program and the machine language program, and supporting debugging of the machine language program by a user based on the first debug information, the second debug information and the result of the execution obtained in said executing of the machine language program,
- said program for supporting debugging of the machine language program further causes the computer to execute
- outputting an execution log obtained when the machine language program is executed,
- said development program further causes the computer to execute
- analyzing the execution log, and outputting profile information which gives a hint on optimization for causing the computer to execute said program for translating the source program into the machine language program, and
- in said converting of the first source program into the second source program executed by the computer in said program for translating the source program into the machine language program, the first source program is optimized based on the profile information.
Dependencies are inferred from the claim text.