Browse Prior Art Database

Overlapped Field Processing

IP.com Disclosure Number: IPCOM000077173D
Original Publication Date: 1972-Jun-01
Included in the Prior Art Database: 2005-Feb-25
Document File: 2 page(s) / 32K

Publishing Venue

IBM

Related People

Sutton, VH: AUTHOR

Abstract

Certain programming languages allow data structures to be defined in such a manner that a field of characters or bits may be subdivided into overlapping subfields or substrings. During the course of compilation of a program written in such languages, it is first necessary to determine the extent of the overlap and to further divide the overlapping fields into nonoverlapping parts and record the statement usage for each part. The algorithm described below is for this purpose.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Overlapped Field Processing

Certain programming languages allow data structures to be defined in such a manner that a field of characters or bits may be subdivided into overlapping subfields or substrings. During the course of compilation of a program written in such languages, it is first necessary to determine the extent of the overlap and to further divide the overlapping fields into nonoverlapping parts and record the statement usage for each part. The algorithm described below is for this purpose.

First assume that one field called the current field has already been processed and that a table 10 is set up, which defines this field in terms of the current field starting point CS and current field end point CE, these being some reference value against which comparisons may be made. Assume also an input field defined in table 11 in terms of its start and end points IS and IE. A simple comparison of these values with those of the current field provides an indication of an overlap situation. There are thirteen different types of overlap, described below, of which type 4 is shown in the drawing. In this example, the algorithm will in a single pass define the overlap in terms of three tables 12-14, which break the fields into nonoverlapping parts. Where the input field has a part that extends beyond the current field, as defined in table 14, that field can then become a new input field for comparison against any other fields of a chain of which the current field may be a part. In accordance with the algorithm, a single pass is made and three tests are performed to provide this conversion. The three tests are: 1) Is IS less than CS: Yes, set "sostart" to CS and then create a new substring covering IS to CS-1 and show it used by input statement. No, set "sostart" to IS and then if CS and IS are not the same then change the current string to end at IS-1. 2) Is IE less than CS: Yes, set "soend"...