Browse Prior Art Database

Statement Type Extension of Basic Keyword Conflict Detection Scheme

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

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. It is also desirable to identify keyword sensitive conflicts and 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. 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 complex compiler code and have no clear external definition.

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

Page 1 of 4

Statement Type Extension of Basic Keyword Conflict Detection Scheme

When compiling computer programs or commands, it is necessary to ensure that valid combinations of keywords are specified on command statements. It is also desirable to identify keyword sensitive conflicts and 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. 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 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. In an AND operation, a zero 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 the 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 two 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 for each of these two functions. The accumulation section deals with the keywords that have been specified. The conflict section of a mask is used to indicate what keywords are compatible or in conflict with the associated keyword. The user specified the bits in both sections. In addition to these two sections, a set membership section is added to each of the masks to allow the accumulation of indicators on sets that contain all of the processed keywords. The set section consists of one bit for each subset of keywords that exists in the super-set. For example, if there are three...