Browse Prior Art Database

Set-Dependent Extension of Statement Type Conflict Detection Scheme

IP.com Disclosure Number: IPCOM000043282D
Original Publication Date: 1984-Aug-01
Included in the Prior Art Database: 2005-Feb-04
Document File: 3 page(s) / 70K

Publishing Venue

IBM

Related People

Olson, D: AUTHOR

Abstract

When compiling computer programs or commands, it is necessary to ensure that valid combinations of keywords are specified on command statements, to identify keyword-sensitive conflicts and statement types, and to detect conflicts where keywords may have different conflicts on different statement types. Many programming languages have statements which follow a common syntax but which have different functions depending on the keywords specified on those statements, and it is also possible that two keywords may conflict when associated with one statement type but not when associated with another. Prior techniques have not guaranteed complete coverage of valid and invalid cases. Strictly pair-wise checking techniques require testing of all combinations of pairs of keywords to ensure that no conflicts exist.

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 53% of the total text.

Page 1 of 3

Set-Dependent Extension of Statement Type Conflict Detection Scheme

When compiling computer programs or commands, it is necessary to ensure that valid combinations of keywords are specified on command statements, to identify keyword-sensitive conflicts and statement types, and to detect conflicts where keywords may have different conflicts on different statement types. Many programming languages have statements which follow a common syntax but which have different functions depending on the keywords specified on those statements, and it is also possible that two keywords may conflict when associated with one statement type but not when associated with another. Prior techniques have not guaranteed complete coverage of valid and invalid cases. Strictly pair-wise checking techniques require testing of all combinations of pairs of keywords to ensure that no conflicts exist. This is very time consuming and difficult to automate. Typically, the statement types are identified only through the logic of complex compiler code and have no clear external definition. The solution to this problem involves the use of masks to show relationships between keywords and the use of AND or OR logic to accumulate results. The difference between AND and OR logic is in which of the two possible values for a bit is dominant. That is, if masks are ANDed together, each bit position in the result will be zero if either or both of the operands have zero values in the corresponding position. This fact allows the accumulation of zero values as composite results when combining masks. Similarly, a one bit value is dominant in an OR operation. Thus, OR operations can be used to accumulate one values as the composite results. The technique of this invention can use either AND or OR operations, but for purposes of the examples given, AND operations are used. For purposes of the technique described, masks are collections of bits that are related in particular ways. There is a set of masks for each set of keywords, each mask being associated with one keyword. Each mask contains at least three bits for each keyword in the set. The values of these bits for both the associated keyword and the other keywords in the set provide the basis that allows the invention to work. There are two functions which are accommodated by the techniques of the invention: 1. Accumulate (or restrict) the set of keywords that are valid with all of the previously

processed keywords. 2. Accumulate a usable list of the keywords that have been specified. There is a separate section in the masks...