Patent US5640568A successfully refreshed from Google Patents.
US5640568A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Inline expansion method for programming languages having array functions
Assignee: International Business Machines Corp
•
Filing: 1994-11-22
•
Granted: 1997-06-17
•
Expires: 2014-11-22
Abstract
Abstract To provide inline expansion universally applicable to a variety of formulas as combinations of array functions and array operations with a programming language such as APL or FORTRAN 90 having array functions, without the need to prepare individual templates or macros. In the method of the present invention, a transformational intrinsic function (TIF) formula is analyzed during compilation and a template for inline expansion is generated. The template for inline expansion is mapped to an actual array, and macro-processing is used in generating the template. According to this method, an arbitrary combination of TIFs can be inline-expanded by simply preparing one macro-template for each TIF.
Inventors
- 👤 Hideaki Komatsu
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-06 23:32
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F8/41; G06F8/42; G06F8/423; G06F8/44; G06F8/443; G06F8/4441
Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
95 words
In a computer system having a compiler for generating an object code from a source code, said computer having a processor and a storage means, a method for inline expansion, in said compiler, for a programming language having array functions, comprising the steps of: (a) converting, using said compiler, said array functions into virtual arrays, said converting step includes macro-expansion of said array functions and generating mapping functions from said virtual arrays to actual arrays; (b) inline-expanding said virtual arrays; and (c) inversely converting said inline-expanded virtual arrays into actual arrays using said mapping functions.
Claim 2
Dependent Claim
95 words
In a computer system having a compiler for generating an object code from a source code, said computer having a processor and a storage means, a method for inline expansion, in said compiler, for a programming language having array functions, comprising the steps of: (a) converting, using said compiler, said array functions into virtual arrays, said converting step includes macro-expansion of said array functions and generating mapping functions from said virtual arrays to actual arrays; (b) inline-expanding said virtual arrays; and (c) inversely converting said inline-expanded virtual arrays into actual arrays using said mapping functions.
Claim 3
Dependent Claim
24 words
An inline expansion method as recited in claim 1, wherein said programming language is Fortran 90 and said array functions are transformational intrinsic functions.
Claim 4
Dependent Claim
19 words
An inline expansion method as recited in claim 2, wherein said transformational intrinsic functions are SPREAD or CSHIFT functions.
Claim 5
Dependent Claim
24 words
An inline expansion method as recited in claim 1, wherein said programming language is Fortran 90 and said array functions are reduction intrinsic functions.
Claim 6
Dependent Claim
18 words
An inline expansion method as recited in claim 4, wherein said reduction intrinsic function is a MERGE function.
Claim 7
Dependent Claim
26 words
An inline expansion method as recited in claim 1, wherein said inversely converting step is performed by using macrotemplates generated by analyzing individual transformational intrinsic functions.
Claim 8
Dependent Claim
183 words
In a computer system having a compiler for generating an object code from a source code, said computer having a processor and a storage means, a method for inline expansion, in said compiler, for a programming language having array functions, comprising the steps of: (a) creating, using said compiler, for individual array function, a function for converting said individual array function to a virtual array and a function for generating a macro-template based on a transformational intrinsic function or reduction intrinsic function in said source code; (b) finding, using said compiler, a formula included in said individual array function in said source code; (c) converting said formula to a formula included in said virtual array using a function for converting said formula to a formula in said virtual array; (d) generating a macro-template for converting said virtual array to an actual array based on said transformational intrinsic function or reduction intrinsic function in said source code; (e) inline-expanding said formula included in said virtual array; and (f) inversely converting said virtual array in said inline-expanded formula to said actual array using said macro-template.
Claim 9
Dependent Claim
183 words
In a computer system having a compiler for generating an object code from a source code, said computer having a processor and a storage means, a method for inline expansion, in said compiler, for a programming language having array functions, comprising the steps of: (a) creating, using said compiler, for individual array function, a function for converting said individual array function to a virtual array and a function for generating a macro-template based on a transformational intrinsic function or reduction intrinsic function in said source code; (b) finding, using said compiler, a formula included in said individual array function in said source code; (c) converting said formula to a formula included in said virtual array using a function for converting said formula to a formula in said virtual array; (d) generating a macro-template for converting said virtual array to an actual array based on said transformational intrinsic function or reduction intrinsic function in said source code; (e) inline-expanding said formula included in said virtual array; and (f) inversely converting said virtual array in said inline-expanded formula to said actual array using said macro-template.
Claim 10
Dependent Claim
42 words
An inline expansion method as recited in claim 7, wherein said function for converting said individual array function to said virtual array includes a function determining said virtual array dimensions and making said virtual array indices and indices for corresponding actual array.
Claim 11
Dependent Claim
88 words
An inline expansion method as recited in claim 7, further comprising the step of generating, in response to the existence of nested array functions, macro-templates for nested array functions, and generating, as a result, said macro-templates to be used for inversely converting the virtual array in said inline expanded formula to said actual array by sequentially applying a macro-template generated for an array function occupying an inside position in a nested structure to a macro-template generated for an array function occupying an outside position in said nested structure.
Claim 12
Dependent Claim
90 words
An inline expansion method as recited in claim 7, further comprising the step of generating, in response to the existence of said nested array functions, macro-templates for respective said nested array functions, and generating, as a result, macro-templates to be used for inversely converting said virtual array in said inline expanded formula to said actual array by sequentially applying a macro-template generated for an array function occupying an outside position in said nested structure to a macro-template generated for an array function occupying an inside position in said nested structure.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-06-16 | 2000-12-16 | 2001-06-17 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-06-16 | 2004-12-16 | 2005-06-17 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-06-16 | 2008-12-16 | 2009-06-17 | $7700.00 | Window Closed / Lapsed |