Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
219 words
A computer-implemented method for translating an array variable function F in a source program to obtain executable object code, said array variable function F providing in one or more enclosing DO-loops the transformation of a first array variable A having one or more subscripts {a i } into a second array variable B=F(A) having one or more subscripts {b i }, wherein i is a non-zero positive integer, said method comprising the steps of: creating a subscript table ST A relating said subscripts {a i } to said enclosing DO-loops for said first array variable A; (b) transforming said subscript table ST A according to a first transform operator to create a subscript map SM A relating an enclosing DO-loops to a plurality of final scalarized DO-loops; (c) transforming said subscript map SM A according to a mapping rule R F to create a new subscript map SM' A ; and (d) combining said new subscript map SM' A and said subscript table ST A to create a new subscript table ST' A relating said subscripts {a i } to said plurality of final scalarized DO-loops, wherein said new subscript table ST' A represents a final subscript table ST B relating said subscripts {b i } to said plurality of final scalarized DO-loops for said second array variable B.
Claim 2
Dependent Claim
219 words
A computer-implemented method for translating an array variable function F in a source program to obtain executable object code, said array variable function F providing in one or more enclosing DO-loops the transformation of a first array variable A having one or more subscripts {a i } into a second array variable B=F(A) having one or more subscripts {b i }, wherein i is a non-zero positive integer, said method comprising the steps of: creating a subscript table ST A relating said subscripts {a i } to said enclosing DO-loops for said first array variable A; (b) transforming said subscript table ST A according to a first transform operator to create a subscript map SM A relating an enclosing DO-loops to a plurality of final scalarized DO-loops; (c) transforming said subscript map SM A according to a mapping rule R F to create a new subscript map SM' A ; and (d) combining said new subscript map SM' A and said subscript table ST A to create a new subscript table ST' A relating said subscripts {a i } to said plurality of final scalarized DO-loops, wherein said new subscript table ST' A represents a final subscript table ST B relating said subscripts {b i } to said plurality of final scalarized DO-loops for said second array variable B.
Claim 3
Dependent Claim
15 words
The method of claim 1 wherein said first transform operator is a unitary operator .
Claim 4
Dependent Claim
20 words
The method of claim 2 wherein said mapping rule R F is selected responsive to said array variable function F.
Claim 5
Dependent Claim
17 words
The method of claim 3 wherein said source program conforms to the Fortran 90 programming language standard.
Claim 6
Dependent Claim
20 words
The method of claim 1 wherein said mapping rule R F is selected responsive to said array variable function F.
Claim 7
Dependent Claim
326 words
A computer-implemented compiling system for translating a source program into executable object code, wherein said source program includes one or more array variable transform functions F each providing in one or more enclosing DO-loops a transformation of a first array variable A having one or more subscripts {a i } into a second array variable B having one or more subscripts {b i }, wherein i is a non-zero positive integer, said compiling system comprising: memory means for storing said source program and said executable object code; parser means coupled to said memory means for detecting each said array variable transform function F operating on said first array variable A in said source program; scalarizer means coupled to said parser means for identifying said one or more enclosing DO-loops implied by said each array variable transform function F; correlator means coupled to said scalarizer means for creating a subscript table ST A relating said one or more enclosing DO-loops to said subscripts {a i } for said first array variable A within said each array variable transform function F; first transform means for transforming said subscript table ST A according to a first transform operator to create a subscript map SM A relating said enclosing DO-loops to a plurality of final scalarized DO-loops; second transform means coupled to said first transform means for transforming said subscript map SM A according to a mapping rule R F to create a new subscript map SM' A ; and combining means coupled to said second transform means and said scalarizer means for combining said new subscript map SM' A and said subscript table ST A to create a new subscript table ST' A relating said subscripts {a i } to said plurality of final scalarized DO-loops, wherein said new subscript table ST' A represents a final subscript table ST B relating said subscripts {b i } for said second array variable B to said plurality of final scalarized DO-loops.
Claim 8
Dependent Claim
326 words
A computer-implemented compiling system for translating a source program into executable object code, wherein said source program includes one or more array variable transform functions F each providing in one or more enclosing DO-loops a transformation of a first array variable A having one or more subscripts {a i } into a second array variable B having one or more subscripts {b i }, wherein i is a non-zero positive integer, said compiling system comprising: memory means for storing said source program and said executable object code; parser means coupled to said memory means for detecting each said array variable transform function F operating on said first array variable A in said source program; scalarizer means coupled to said parser means for identifying said one or more enclosing DO-loops implied by said each array variable transform function F; correlator means coupled to said scalarizer means for creating a subscript table ST A relating said one or more enclosing DO-loops to said subscripts {a i } for said first array variable A within said each array variable transform function F; first transform means for transforming said subscript table ST A according to a first transform operator to create a subscript map SM A relating said enclosing DO-loops to a plurality of final scalarized DO-loops; second transform means coupled to said first transform means for transforming said subscript map SM A according to a mapping rule R F to create a new subscript map SM' A ; and combining means coupled to said second transform means and said scalarizer means for combining said new subscript map SM' A and said subscript table ST A to create a new subscript table ST' A relating said subscripts {a i } to said plurality of final scalarized DO-loops, wherein said new subscript table ST' A represents a final subscript table ST B relating said subscripts {b i } for said second array variable B to said plurality of final scalarized DO-loops.
Claim 9
Dependent Claim
17 words
The computer-implemented compiling system of claim 6 wherein said first transform operator is a unitary operator .
Claim 10
Dependent Claim
23 words
The computer-implemented compiling system of claim 7 wherein said mapping rule R F is selected in response to said array variable function F.
Claim 11
Dependent Claim
19 words
The computer-implemented compiling system of claim 8 wherein said source program conforms to a Fortran 90 programming language standard.
Claim 12
Dependent Claim
19 words
The computer-implemented compiling system of claim 6 wherein said source program conforms to a Fortran 90 programming language standard.