← Back to Patent Explorer
US4807126A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for converting a source program having a loop including a control statement into an object program

Assignee: Hitachi Ltd
•
Filing: 1987-02-10
•
Granted: 1989-02-21
•
Expires: 2007-02-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for converting a source program having a loop including a control statement into an object program including the steps of detecting from the statements of a first loop of a source program a control statement (an inductive control statement) having a control expression; detecting based on the control expression a turning form indicating whether a change of a turning number representing a loop iteration count indicates changes from values for a successful branch to values for an unsuccessful branch or vice versa and a turning point type indicating whether the turning number is an initial iteration count, a final iteration count, or an intermediate iteration count of the first loop; generating a string of statements having a loop not including the control statement and generating an execution result identical to an execution result of the first loop based on the first loop, the turning number, the turning form and the turning point type detected on the control statement; and converting the generated string of statements into an object code.

Inventors

  • 👤 Shizuo Gotou
  • 👤 Yasusi Kanada
  • 👤 Kyoko Iwasawa

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 23:35
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/40; G06F8/41; G06F8/44; G06F8/443

Claims Analysis

Total Claims: 4
Claim 1
Independent Claim 264 words
A method executed by a machine for inverting a source program having a first loop including a plurality of statements which are written in a high level language and are repetitiously executed into an object program for a digital computer comprising the following steps of: (a) detecting from said statements of said first loop of said source program a control statement (an inductive control statement ) having a control expression specifying variables constituted from a linear function C 1 n+C 2 of a loop iteration count n, said variables being to be judged for a branch, where C 1 and C 2 are constants, loop invariant variables, or functions thereof; (b) detecting based on said control expression a turning form indicating whether a change of a turning number representing a loop iteration count for which a variable of said control expression of said detect ed control statement and a change of a value of said control expression indicates changes from values for a successful branch to values for an unsuccessful branch or vice verse and a turning point type indicating whether said turning number is an initial iteration count, a final iteration count, or an intermediate iteration count of said first loop (c) generating a string of statements having a loop not including said control statement and generating an execution result identical to an execution result of said first loop based on said first loop and said turning number, said turning form, and said turning point type detected on said control statement; and (d) converting said generated string of statements into an object code.
Claim 2
Independent Claim 264 words
A method executed by a machine for inverting a source program having a first loop including a plurality of statements which are written in a high level language and are repetitiously executed into an object program for a digital computer comprising the following steps of: (a) detecting from said statements of said first loop of said source program a control statement (an inductive control statement ) having a control expression specifying variables constituted from a linear function C 1 n+C 2 of a loop iteration count n, said variables being to be judged for a branch, where C 1 and C 2 are constants, loop invariant variables, or functions thereof; (b) detecting based on said control expression a turning form indicating whether a change of a turning number representing a loop iteration count for which a variable of said control expression of said detect ed control statement and a change of a value of said control expression indicates changes from values for a successful branch to values for an unsuccessful branch or vice verse and a turning point type indicating whether said turning number is an initial iteration count, a final iteration count, or an intermediate iteration count of said first loop (c) generating a string of statements having a loop not including said control statement and generating an execution result identical to an execution result of said first loop based on said first loop and said turning number, said turning form, and said turning point type detected on said control statement; and (d) converting said generated string of statements into an object code.
Claim 3
Dependent Claim 144 words
A method according t o claim 1, wherein said step (c) includes the following steps of: generating a second string of statements from said first loop when a first inductive control statement which turns at a first iteration count or a last iteration count of said first loop and a second inductive control statement which turns at an intermediate iteration count are both detected in said step (a), said second string of statements having a second loop including said second inductive statement and not including said first inductive control statement and bringing forth a result identical to an execution result of said first loop; generating from said second string of statements a third string of statements which has two third loops not including said first and second inductive control statements and which brings forth an execution result identical to said second string of statements.
Claim 4
Dependent Claim 134 words
A method according to claim 1 wherein said step (c) includes the following steps of: generating a first string of statements from said first loop when a plurality of inductive control statements each turning at an intermediate iteration count in said first loop are detected in said step (a), said first string of statements having a loop not including an inductive control statement with a minimum turning number; generating a second string of statements from said first string of statements, said second string of statements not including an inductive control statement with a second minimum turning number; and sequentially generating loops each not including an inductive control statement with a turning number which is next greater than a turning number of an inductive control statement not included in a loop preceding said each loop.

References Cited (Backward Citations)

US4398249A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1992-02-21 1992-08-22 1993-02-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1996-02-21 1996-08-22 1997-02-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2000-02-21 2000-08-22 2001-02-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag