Avoiding gather and scatter when calling Fortran 77 code from Fortran 90 code
First Claim
1. A method performed in a data processing system by a subprogram written in a first programming language, the method comprising:
- receiving a parameter in a form suitable for the first programming language;
converting the parameter to a form suitable for a second programming language that is different from the first programming language, where the form suitable for the second programming language prevents a compiler from generating code to gather the parameter when the subprogram is compiled by the compiler; and
invoking another subprogram written in the second programming language and passing the parameter in the form suitable for the second programming language.
2 Assignments
0 Petitions
Accused Products
Abstract
In accordance with methods and systems consistent with the present invention, a system that automatically generates Fortran 90 interfaces to Fortran 77 code is provided. These interfaces provide for the use of optional parameters and, because they are written in Fortran 90, also allow for parameter checking. These interfaces are automatically generated to allow a programmer to reap the benefits of Fortran 90 calling without having to rewrite the Fortran 77 underlying code. When generating the interfaces, the method performs an optimization that saves a significant amount of processing time as well as a significant amount of memory. This optimization involves generating the interfaces in such a way as to prevent the compiler from performing a gather and a scatter.
-
Citations
24 Claims
-
1. A method performed in a data processing system by a subprogram written in a first programming language, the method comprising:
-
receiving a parameter in a form suitable for the first programming language;
converting the parameter to a form suitable for a second programming language that is different from the first programming language, where the form suitable for the second programming language prevents a compiler from generating code to gather the parameter when the subprogram is compiled by the compiler; and
invoking another subprogram written in the second programming language and passing the parameter in the form suitable for the second programming language. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method performed in a data processing system containing a program written in a first programming language to perform the method, the method comprising:
-
expressing a parameter written in a form suitable for the first programming language in a form suitable for a second programming language that is different from the first programming language, where the form suitable for the second programming language prevents a compiler during compilation from generating code to gather the parameter; and
invoking code written in the second programming language using the parameter in the form suitable to the second programming language. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer-readable medium containing instructions for controlling a data processing system containing a subprogram written in a first programming language to perform a method, the method comprising:
-
receiving a parameter in a form suitable for the first programming language;
converting the parameter to a form suitable for a second programming language that is different from the first programming language, where the form suitable for the second programming language prevents a compiler from generating code to gather the parameter when the subprogram is compiled by the compiler; and
invoking another subprogram written in the second programming language and passing the parameter in the form suitable for the second programming language. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A computer-readable medium containing instructions for controlling a data processing system containing a program written in a first programming language to perform a method, the method comprising:
-
expressing a parameter written in a form suitable for the first programming language in a form suitable for a second programming language that is different from the first programming language, where the form suitable for the second programming language prevents a compiler during compilation from generating code to gather the parameter; and
invoking code written in the second programming language using the parameter in the form suitable to the second programming language. - View Dependent Claims (20, 21, 22, 23, 24)
-
Specification